第十六节 计划与待办
16.1 计划(Plan)
筹划模式下,助手通常会输出一段结构化计划:
- 总目标
- 阶段划分
- 每阶段的输入 / 输出 / 风险
计划以独立卡片浮层显示,可:
- 接受(进入执行)
- 修改(在线编辑后再交回助手)
- 拒绝(让助手重新规划)
16.2 待办(Todo)
执行过程中助手会动态维护一份待办清单,逐项标记进度:
- 待办
- 进行中
- 完成
- 跳过 / 失败
待办列表实时显示在「待办」状态条里(形态见 §5.5.1),你可以随时补充 / 调整条目。
手工删除某一项:未完成的条目(待办、进行中)行尾有「删除」按钮,已完成的条目不显示,避免误删。会话运行中按钮置灰(「会话运行中,结束后可删除」),等本轮结束再删。删除会作为一条隐藏记录写进会话历史,并告诉 Agent 这是你的明确决定、不要加回 —— 因此重开会话、上下文压缩、重启之后都不会复活。
16.3 跨折叠保留
历史折叠(见第十七节)发生时,计划与待办的结构化状态完整保留,不会被压缩为模糊摘要。这意味着即使会话已经很长,AVL Code 仍然清楚"我在做什么、做到哪一步"。
16.4 Turn 终点 todo 核对
一轮收尾时(isGoalTurnFinalRecord 命中),如果待办清单仍有未完成项,并且这一轮在最后一次更新清单之后还调用过其他工具,AVL Code 会自动补一条隐藏 user 消息(source = auto_todo_nudge),让 Agent 只核对清单:已完成的标 completed、与实际做法不符的改写、不再需要的删掉,然后结束这一轮。
- 只记账,不督办:核对这一轮明确要求 Agent 不去执行未完成项,也不追问你要不要继续 —— 推进任务是你(或会话目标)的事,核对只保证清单与实际一致。
- 不白跑:干完活已经顺手更新过清单的一轮、只是问答没调工具(或只调了提问、工具加载、记忆检索这类辅助工具)的一轮、你手动停止的那一轮,都不会触发核对;核对这一轮结束后也不会接着再核对。读取与分析类工具算干活 —— 很多待办正是靠分析完成的。
- 能搭车就不多跑:这一轮本来就有目标续转、历史折叠续跑等自动消息要发时,核对只作为一句"顺带核对清单"附在那条消息里。
- 与 goal 自动续转、compact nudge 同族,是 turn 终点的另一名成员。
- 隐藏 user 消息:不进入正常对话流可见区,但 Agent 能读到并响应。
16.4.1 给模型一个"体面的停下"
你说了「先停一下」之后,助手可以自报暂停 —— 输出一个内部标记表示「已按你的要求暂缓这些待办」,此后不再自动核对,直到待办清单真的发生变化(划掉某项或重写成新任务)。干活的一轮以向你提问收尾时同样视为在等你,暂不核对。
- 这个标记不会出现在正文里,你看到的回复干干净净;它在轨迹面板里作为「自报暂停」步可见,聚合卡上也有「暂停待办」计数(见 §9.4.2)。
- 暂停意图能跨越上下文压缩保留 —— 压缩之后不会"忘了你说过停"又重新开始核对。
- 卡住时可以向你求助:助手确实推进不下去时会发起询问、把问题摆给你等答复(此前这条求助通道被内部白名单误拦,于是模型卡住了也无处求助)。
- 没人指派的子任务不会弹表单打断你:询问求助只发生在你实际在场的会话里;无人值守的场景下也不会让一个没人回应的表单在那里空等。
- 重启不失忆:暂停意图随会话保存,重启后继承;一轮停在工具调用中途(异常收场)时也会补一次核对。
16.5 会话目标(Goal)与自动续转
会话目标条(状态条里的「目标」项,形态见 §5.5.1)用来给这个会话定一个总目标,让助手朝着它持续推进。
面板里能直接改:点开目标浮窗后可以就地编辑目标内容与 Token 预算:
- 改目标内容会把状态拉回「进行中」,并在下一轮向助手注入更新后的引导;只改预算不影响进度。
- 预算留空 = 不限;预算用尽时助手进入收尾模式、不再开启新工作,你可以点「继续」放行,或直接把预算调大。
- 也可以用斜杠命令:
/goal <目标>设置、/goal budget <N>调预算、/goal pause/resume/complete/clear。
状态与「暂停中」:
| 状态 | 含义 |
|---|---|
| 进行中 | 正在朝目标推进 |
| 已暂停 | 你手动暂停了 |
| 暂停中(空闲态) | 目标还在,但当前没有助手在执行,所以没人推进它 |
| 已完成 / 预算耗尽 | 结束态 |
「暂停中」时浮窗上有「继续推进」按钮,点一下助手就接着朝目标干;点击后到真正起跑之间的那一小段窗口里不会再误显示「暂停中」。
空转会被拦住:目标的自动续转加了停滞感知 —— 连续几轮没有实质进展就停手,不会把预算一路烧到上限。子任务在跑时停滞感知会冻结(父会话只是在等子任务并不算"卡住"),这些等待轮次也不计入续转轮数上限。
目标与待办并行不打架:目标续转与待办核对搭同一条注入通道 —— 需要核对时只作为附言并进续转消息,不会互相饿死(此前两者会抢同一个出口,导致其中一个长期不生效)。
计数显示可切换:目标条上的 Token 用量数字点一下就换一种显示方式(原始 / 千分位 / 紧凑 / 百分比),长会话里看大数字不再费劲;有子代理时可展开「自身 / 子代理 / 工具调用」的构成。
