规划模式
规划模式决定会话在每次 send 或 stream 回合之前做什么。开启规划后,模型会先为
请求写出一份结构化计划,会话再把它作为事件发布出来。它适合多步骤工作(重构、发布
评审、审计),让宿主 UI 在智能体开始修改之前就能展示任务清单。
通过会话的规划选项设置:Rust 和 Go 使用 PlanningMode,Node.js 使用
planningMode,Python 使用 planning_mode。可接受的值为:
使用 "enabled" 时,会话依次发出 planning_start、携带计划的 planning_end、
包含计划步骤的 task_updated,以及每个步骤一条状态为 pending 的 step_end。开启
目标跟踪时(Rust 中为 with_goal_tracking,Node.js 中为 goalTracking,Python 中为
goal_tracking,Go 中为 GoalTracking),planning_end 之前还会有一条携带目标的
goal_extracted 事件。这些事件也会记录到 run 上,因此宿主 UI 可以从 stream 事件或
run 的事件历史中渲染任务清单。如果规划调用遇到暂时性的模型错误,会话会改为发布一份
后备计划;取消、不可重试的 provider 错误或预算耗尽会让该回合失败。
计划是给宿主的指引,而不是另一个执行循环:回合仍然自行决定模型调用和工具调用。完成 证据仍然来自验证命令。