青蛙小白

Plan-and-Execute(规划与执行)

Plan-and-Execute 是一种 Agent Loop(智能体循环) 架构模式,核心思想是将 Agent 工作分为两个分离的阶段:规划(Planning) 阶段先由规划器生成完整的任务分解,执行(Execution) 阶段再由执行器逐步或并行完成各子步骤。

ReAct 的边推理边执行不同,Plan-and-Execute 在任何工具调用发生之前就完成整体计划——这使独立的子任务可以并行化,而不是被迫顺序等待。通过并行执行独立步骤,可实现数倍的任务完成速度提升。

与 ReAct 的区别

维度ReActPlan-and-Execute
规划时机每步推理后决定下一步执行前先完成整体规划
执行方式顺序,每步等上步结果独立子步骤可并行执行
适应中间结果灵活,可随时调整计划有限,计划生成后较难动态改变
适合任务依赖中间结果的探索型任务步骤相对独立的并行型任务

为何重要

并行化潜力是 Plan-and-Execute 的核心价值。纯顺序的 Agent 循环中,即使某些子任务互不依赖,也必须一一等待;Plan-and-Execute 通过提前规划识别出可并行的步骤,让多个执行器同步工作。这在以下场景中有明显效率优势:

  • 分析型任务:同时搜索多个不相关数据源
  • 代码生成:同时开发多个独立模块
  • 报告生成:并行收集不同维度的资料

局限性

  • 规划质量决定执行上限:规划器在没有执行证据的情况下做出完整分解,对需要探索的任务容易规划出错误路径
  • 执行反馈难以回流规划:若某步执行发现计划前提有误,整个计划可能需要推翻重来
  • 上下文压力:完整计划 + 各步执行结果快速填满上下文,需要配合 Context Engineering(上下文工程) 管理

Claude Code Plan Mode:Explore-Plan-Implement-Commit

Claude Code 将 Plan-and-Execute 实现为一个四阶段交互工作流,并在规划前加入显式的 Explore 阶段——解决了经典 Plan-and-Execute 的主要局限:在未充分理解代码库的情况下直接生成计划,容易规划出错误路径。

flowchart LR
    E[Explore\n读文件理解结构\n不做修改] --> P[Plan\n生成实现计划\n人工可审改]
    P --> I[Implement\n切出规划模式\n编码并验证]
    I --> C[Commit\n提交并创建 PR]

Explore:进入 Plan Mode,Claude 读文件、回答问题,不做任何修改。让 Claude 先摸清结构,再产出计划。

Plan:要求 Claude 生成详细实现计划,说明需要改动哪些文件、流程如何走。Ctrl+G 可将计划在文本编辑器里直接编辑,是整个工作流最重要的人工审查节点——此时改计划成本最低。

Implement:切出 Plan Mode,让 Claude 按计划编码,同时验证(运行测试/lint/构建),对照计划收敛。

Commit:提交并附上描述性 commit message,开 PR。

何时值得规划:能用一句话描述 diff 的任务(改错别字、加日志行、重命名变量)不需要规划;修改多个文件、方法不确定、不熟悉代码时,规划价值最大。规划既有效果也有开销——不要为了规划而规划。

Codex PLANS.md:把计划变成活文档

OpenAI Cookbook 的 PLANS.md 做法,是 Plan-and-Execute 在 Codex 长任务中的一种文档化变体。它通过 AGENTS.md 定义一个项目内 shorthand,例如 ExecPlan,说明复杂功能或重大重构要使用这种计划文档;再用 PLANS.md 规定计划文档的格式与维护规则。这里的 ExecPlan 只是示例中的任意叫法,不应被当成独立行业术语。

与普通 Plan-and-Execute 相比,PLANS.md 约束下的计划不只要求“执行前先规划”,还要求计划在执行中持续更新。Progress 记录当前完成状态,Surprises & Discoveries 记录意外发现,Decision Log 记录关键取舍,Outcomes & Retrospective 记录阶段结果。这样,即使任务持续数小时、上下文被压缩、执行者换手,后续 Agent 仍能从计划本身恢复目标、约束和验证路径。

这种做法也修正了经典 Plan-and-Execute 的一个弱点:计划一旦写完就僵化。它要求计划保持自包含且可修改,允许在原型验证、源码阅读或测试反馈后调整路线,并把改变原因写回文档。这让规划阶段不再是一次性猜测,而是一个可审查的状态容器。

现代工程化形态

Plan-and-Execute 的思路在 Loop Engineering(循环工程) 中以工程化方式延续:规划器生成任务分解后,多个执行 Agent 在独立的 Agent Worktree(Agent 工作树) 中并行完成各自子任务,最终合并审查。Dynamic Workflows(动态工作流) 把这一模式进一步产品化——编排脚本(workflow script)承担规划器角色,Runtime 调度多个 subagent 并行执行、记录状态、验证结果。

在循环演进中的位置

Plan-and-Execute 属于第二代(Gen 2,2022–2023)Agent Loop(智能体循环) 架构,与 ReActReflexion(反思) 同属这一代的代表性模式。三者各自探索提升多步 Agent 循环质量的不同路径:ReAct 引入显式推理轨迹,Reflexion 引入跨轮自我校正,Plan-and-Execute 引入执行并行化。

相关概念

参考来源
  1. 1. http://datasciencedojo.com/blog/agentic-loops-explained-from-react-to-loop-engineering-2026-guide/
  2. 2. https://code.claude.com/docs/en/best-practices
  3. 3. https://developers.openai.com/cookbook/articles/codex_exec_plans
评论