① 核心 AgentLoop:一次 ReAct 迭代 编排
每一轮都走完 6 个阶段并回到起点,直到模型不再产出工具调用。中心是 AgentLoop,它贯穿持有状态的 RuntimeContext。点击任意阶段看职责与代码位置;「播放」会按真实顺序走一遍。
点「播放一次完整流转」,或悬停 / 点击左侧任意阶段。
循环不变量:所有事件都包在 EventEnvelope(eventId / timestamp / runId)里,供 SSE 去重、回放与 Trace 对齐。
③ 横切关注点 契约
暂停 / 取消与事件信封贯穿整个 Loop,不绑定某一步。
⏸ 协作式暂停(POST /api/chat/pause)
任一处命中取消信号 → 追加 ABORTED 消息 → agent_end(status=cancelled) 收束。不强行杀正在执行的模型请求或子进程。
✉️ 事件信封 EventEnvelope
eventId : 事件唯一 ID(SSE 去重)
timestamp : 产生时间
runId : 关联 RuntimeContext(Trace 对齐)
事件类型:turn_start / model_retry / tool_call_start / tool_execution_end / tool_result / user_input_required / tool_permission / agent_end …
④ 规划中(不在当前 v1 循环内) 后续
当前 Loop 是单 Agent Core。以下能力按迭代顺序在 Core 稳定后再吸收——加新功能时,把它们对应的模块补进环路即可。
Harness(第二阶段)
- 记忆 Memory
- 技能 Skills
- 计划 Planning
- 子 Agent
- 沙箱 Sandbox
Service(最后阶段)
- 控制面 Control Plane
- 托管 Hosting
- 跨 Agent 编排
- 分布式状态