LAYER 05 · 从单 Agent 扩到协作系统
Goal、Plan Mode 与 Todo
三个相似概念分别拥有长期目标、协作模式和当前清单,不能压成一个数组
goal state · plan mode · todo projection为什么 Todo 已全部完成,不一定意味着 Goal 已经完成?
先建立直觉
Goal 是合同交付结果,Plan Mode 是双方当前的协作流程,Todo 是施工现场今日清单。清单清空只说明一批工作做完,不自动证明合同验收通过。
MECHANISM
机制拆解
ctx.goals 从 goal/* SessionEvent 折叠带 revision 的持久状态,并在进程内维护 continuation 激活;goal-round-driver 决定轮次延续。
plan-mode 记录模式与计划状态;todo_write 记录全量三态列表快照。三者独立投影、独立不变量、独立 UI。
第 1 步 / 共 5 步
创建持久目标
目标定义成功条件与 revision。
INVARIANTS
无论怎么扩展,都不能破坏
- Goal revision 防止基于旧状态更新
- Todo 列表 last-write-wins 且无需稳定 item id
- Plan 退出 schema 在状态转换期间保持稳定
FAILURE MODES
最容易踩中的坑
- ×用 Todo 完成率推断 Goal 状态
- ×把 Plan 当模型内部隐藏思维
- ×Goal continuation 无上限自旋
VERIFY IN SOURCE
不要相信结论,去源码里复核
以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。
KNOWLEDGE CHECK
先停十秒,再揭晓答案
TodoItem 为什么故意没有稳定 id?
为什么下一章紧接在这里
有了持久目标与当前工作状态,下一章讨论如何把子任务交给其他 Agent,并把长工作登记为 Job。