一个 turn 的执行流

认领输入后组装 prompt,模型往返、工具管线各走一趟;持久事件同步落日志,欠请求就再走一个 step

一个 turn 的执行流 认领输入后组装 prompt,模型往返、工具管线各走一趟;持久事件同步落日志,欠请求就再走一个 step agent/request(从日志推导历史) pre-step 先组装 prompt 段与工具 schema,可改写或拒绝 llm/stream:chunk* 汇成 assistant/message assistant/message 追加落日志 tool/call* pre-execute → 守卫 → execute → post-execute tool/result* tool/call · tool/result 追加落日志 欠请求 / 新输入 → 下一 step 否则 agent/turn-stopping 收尾 step/end · turn/end 模型往返 工具管线 收回合 / 下一步 回合驱动 · agent-loop · pre-step · Sequence participant 回合驱动 agent-loop · pre-step 模型 · ctx.llm 适配器 · Sequence participant 模型 ctx.llm 适配器 工具管线 · ctx.tools · Sequence participant 工具管线 ctx.tools 会话日志 · ctx.sessions · Sequence participant 会话日志 ctx.sessions Legend 主干请求 回传结果 下一步 / 收回合 落日志

回合与 step

  • • turn 是零或多个 step;step = 一次模型请求 + 它触发的工具调用
  • • 工具还欠请求,或 next-step 输入到达,就再走一个 step
  • • agent/turn-stopping 可提前收尾

模型可见即已记录

  • • 凡进入模型请求的东西,都必须能从会话日志重建,有运行时不变量执法
  • • assistant 消息与工具结果都是持久会话事件
  • • fork / resume / 转写 / 遥测都从这条日志派生

工具管线是可扩展瀑布

  • • pre-execute 决定 allow / deny / ask
  • • 守卫单调,只能收紧不能放开,监听顺序无法把拒绝翻回允许
  • • post-execute 可改写内容,或拦成纠错结果

三个事件域

  • • 会话事件:持久事实,广播到 session/event
  • • agent/*:携带在飞的 Agent,可观测可拦截
  • • 能力事件:把策略与适配器挂到 fs / tools / telemetry 接缝