当前位置: 首页 > article >正文

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

Plan-and-Execute比 ReAct 更“有全局观”的 Agent 设计范式一、介绍1. 什么是 Plan-and-ExecutePlan-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 阶段然后按步骤执行检索竞品名单搜集产品资料官网 / 文档 / 评测整理成结构化数据做对比分析输出报告如果直接用纯 ReAct也能做但很容易漏竞品结构混乱输出像“笔记拼接”而不是完整报告Plan-and-Execute 的优势在于先定义“成品应该长什么样”再去填充内容。2. 修复一个复杂 Bug工程场景用户需求修复订单同步延迟的问题并补上测试。Plan 阶段可能生成这样的步骤复现问题并确认触发条件定位延迟发生环节判断是队列积压、接口超时还是锁竞争设计修复方案修改代码补充测试验证并总结Execute 阶段逐步执行查日志看监控指标阅读代码修改实现运行测试这里有一个非常关键的点每一个子步骤内部其实仍然可能使用 ReAct。四、demoimport 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( modelMODEL, base_urlBASE_URL, api_keydummy, default_headers{X-Api-Key: API_KEY}, temperature0, use_responses_apiFalse, ) 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(taskuser_input)) plan_text (plan_resp.content or ).strip() print( PLAN ) print(plan_text) execute_resp llm.invoke( execute_prompt.format( taskuser_input, planplan_text, ) ) print(\n FINAL RESULT ) print((execute_resp.content or ).strip()) if __name__ __main__: main()输出

相关文章:

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

Plan-and-Execute:比 ReAct 更“有全局观”的 Agent 设计范式一、介绍1. 什么是 Plan-and-ExecutePlan-and-Execute 是另一类非常重要的 Agent 设计范式,核心思想可以概括为一句话:先把任务想清楚、拆清楚,再按步骤执行。也就是把…...

iFakeLocation:跨平台iOS虚拟定位技术深度解析与实战应用

iFakeLocation:跨平台iOS虚拟定位技术深度解析与实战应用 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation iFakeLocation是一款创新的跨平台iOS…...

Windows Cleaner:当C盘爆红时,你的Windows系统救星来了!

Windows Cleaner:当C盘爆红时,你的Windows系统救星来了! 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为电脑越来越慢而…...

生产PVC喷墨白卡工厂推荐

在当今的商业社会中,PVC喷墨白卡的应用越来越广泛,无论是在广告宣传、身份识别还是产品标签等领域,都能看到它的身影。然而,市场上PVC喷墨白卡的质量参差不齐,选择一家靠谱的生产工厂至关重要。今天,就为大…...

Layerdivider:让每张图片都能像洋葱一样层层剥开的魔法工具

Layerdivider:让每张图片都能像洋葱一样层层剥开的魔法工具 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 想象一下,你有一张美丽…...

生产覆膜白卡公司推荐

在当今的商业社会中,各类卡片的使用场景愈发广泛,覆膜白卡作为其中一种重要的卡片类型,其质量和适用性备受关注。如果你正在寻找一家可靠的覆膜白卡生产公司,那么广州杰众智能科技有限公司绝对值得考虑。一、公司实力与信誉有保障…...

游戏分服总跨大区:如何用IP精准定位服务避免跨运营商分配?

一、一个常见但少被量化的痛点 某款MOBA游戏在大促期间收到大量玩家投诉:“匹配后延迟从20ms跳到120ms,角色卡顿”。排查发现,问题根源在于IP定位数据将部分南方电信用户错误判定为北方联通节点,导致跨运营商、跨大区分配。这种错…...

告别马赛克:实测用CodeFormer给AI生成的脸部图片‘补妆’与高清化

用CodeFormer为AI生成人脸打造电影级精修方案 当你在Stable Diffusion中生成了一张构图完美但面部细节模糊的肖像,或是在Midjourney里得到了五官轻微扭曲的虚拟角色时,那种"差一口气"的遗憾感,每个AI绘画玩家都深有体会。传统的高清…...

灾难恢复开发:高薪冷门赛道

在数字化浪潮席卷全球的今天,企业运营的神经中枢已全面接入信息系统。然而,数据中心的火灾、突发的网络攻击、自然灾害的侵袭,乃至一次人为的误操作,都可能让承载核心业务的系统瞬间瘫痪。对于大多数软件工程师而言,日…...

模型审计师崛起:AI可解释性需求

从黑盒到白盒,测试专业的新疆域在人工智能技术以前所未有的深度渗透到软件研发全流程的今天,传统的软件测试边界正在被重新定义。过去,测试工程师的核心职责是验证代码逻辑、保障功能正确性与系统稳定性。然而,随着AI模型从辅助工…...

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

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

全栈测试架构师养成路线图:构建从技术纵深到业务全景的复合能力体系

在数字化转型与敏捷交付成为主流的今天,软件测试的角色正经历着深刻的范式转移。传统的测试执行者已难以满足高质量、高效率交付的需求,市场正呼唤着能够贯通前后端、横跨技术与业务的战略性人才——全栈测试架构师。这一角色不仅是测试专家,…...

Android应用冷冻神器:雹(Hail)让你的手机焕然一新的终极指南

Android应用冷冻神器:雹(Hail)让你的手机焕然一新的终极指南 【免费下载链接】Hail Disable / Hide / Suspend / Uninstall Android apps without root. 项目地址: https://gitcode.com/gh_mirrors/ha/Hail 你是否曾经为手机越来越慢、…...

Windows程序完全隐藏运行:专业级后台进程管理终极解决方案

Windows程序完全隐藏运行:专业级后台进程管理终极解决方案 【免费下载链接】RunHiddenConsole Hide console window for windows programs 项目地址: https://gitcode.com/gh_mirrors/ru/RunHiddenConsole 在Windows系统自动化工作中,你是否经常被…...

别再死记硬背了!用Python+Matplotlib手把手仿真四种脉冲雷达信号(附完整代码)

PythonMatplotlib实战:四种脉冲雷达信号仿真与可视化解析 雷达信号处理是电子工程领域的核心技能之一,但传统教材中复杂的数学公式常常让初学者望而生畏。本文将用Python代码可视化分析的方式,带你亲手构建四种典型脉冲雷达信号模型&#xff…...

PIC单片机触摸按键实战:从零手搓代码到调用Microchip官方库(PIC16F1937为例)

PIC单片机电容触摸按键开发实战:从寄存器配置到Microchip MLA库应用 在智能家居控制面板、工业HMI界面等嵌入式应用中,电容触摸按键因其无机械磨损、防水防尘的特性逐渐取代传统机械按键。PIC16F1937作为Microchip旗下集成电容传感模块(CPS)的中端8位单片…...

Azure机器学习在游戏AI中的应用与优化实践

1. 项目背景与获奖概况2016年微软Azure机器学习大赛的获奖作品是一个将机器学习与游戏设计完美结合的创新项目。这个项目之所以能从众多参赛作品中脱颖而出,关键在于它巧妙地解决了传统游戏AI的局限性问题——通过云端机器学习服务,实现了真正具有学习进…...

别再手动画湖了!用GEE和Sentinel-2数据,5分钟自动提取武汉东湖最新水域范围

5分钟自动化提取水域范围:基于GEE与Sentinel-2的高效水体识别方案 清晨的湖面泛着微光,水域边界随着季节更替悄然变化。传统的手动勾画方法不仅耗时费力,还难以捕捉这种动态变化。现在,借助Google Earth Engine(GEE&am…...

C++26反射元编程安全性实战:5大高危陷阱识别、3层编译期校验、1套可审计API设计规范

第一章:C26反射元编程安全性全景概览C26 正式引入基于 std::reflexpr 的静态反射(Static Reflection)核心设施,标志着元编程范式从模板元编程(TMP)和 constexpr 编程迈向可验证、可审计的声明式元操作阶段。…...

告别BlueZ 4.x时代:为什么你的蓝牙音响连不上?详解BlueZ 5与PulseAudio的协作原理

蓝牙音频技术演进:从BlueZ 4.x到现代音频栈的架构变革 在嵌入式Linux开发中,蓝牙音频连接问题一直是个令人头疼的"玄学"问题。许多开发者都有过这样的经历:明明昨天还能正常工作的蓝牙音响,今天突然就无法连接了&#x…...

5步实现电视盒子改造:从安卓到高性能Linux服务器的完整指南

5步实现电视盒子改造:从安卓到高性能Linux服务器的完整指南 【免费下载链接】amlogic-s9xxx-armbian Supports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3…...

白帽子必备修养!Web 安全入门级笔记,带你彻底搞懂什么是 Web 安全!

前言 Web安全是什么?不妨先说一说Web是什么吧?我觉得这个对于整个CSDN的小伙伴儿来说~~好嘛,你这是“关公面前耍大刀,鲁班门前舞斧子”,活得腻歪了不是,再啰嗦可就取关了。 我主要…...

一键下载七大视频网站:Video-Downloader让离线观看变得轻松简单

一键下载七大视频网站:Video-Downloader让离线观看变得轻松简单 【免费下载链接】Video-Downloader 下载youku,letv,sohu,tudou,bilibili,acfun,iqiyi等网站分段视频文件,提供mac&win独立App。 项目地址: https://gitcode.com/gh_mirrors/vi/Video…...

分光计实验:从原理到实践,手把手教你测量三棱镜折射率

1. 分光计实验入门:为什么测量三棱镜折射率这么重要? 第一次接触分光计实验时,我和大多数同学一样满头雾水——这个长得像显微镜的金属仪器,怎么会有二十多个调节旋钮?直到亲手完成三棱镜折射率测量,才明白…...

Vivado FFT IP核配置避坑指南:从参数选择到ModelSim仿真的完整流程

Vivado FFT IP核实战避坑手册:从参数优化到仿真验证的工程级解决方案 在FPGA信号处理领域,快速傅里叶变换(FFT)作为频谱分析的基石,其实现效率直接影响系统性能。Xilinx Vivado提供的FFT IP核虽然功能强大,…...

2025年12月CCF-GESP编程能力等级认证Python编程七级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(每题 2 分,共 30 分) 第 1 题 下面关于 Python 中形参、实参和作用域的说法中,错误的一项是 ( )。 A. 形参是函数定义时声明的参数,仅在函数内部的作…...

C++ Qt项目实战:从源码到安装包,VS2022一站式部署指南

1. 环境准备与基础配置 在开始打包Qt项目之前,确保开发环境已经正确配置是至关重要的第一步。我最近在将一个Qt日历项目打包成安装包时,深刻体会到环境准备不充分会带来各种"坑"。下面分享我的实战经验。 首先需要确认Visual Studio 2022已安装…...

2026年03月CCF-GESP编程能力等级认证Python编程六级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(每题 2 分,共 30 分) 第 1 题 以下关于 Python 类继承的代码,执行后输出结果是?() class Animal:def __init__(self, name):...

Phi-mini-MoE-instruct实战教程:flash_attn可选加速与标准attention对比

Phi-mini-MoE-instruct实战教程:flash_attn可选加速与标准attention对比 1. 项目介绍 Phi-mini-MoE-instruct是一款轻量级混合专家(MoE)指令型小语言模型,在多个基准测试中表现出色: 代码能力:在RepoQA、…...

Sunshine游戏串流:打造你的私人云游戏服务器

Sunshine游戏串流:打造你的私人云游戏服务器 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾梦想过在客厅的大屏电视上畅玩PC游戏,或是在平板上继续…...