goal_state_planning_lab进阶约 95 分钟
6C-实验
目标实验室:把长期任务写成状态、依赖与重规划
参考:来源 F · 第 6、11、20 章进阶
学完你能做到
- 设计机器可检查的目标契约
- 用依赖图表达计划而非纯文本清单
- 处理目标漂移、阻塞和动态重规划
“完成一份高质量报告”对人来说有方向,对程序却无法判定。长期 Agent 需要把目标写成状态转换:初始状态是什么、允许哪些动作、哪些前置条件成立、什么证据代表完成、什么情况必须停止。
| 目标契约字段 | 作用 | 错误示例 | 可执行写法 |
|---|---|---|---|
| 结果 | 定义最终变化 | 研究一下市场 | 交付含 5 个可验证来源的三方案比较 |
| 成功判据 | 让系统知道何时停 | 写得详细 | 覆盖价格、风险、证据和建议四部分 |
| 约束 | 限定合法路径 | 注意安全 | 禁止购买;外发前必须确认;预算 20 元 |
| 状态 | 记录当前进度 | 已经做了一些 | 检索完成 4/5;冲突证据 1 条待处理 |
| 失败政策 | 定义重试和升级 | 失败就再试 | 同类工具失败 2 次后换源,仍失败则交接 |
计划需要哪些运行状态
pending:前置条件尚未满足;ready:现在可以执行;running:已获得执行权。blocked:缺工具、权限、资料或人工决定;必须记录阻塞原因。succeeded:不仅动作成功,还产生了验收证据;failed:保留错误类别和已尝试方案。skipped:因目标变化不再需要;不能假装它已成功。
重规划不是推倒重来
on_event(event):
state = reduce(state, event)
if violates_goal_contract(state): stop_and_escalate()
if invalidates_plan_assumption(event):
preserve_completed_evidence()
plan = replan(remaining_goal, current_state, remaining_budget)
schedule(plan.ready_tasks())长期任务建模
30 分钟- 把“完成一次论文专题研究”写成目标契约。
- 画出至少六个任务节点及其依赖和可并行关系。
- 加入来源失效、用户改题、预算过半三个事件,分别说明是否重规划。
综合演算:把跨周项目变成可恢复的目标图
发布一门在线课程涉及内容、审核、视频、支付和上线,多条链并行且会反复返工。线性 Todo 无法表示阻塞、版本和部分完成。
本节追问:怎样用目标图支持并行、重规划和中断恢复? 先不要急着看结论。沿着下面四步,逐项区分输入、决策、证据和失败信号。
| 阶段 | 本步要做的决定 | 什么算证据 | 最常见的失败 |
|---|---|---|---|
| 拆成果树 | 从“成功上线”反推内容、平台、合规与运营成果 | 叶节点均可独立验收 | 按部门罗列动作而非用户结果 |
| 连依赖边 | 标出必须先后、可并行和共享资源 | 关键路径和阻塞节点可计算 | 所有任务默认相互独立 |
| 保存检查点 | 持久化节点状态、证据、负责人和版本 | 重启后无需依赖对话记忆 | 只保存一句进度摘要 |
| 重规划验证 | 输入“审核驳回”事件,只重开受影响节点 | 旧成果是否仍有效有明确判断 | 不区分失效与仍可复用产物 |
阅读方式:先遮住后两列自己回答,再用“证据”和“失败”两列检查理解。
常见误解
用一份不断增长的自然语言计划追踪项目
实际上
可观察症状:状态含糊、并发覆盖、无法机器判断完成。
更可靠的修复:用结构化目标图承载状态,语言模型负责解释与提出修改。
案例工作坊 · 建议真正动手完成
25 分钟- 画出至少十二个节点的课程发布目标图。
- 标记关键路径、两个并行分支和一个共享资源冲突。
- 模拟审核驳回并写出状态迁移。
查看参考答案
长期目标需要外部化为可持久化的图或状态机。节点表示结果,边表示依赖,证据支持完成判断;重规划只改变受新事件影响的部分。
迁移检查:换一个场景还会不会
目标图中最适合存为节点证据的是?