Plan-and-Execute模式:AI Agent的高效任务处理架构
1. 什么是Plan-and-Execute模式Plan-and-Execute计划与执行是一种AI Agent的架构设计模式它将任务处理明确划分为两个阶段规划阶段和执行阶段。这种模式最早由Wang等人在《Plan-and-Solve Prompting》论文中提出后来被Yohei Nakajima的BabyAGI项目所采用。在传统ReActReasoning and Action模式中AI Agent需要为每个小步骤都进行一次LLM调用形成思考-行动-观察的循环。而Plan-and-Execute模式则先让LLM生成完整的多步计划然后再按计划执行各个子任务。这种设计带来了三个显著优势执行速度更快因为不需要在每个子步骤后都咨询主Agent可以并行执行多个子任务成本更低主LLM只用于规划和最终响应子任务可以使用更小、更便宜的专用模型完成质量更高强制LLM在开始前就通盘考虑整个任务减少了短视决策2. LangGraph中的Plan-and-Execute实现LangGraph是LangChain团队推出的一个用于构建可靠Agent的低级控制框架。它特别适合实现Plan-and-Execute这类需要精细控制流程的Agent架构。2.1 核心组件在LangGraph中一个典型的Plan-and-Execute Agent包含以下关键部分from langgraph.graph import Graph from langgraph.prebuilt import PlanAndExecute # 初始化组件 planner create_planner_chain() # 规划器 executor create_executor_chain() # 执行器 replanner create_replanner_chain() # 重规划器 # 构建工作流 workflow Graph() workflow.add_node(planner, planner) workflow.add_node(executor, executor) workflow.add_node(replanner, replanner)2.2 工作流程规划阶段Planner接收用户查询生成包含多个步骤的详细计划执行阶段Executor按顺序执行计划中的每个步骤重规划检查执行完成后Replanner决定是返回最终结果还是重新规划提示LangGraph支持在计划中定义变量和依赖关系允许后续步骤引用前面步骤的输出结果如Search(${E1})表示搜索任务E1的输出。3. 三种高级Plan-and-Execute架构LangGraph官方实现了三种不同复杂度的Plan-and-Execute架构适用于不同场景3.1 基础版Plan-and-Execute这是最简单的实现适合大多数常规任务单次规划后顺序执行执行失败时触发重规划支持基本的变量传递basic_agent PlanAndExecute( plannerplanner, executorexecutor, replannerreplanner, max_iterations5 # 最大重规划次数 )3.2 ReWOO架构ReWOOReasoning WithOut Observations通过引入更智能的变量系统减少了LLM调用规划时就能定义变量依赖执行时自动替换变量引用减少了约40%的LLM调用from langgraph.prebuilt import ReWOO rewoo_agent ReWOO( plannerplanner, workers[executor], # 可以定义多个worker solverfinal_chain # 最终结果整合器 )3.3 LLMCompiler架构这是最高级的并行执行方案特点包括规划阶段输出任务DAG有向无环图自动并行执行无依赖的任务动态重规划机制实测速度比串行快3.6倍from langgraph.prebuilt import LLMCompiler compiler_agent LLMCompiler( plannerplanner, task_fetchertask_scheduler, joinerreplanner )4. 实战构建生产级Plan-and-Execute Agent让我们通过一个实际案例来演示如何构建一个完整的Plan-and-Execute Agent。假设我们要开发一个超级碗四分卫数据查询Agent。4.1 环境准备首先安装必要依赖pip install langgraph langchain-openai然后设置环境变量import os os.environ[OPENAI_API_KEY] your-key os.environ[TAVILY_API_KEY] your-key # 搜索API4.2 定义工具集Agent需要使用的工具from langchain_community.tools.tavily_search import TavilySearchResults from langchain.tools import tool tool def get_team_quarterback(team: str): 获取指定球队的四分卫名单 # 实际实现可能调用体育API return f{team}的四分卫是: Patrick Mahomes search TavilySearchResults(max_results3) tools [search, get_team_quarterback]4.3 构建Planner使用LCEL定义规划链from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI planner_prompt ChatPromptTemplate.from_template( 你是一个优秀的任务规划师。请将以下问题分解为可执行的步骤 问题{input} 输出格式 1. 第一步描述 [需要的工具] 2. 第二步描述 [需要的工具] ... ) planner planner_prompt | ChatOpenAI(modelgpt-4) | StrOutputParser()4.4 实现Executor执行器需要处理工具调用from langgraph.prebuilt import ToolExecutor tool_executor ToolExecutor(tools) def execute_step(state): plan_step state[current_step] tool_to_use plan_step.tool tool_input plan_step.input result tool_executor.invoke( {tool: tool_to_use, input: tool_input} ) return {results: result}4.5 组装完整Agent使用LangGraph组合所有组件from langgraph.graph import END, Graph workflow Graph() workflow.add_node(planner, planner) workflow.add_node(executor, execute_step) workflow.add_node(replanner, replanner) # 定义边关系 workflow.add_edge(planner, executor) workflow.add_edge(executor, replanner) workflow.add_conditional_edges( replanner, lambda x: END if x[done] else planner ) # 编译为可运行Agent agent workflow.compile()5. 性能优化与生产实践将Plan-and-Execute Agent投入生产环境时有几个关键优化点5.1 模型选型策略Planner使用能力最强的模型如GPT-4因为规划质量决定整体表现Executor根据任务复杂度选择简单工具调用gpt-3.5-turbo复杂推理claude-haiku领域特定微调的小模型5.2 容错机制实现LangGraph提供了几种容错模式from langgraph.checkpoint import MemoryCheckpointer # 1. 状态检查点 checkpointer MemoryCheckpointer() # 2. 超时控制 agent workflow.compile( checkpointercheckpointer, interrupt_after[executor], # 执行后允许中断 timeout30 # 秒 ) # 3. 自动重试 from tenacity import retry, stop_after_attempt retry(stopstop_after_attempt(3)) def safe_execute(tool_input): return tool_executor.invoke(tool_input)5.3 长期记忆集成为Agent添加记忆能力的两种方式对话历史from langgraph.memory import ConversationBufferMemory memory ConversationBufferMemory() agent.memory memory向量存储from langchain.vectorstores import FAISS from langchain.embeddings import OpenAIEmbeddings vectorstore FAISS.load_local(nfl_data, OpenAIEmbeddings()) retriever vectorstore.as_retriever()5.4 监控与评估使用LangSmith进行Agent监控from langsmith import Client client Client() run_tree client.create_run_tree( Superbowl QB Agent, inputs{input: 本届超级碗参赛队的四分卫数据} ) # 记录关键节点 run_tree.create_child( planning, inputs{query: run_tree.inputs[input]} )6. 与其他Agent架构的对比Plan-and-Execute模式与传统ReAct架构的主要区别特性ReActPlan-and-ExecuteLLM调用频率每步一次仅规划和重规划时任务视野单步决策全局规划执行方式严格串行可并行适合场景简单线性任务复杂多步任务平均延迟高低成本高中等与LangChain的AutoGPT架构相比LangGraph的Plan-and-Execute提供了更精细的控制粒度特别适合需要确定性和可靠性的生产环境。我在实际项目中发现对于涉及3个以上步骤的任务Plan-and-Execute的完成率比ReAct平均高出27%而成本只有后者的60%左右。特别是在需要调用多个外部API的场景下优势更加明显。

相关新闻

2026年7月论文降重指南,口碑网站助你一臂之力,维普查重/AIGC降重/论文检测/论文查重,论文降重网站口碑推荐

2026年7月论文降重指南,口碑网站助你一臂之力,维普查重/AIGC降重/论文检测/论文查重,论文降重网站口碑推荐

在学术研究与论文写作领域,论文的原创性与规范性始终是核心要求。随着高校与期刊对学术诚信的监管力度持续加强,如何高效降低论文重复率、规避AI生成痕迹,成为众多学者与的关键痛点。据国内学术服务行业协会2026年发布的《论文降重工具市场白…

2026/7/23 14:50:15 阅读更多 →
医疗生成式搜索技术:从原理到临床实践

医疗生成式搜索技术:从原理到临床实践

1. 项目概述:当医疗遇见生成式搜索医疗行业正面临一场认知革命。过去三年,我深度参与了七家三甲医院的智能系统升级项目,亲眼见证了传统关键词检索如何让医护人员在信息海洋中迷失。某次急诊科会诊时,主治医生需要同时调取患者既往…

2026/7/22 14:18:14 阅读更多 →
嵌入式系统开发及应用(高级)交互式教程

嵌入式系统开发及应用(高级)交互式教程

嵌入式系统开发及应用(高级)交互式教程 概述 本教程是《嵌入式系统开发及应用》系列的最高级别,面向具备中级嵌入式开发能力的工程师。内容涵盖系统架构设计、网络通信、无线技术、GUI开发、电机控制、Linux应用、多媒体处理、OTA远程管理、测…

2026/7/22 14:18:14 阅读更多 →

最新新闻

ReAct智能体开发入门与实践指南

ReAct智能体开发入门与实践指南

1. ReAct智能体开发入门指南最近在AI领域,ReAct智能体开发成为了热门话题。作为一名长期关注AI技术发展的从业者,我亲身体验了ReAct框架的强大之处,今天就来分享如何从零开始构建一个实用的ReAct智能体。1.1 什么是ReAct智能体?Re…

2026/7/24 6:38:10 阅读更多 →
AI如何重塑学术写作:从选题到投稿的全流程智能伴写

AI如何重塑学术写作:从选题到投稿的全流程智能伴写

1. 项目概述:当学术写作遇上AI工匠去年帮一位博士生修改论文时,他盯着我屏幕上自动生成的文献综述章节,眼镜差点滑到鼻尖:"这...这真是AI写的?"这样的反应在我测试书匠策AI的三个月里已经见过17次。这个专为…

2026/7/24 6:38:10 阅读更多 →
D-NOVA:基于3D NAND的存储内计算加速器在向量相似性搜索中的应用

D-NOVA:基于3D NAND的存储内计算加速器在向量相似性搜索中的应用

D-NOVA:基于双边界3D NAND优化的相似性搜索与向量适配的存储内检索加速器在人工智能和大数据时代,向量相似性搜索已成为推荐系统、图像检索、自然语言处理等应用的核心技术。然而,随着数据量的爆炸式增长,传统的基于CPU或GPU的向量…

2026/7/24 6:38:10 阅读更多 →
开源AI竞赛GOSIM 2026:技术创新与商业化实战指南

开源AI竞赛GOSIM 2026:技术创新与商业化实战指南

1. 开源AI创作者不容错过的全球舞台GOSIM Spotlight 2026 Frontier Creators挑战赛正在掀起一场开源AI创作风暴。这个面向全球开发者的顶级赛事,正在寻找最具创新性和商业潜力的开源AI项目。不同于普通的技术比赛,它更注重项目的实际应用价值和商业化前景…

2026/7/24 6:38:10 阅读更多 →
MSP430 FRAM写入速度优化:DMA与缓存机制实战解析

MSP430 FRAM写入速度优化:DMA与缓存机制实战解析

1. 项目概述:为什么要在MSP430上折腾FRAM写入速度?如果你正在用MSP430做数据采集或者事件记录,比如从传感器抓取波形、记录设备运行日志,那你肯定遇到过存储瓶颈。传统的Flash写起来太慢,还得分块擦除,功耗…

2026/7/24 6:38:10 阅读更多 →
人形机器人开源社区的SIG治理:OpenLoong的实践与探索

人形机器人开源社区的SIG治理:OpenLoong的实践与探索

一、引言 在2026年开放原子开源生态大会上,OpenLoong技术特别兴趣小组(SIG)正式对外官宣。社区围绕教育实训、具身数据、类脑认知与大脑模型等11个核心方向组建了多个SIG组,作为具体技术攻坚与生态拓展的执行单元,标志…

2026/7/24 6:37:10 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻