⏺ STARTentryNode 循环入口
▼
① beforeAgent Hook 链日志/权限前置(每轮前)
▼
② beforeModel Hook 链loopEntryNode 汇聚点 · 工具注入
▼
🤖 AGENT_MODEL · LLM 调用读 messages 返回 text / tool_calls
▼
③ afterModel Hook 链(反向)洋葱模型 · 最后注册最先看到 raw
▼
⚖️ 条件路由 makeModelToTools()loopExitNode · jump_to→tool→end→model
🔄 有 tool_calls → 工具执行 → 回 beforeModel(第②节点)继续循环
④ AGENT_TOOL · 工具执行并行工具 · 结果回写 全局状态
▼ return_direct 或无 tool_calls → 走向出口
⑤ afterAgent Hook 链审计/收尾
▼
⏹ ENDexitNode 出口
💡 这不是 while 循环——循环结构是编译产物(`loopEntry → MODEL → 路由 → TOOL → loopEntry` 显式成环),Checkpoint 每节点自动存盘、可中断恢复、可审计。