news 2026/4/23 18:45:58

AI工程化设计(五)Agent设计范式(2)Plan-and-Execute

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI工程化设计(五)Agent设计范式(2)Plan-and-Execute

Plan-and-Execute:比 ReAct 更“有全局观”的 Agent 设计范式

一、介绍

1. 什么是 Plan-and-Execute

Plan-and-Execute 是另一类非常重要的 Agent 设计范式,核心思想可以概括为一句话:

先把任务想清楚、拆清楚,再按步骤执行。

也就是把“规划(Plan)”和“行动(Execute)”明确分开。

如果说:

  • ReAct 更像是“边走边看”
  • 那 Plan-and-Execute 更像是“先做作战计划,再逐步落地”

它解决的不是“每一步怎么做”,而是:

整个任务应该怎么组织,才能更稳定地完成。


2. 它解决了什么问题

在复杂任务中,如果一上来就用类似 ReAct 的方式“边想边做”,很容易出现一些问题:

  • 只关注当前一步,忽略整体目标(局部最优)
  • 做着做着跑偏
  • 重复尝试同样的路径
  • 任务结构混乱,结果不成体系

Plan-and-Execute 的核心价值就在于:

用“先规划”来约束整个执行过程,让任务更有全局一致性。


3、为什么它很有价值

Plan-and-Execute 在复杂任务中表现更好的原因主要有:

1. 全局一致性更强

不容易做着做着偏题,输出结构更稳定。

2. 任务拆分清晰

每一步都有明确目标,方便跟踪和调试。

3. 更适合长链路任务

尤其是需要多阶段产出的任务(报告、项目、流程)。

4. 更容易插入人工控制

可以在关键步骤加入审批、确认。

5. 更适合并行化

某些步骤可以分配给不同 Agent 或系统同时执行。


尤其是在企业场景中,这一点非常重要:

很多任务本质上是:

  • 写文档
  • 跑流程
  • 调多个系统
  • 需要审计和复盘

这些都天然更适合“先规划”。


4、它的缺点

Plan-and-Execute 也有明显代价:

1. 计划可能不准确

一开始的信息不完整,计划容易偏。

2. 前期规划增加时延

相比直接执行,多了一步思考成本。

3. 小任务显得过重

简单问题不需要完整规划流程。

4. 环境变化时容易失效

计划如果不更新,会变成错误约束。

5. 执行层可能过于僵化

如果设计不好,会出现“按错计划认真执行”的问题。


可以总结为一句话:

它最大的风险不是“没想”,而是“想得太早、改得太晚”。


5、实践建议

如果你要在工程里落地 Plan-and-Execute,可以优先注意这几点:

1. 计划不要过细

太细会导致执行僵化,失去灵活性。

2. 明确每一步的输出

否则执行阶段很难判断“是否完成”。

3. 允许动态重规划

不要把计划当成不可变的真理。

4. 高风险步骤加人工确认

比如发邮件、改数据、调用外部系统。

5. 子任务内部用 ReAct

不要让 Execute 变成“死流水线”。

二、核心原理

1. 两阶段结构

Plan-and-Execute 通常分为两个核心阶段:

Plan(规划阶段)

在这个阶段,Agent 会:

  • 理解任务目标
  • 分析约束条件和输入
  • 拆分出可执行的步骤
  • 明确步骤之间的依赖关系
Execute(执行阶段)

在这个阶段,Agent 会:

  • 按计划逐步执行
  • 调用工具 / 查询数据 / 生成内容
  • 记录中间结果
  • 必要时调整计划

2. 一个标准流程

典型流程可以抽象成:

Goal → Plan → Step 1 → Step 2 → Step 3 → ... → Final Result

而不是:

Goal → 做一步 → 看结果 → 再决定下一步(ReAct)

不过需要注意一个关键点:

Plan-and-Execute 并不是“一次规划,永不修改”。

更准确的理解是:

👉以计划为主线的动态执行过程

执行过程中,如果环境发生变化,或者某一步失败,是可以回到规划层进行调整的。


3. Plan 阶段到底在做什么

很多人会把 Plan 简单理解为“列一个 TODO 清单”,其实远不止如此。

一个好的计划通常会结构化这些信息:

  • 最终目标是什么
  • 成功标准是什么
  • 有哪些前置依赖
  • 哪些步骤必须串行,哪些可以并行
  • 哪些步骤风险高,需要人工确认
  • 每一步的输入和输出是什么

重点不在于“步骤多”,而在于:

计划必须可执行、可检查、可调整


4. Execute 阶段在做什么

执行阶段也不是机械地“照单执行”。

一个成熟的执行过程通常包括:

  • 读取当前步骤
  • 选择合适工具执行
  • 检查结果是否达标
  • 记录状态(memory / log)
  • 决定是否进入下一步
  • 必要时回到 Plan 修正

这意味着:

执行层本身也可能包含推理和决策,而不是纯流水线。


三、两个典型例子

1. 写一份市场调研报告

用户需求:

帮我做一份关于 AI Coding Agent 市场格局的调研报告,包含竞品、定价、优势、风险和建议。

Plan 阶段

Agent 可能会先生成一个结构化计划:

  • 明确研究范围(仅 AI Coding Agent)
  • 收集主要竞品名单
  • 收集各产品的功能、价格、定位
  • 做横向对比分析
  • 总结市场趋势和风险
  • 生成最终报告
Execute 阶段

然后按步骤执行:

  1. 检索竞品名单
  2. 搜集产品资料(官网 / 文档 / 评测)
  3. 整理成结构化数据
  4. 做对比分析
  5. 输出报告

如果直接用纯 ReAct,也能做,但很容易:

  • 漏竞品
  • 结构混乱
  • 输出像“笔记拼接”,而不是完整报告

Plan-and-Execute 的优势在于:

👉先定义“成品应该长什么样”,再去填充内容。


2. 修复一个复杂 Bug(工程场景)

用户需求:

修复订单同步延迟的问题,并补上测试。

Plan 阶段

可能生成这样的步骤:

  1. 复现问题并确认触发条件
  2. 定位延迟发生环节
  3. 判断是队列积压、接口超时还是锁竞争
  4. 设计修复方案
  5. 修改代码
  6. 补充测试
  7. 验证并总结
Execute 阶段

逐步执行:

  • 查日志
  • 看监控指标
  • 阅读代码
  • 修改实现
  • 运行测试

这里有一个非常关键的点:

每一个子步骤内部,其实仍然可能使用 ReAct。


四、demo

import os from langchain_core.prompts import PromptTemplate from langchain_openai import ChatOpenAI BASE_URL = os.getenv( "LLM_GATEWAY_BASE_URL", "https://llm-gateway.xxx.xxx.xxx/v1", ) API_KEY = os.getenv("LLM_GATEWAY_API_KEY", "******") MODEL = os.getenv("LLM_MODEL", "gpt-5.1") llm = ChatOpenAI( model=MODEL, base_url=BASE_URL, api_key="dummy", default_headers={"X-Api-Key": API_KEY}, temperature=0, use_responses_api=False, ) plan_prompt = PromptTemplate.from_template( """你是一个 Planner。 请把下面的任务拆成 3-5 个清晰步骤,只输出计划,不要直接完成任务。 任务:{task} """ ) execute_prompt = PromptTemplate.from_template( """你是一个 Executor。 请严格根据下面的计划完成任务,输出最终结果即可。 任务:{task} 计划: {plan} """ ) def main() -> None: user_input = "写一份 AI Coding Agent 市场调研报告" plan_resp = llm.invoke(plan_prompt.format(task=user_input)) plan_text = (plan_resp.content or "").strip() print("=== PLAN ===") print(plan_text) execute_resp = llm.invoke( execute_prompt.format( task=user_input, plan=plan_text, ) ) print("\n=== FINAL RESULT ===") print((execute_resp.content or "").strip()) if __name__ == "__main__": main()

输出:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 18:45:57

论文AI率从50%降到10%!4个实用指令+3个技巧轻松过审

写完论文最闹心的是什么?重复率高已经够头疼,现在不少高校还加了AIGC检测,辛辛苦苦写的内容因为AI痕迹超标被打回,熬了好几个大夜改出来还是过不了,这种糟心的经历相信很多人都有过。 别着急!我前后花了一…

作者头像 李华
网站建设 2026/4/23 18:45:56

Lightrag的安装部署使用

ollama和lightrag包地址在结尾 一、前置安装工作 python安装 tar -zxvf Python-3.11.9.tgz cd Python-3.11.9 ./configure --prefix/usr/local/python311 make && make install ​ ln -s /usr/local/python311/bin/python3.11 /usr/bin/python311 ln -s /usr/local/…

作者头像 李华
网站建设 2026/4/23 18:42:24

开发者数字游民:全球薪酬套利——软件测试工程师的专业突围之路

在数字浪潮与人工智能技术的双重推动下,一种全新的职业形态正在全球范围内加速崛起。他们不再被束缚于北上广深的格子间,也不必忍受每日漫长的通勤。他们凭借一台笔记本电脑,就可以在苍山洱海的民宿里、巴厘岛的泳池边,或任何能接…

作者头像 李华