花开月下机器人 Spec-Superflow 确定性流水线、Agent Harness 架构
结合你之前关注的 Spec-Superflow 确定性流水线、Agent Harness 架构以及 Skill 工程化背景,
Codex 实践 Vol.04 的核心在于解决长周期任务中 LLM 容易出现的“目标漂移”和“步骤遗忘”问
题。通过引入显式的 Goal(目标) 与 Plan(计划) 双引擎机制,将模糊的长任务拆解为可追踪、可
校验的原子节点,实现从“概率性生成”到“确定性执行”的跨越。
一、 核心痛点:为什么长任务会失控?
上下文窗口衰减:随着对话轮次增加,初始需求在 Context Window 中的权重被稀释,LLM 逐渐偏
离原始意图。
缺乏状态锚点:传统 Chain-of-Thought (CoT) 是线性的,一旦中间某步出错,后续步骤无法自动纠
偏,导致“一步错、步步错”。
规划与执行耦合:LLM 同时负责“想怎么做”和“具体怎么做”,在高负载下容易顾此失彼,产生幻
觉或遗漏关键步骤。
二、 Goal-Plan 双引擎架构设计
该架构将长任务管理拆分为两个独立但协同的模块,形成闭环控制:
1. Goal Engine(目标引擎):定义“做什么”与“做成什么样”
结构化目标定义:不再使用自然语言描述需求,而是将其转化为结构化的 Goal Schema,包含:
Objective:核心业务目标(如“重构用户认证模块”)。
Constraints:硬性约束(如“必须兼容 OAuth2.0”、“禁止修改数据库 Schema”)。
Acceptance Criteria:验收标准(如“单元测试覆盖率 > 90%”、“API 响应时间 < 200ms”)。
动态目标校验:在每个执行节点结束后,调用轻量级 LLM 对比当前产出与 Acceptance Criteria,若未达标则触发重试或人工介入,防止目标漂移。
2. Plan Engine(计划引擎):定义“怎么做”与“下一步做什么”
动态 DAG 生成:基于 Goal,Plan Engine 自动生成有向无环图(DAG),将大任务拆解为依赖明确的子任务节点。
节点类型:代码生成、单元测试、文档审查、人工评审。
依赖关系:明确节点间的输入输出依赖(如“节点 B 必须等待节点 A 的输出文件”)。
弹性重规划:当某个节点执行失败(如编译报错、测试不通过)时,Plan Engine 不会直接崩溃,而是根据错误日志局部调整后续计划(如插入一个“调试修复”节点),而非从头重来。
三、 工程落地:Harness 中的状态管理
在 Agent Harness 运行时中,Goal 和 Plan 被持久化为状态对象,确保任务中断后可恢复:
表格
组件 存储内容 更新频率 作用
Goal State 原始需求、验收标准、当前完成度 任务启动时初始化,验收时更新 作为全局真理源,防止执行偏离初衷
Plan Graph 节点列表、依赖关系、执行状态(Pending/Running/Done/Failed) 每完成一个节点或发生错误时更新 指导执行引擎调度下一个动作
Execution Log 每个节点的输入、输出、错误日志、耗时 实时追加 用于复盘、调试及重规划依据
四、 实战流程示例:重构遗留代码
Goal 设定:
目标:将 legacy_auth.py 迁移至 FastAPI 风格。
约束:保留原有 JWT 逻辑,新增 Pydantic 模型。
验收:所有原有单元测试通过。
Plan 生成:
Node 1: 分析 legacy_auth.py 依赖。
Node 2: 生成 Pydantic Models。
Node 3: 重写 Auth Router。
Node 4: 迁移单元测试。
Node 5: 运行测试并修复报错。
执行与监控:
执行 Node 3 时,Harness 捕获到缺少依赖包错误。
Plan Engine 介入,在 Node 3 前插入“安装依赖”子节点。
执行完成后,Goal Engine 校验测试覆盖率,若低于 90%,触发 Node 6: “补充边缘案例测试”。
五、 核心价值
可解释性:用户可以随时查看当前的 Plan Graph,知道 Agent 正在做什么、接下来要做什么,消除黑箱焦虑。
容错性:局部失败不导致整体崩溃,通过动态重规划实现自我修复。
标准化交付:通过 Goal 的验收标准强制约束,确保最终产出符合工程规范,而非仅仅是“能跑的代码”。
需要我为你生成一份基于 LangGraph 实现的 Goal-Plan 双引擎状态机代码框架吗?可以直接用于构建你的长任务 Agent。