视频 04 来源笔记:Agent 的任务规划
来源元信息
- 讲者:小单说AI
- Bilibili:
BV13R9aB5EeL - 本地字幕:
从零实现自己的agent第四期:agent的任务规划.ai-zh.srt - 字幕覆盖:
00:00:00–00:09:28 - 对照材料:
bilibili-transcripts/04-Agent的任务规划.txt、ppt/第四期-agent任务规划.html - 对应代码:
step08_plan_todolist.py
按时间顺序的主题窗口
[00:00:00–00:00:44] 为什么已有 Agent 仍做不好复杂任务
前几步已经有循环、工具、Skill 和记忆,但复杂任务仍会漏步骤、重复步骤或中途停止。问题不在“模型不会列计划”,而在计划只存在于模型短暂的脑内文本。
[00:00:44–00:01:42] 仅靠系统提示不够
强制模型“先规划再执行”在简单任务中显得冗余,在复杂任务中又缺少可检查的强约束。提示词能建议行为,却不能充当可靠状态机。
[00:01:42–00:02:17] 可写入状态模型
每个计划项至少有 id、content、status。顺序、任务定义和执行状态被外置后,用户与 Agent 都能知道当前进度和未完成项。
[00:02:17–00:02:57] 用工具维护计划
Agent 在复杂任务中调用计划工具,创建步骤并将状态从等待更新为进行中、已完成。简单问答可以不启用计划,避免流程过重。
[00:02:57–00:03:39] Completion Guard
模型说“完成了”时,运行时检查是否仍有未完成项。有则把任务退回循环继续执行;全部完成后清空计划,防止污染下一轮。
[00:03:39–00:04:37] 代码的三处改动
新增 Todo 状态与更新函数、注册 update_todo 工具、在系统提示中加入使用规则。工具定义负责“怎么写状态”,提示负责“什么时候用”。
[00:04:37–00:05:18] 最终核验与状态重置
运行结束前读取 Todo 列表,未完成则反馈差距,完成则输出最终计划状态并清空。这个节点是规划与目标驱动之间的桥梁。
[00:05:18–00:06:11] 多步骤演示的计划生成
任务要求整理深度学习知识、生成 Markdown、再制作并保存 HTML。Agent 将目标拆为可观察的多个步骤,并显示当前执行项。
[00:06:11–00:07:19] 按状态推进
搜索、整理文档和生成网页依序进行,每完成一项立刻更新状态。日志让学习者能看到“计划现在在哪一步”,而不只看到最后答案。
[00:07:19–00:08:10] 产物验收
演示不仅查看模型总结,还回到桌面确认 Markdown 与 HTML 文件存在并打开网页。虽然验证仍偏人工,但已经体现“产物比自述可靠”。
[00:08:10–00:09:28] 教学仓库结构
视频说明 build-agent-example/code 与 doc 一一对应,累计 Step 让学习者比较新增能力。PPT、模块化工程和下一期 Subagent 形成进一步阅读入口。
主教学论点
规划的关键不是让模型多写一段计划,而是把计划变成可写、可读、可核验的外部状态。状态让复杂任务具备进度、恢复点和结束条件。
状态与流程
empty
→ create(todo[])
→ pending
→ in_progress
→ completed
→ completion guard
├─ incomplete: feed remaining items back
└─ all complete: emit result and clear需要额外设计的非法转换包括:跳过 in_progress、同时有多个互斥任务执行、完成后被无理由改回等待、重复 ID 和空内容。
演示序列
- 输入同时要求知识搜集、Markdown 和 HTML 的任务。
- 观察计划列表是否覆盖所有产物。
- 每次工具调用后检查 Todo 状态。
- 模型准备回答时触发未完成项检查。
- 在文件系统中验证两个产物。
- 确认下一轮开始时旧计划已清空。
术语与纠正
- 自动字幕中的
station应为status。 - 文本稿一处将
update_todo写成update_tool_use,固定代码与文档以update_todo为准。 - “计划完成”与“目标完成”不同:Todo 全绿只能证明模型更新了状态,除非每项状态由确定性证据支持。
需要工程限定的说法
- TodoList 不会自动保证“不遗漏”,拆分本身仍可能错误。
- 状态更新由同一个模型发起时,模型可能过早标完成;关键步骤应由测试或 Verifier 决定。
- 无上限地把未完成项退回会造成死循环,应设置迭代、成本和时间预算。
- 清空状态前应保存运行轨迹,方便审计、评估和恢复。
- 并行任务不能只用顺序 ID 表达,需要依赖图、资源锁或显式前置条件。
来源映射
- CAE:
step08_plan_todolist.py、doc/step08_plan_todolist.md。 - 《深入理解 AI Agent》:第 1 章“工作流与自主”;第 2 章核心循环的最大迭代限制;第 6 章可验证任务;第 8 章轨迹闭环。
- Mini Emperor:
goals.py的目标状态,agent.py的最大迭代与事件;完整 Todo 状态机是正文实验。 - 进入正文:
book/04-任务规划.md、reference/state-and-events.md。
内容差异与待核对
- PPT 用“PLAN STATE / OPERATING RULES / COMPLETION GUARD”三页压缩主线,与本笔记的状态、提示规则、结束核验对应。
- 视频说“通过 TodoList 完美完成、没有遗漏”是演示结论,不应推广为可靠性保证。
- 本地字幕与仓库文本的时间点有少量毫秒差,本笔记采用本地 SRT 可定位的整秒窗口。