LAYER 05 · 从单 Agent 扩到协作系统

Goal、Plan Mode 与 Todo

三个相似概念分别拥有长期目标、协作模式和当前清单,不能压成一个数组

18 min3 处源码锚点upstream@47f9438
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。

Learn DeepSeek Harness

独立教学项目。解释力来自源码,判断边界以官方仓库为准。