ReAct、Plan-and-Execute、Reflection、Multi-Agent 分别适合什么场景? 写在前面这四种 Agent 架构/模式并非互斥而是解决不同复杂度、不同约束条件任务的“设计范式”。实际系统中常组合使用。本文将简单介绍这四种 Agent 架构/模式并列举其在目前各流行框架下的实现。模式对比1. ReActReasoning Acting思考(Thought) → 行动(Action) → 观察(Observation) 循环边推理边调用工具根据实时反馈决定下一步。 适合需要动态调用外部工具/API、环境反馈高度不确定、步骤依赖实时结果的任务的场景。2. Plan-and-Execute规划-执行先由Planner生成完整或部分计划DAG/步骤列表再由Executor按序执行支持执行中动态重规划Replanning。 适合流程明确、步骤依赖强、可提前拆解的中长程任务的场景。3. Reflection反思/自评估完成单步或整体任务后Agent 对自身输出进行批判性评估Self-Critique识别错误/不足并迭代优化常配合 Verifier/Critic 模块。 适合对质量/准确性要求极高、可容忍多次迭代与延迟的任务的场景。4. Multi-Agent多智能体协作多个具备不同角色/技能的 Agent 通过通信协议协作可呈层级、对等或流水线架构支持任务分解、并行处理与交叉验证。 适合跨领域、高复杂度、需模拟人类团队分工的大型项目或系统级任务的场景。框架实现AgentScope1. ReAct Demo场景为调用天气查询工具回答用户问题。import agentscopefrom agentscope.agents import ReActAgentfrom agentscope.models import DashScopeChatModelfrom agentscope.tool import Toolkit, ToolResponsefrom agentscope.message import Msg# 1. 初始化框架 (自动管理日志与状态)agentscope.init(projectreact_demo)# 2. 配置模型 (支持 DashScope/Qwen/Local 等)model DashScopeChatModel( model_nameqwen-max, api_keyyour_api_key, generate_kwargs{temperature: 0.0})# 3. 定义并注册工具toolkit Toolkit()toolkit.register_tool_functiondef get_weather(city: str) - ToolResponse: return ToolResponse(content[{type: text, text: f{city} 天气晴25°C}])# 4. 创建 ReAct Agent (内置循环控制)agent ReActAgent( nameWeatherAssistant, sys_prompt你是一个助手使用工具回答天气问题。, modelmodel, toolkittoolkit, max_iters5# ReAct 最大循环次数)# 5. 运行user_msg Msg(user, 杭州天气如何, roleuser)response agent(user_msg)print(输出:, response.content)2. Plan-and-Execute Demo场景为“查询北京天气 → 根据天气生成旅行建议 → 输出最终结果”。 AgentScope 原生支持多智能体通信Plan-and-Execute 可通过 PlannerAgent 输出计划消息交由 ExecutorAgent 逐步调用工具实现。import agentscopefrom agentscope.agents import DialogAgentfrom agentscope.message import Msgfrom agentscope.tool import Toolkit, ToolResponseimport json# 1 初始化框架agentscope.init(projectplan_execute_demo, logging_levelINFO)# 2 定义工具toolkit Toolkit()toolkit.register_tool_functiondef get_weather(city: str) - ToolResponse: return ToolResponse(content[{type: text, text: f{city} 晴22°C}])toolkit.register_tool_functiondef write_advice(context: str) - ToolResponse: return ToolResponse(content[{type: text, text: f建议基于{context}推荐户外行程。}])# 3 创建 Planner Executor Agentplanner_sys 你是一个规划器。将任务拆解为JSON数组格式[{step:1, tool:工具名, input:参数}]仅返回 JSON不要解释。executor_sys 你是一个执行器。严格按计划逐步调用工具并汇总结果。planner DialogAgent(namePlanner, sys_promptplanner_sys, model_config{model_name: qwen-max, api_key: your_key})executor DialogAgent(nameExecutor, sys_promptexecutor_sys, toolkittoolkit, model_config{model_name: qwen-max, api_key: your_key})# 4 Plan-and-Execute 编排def run(): user_msg Msg(user, 查询上海天气并生成旅行建议, roleuser) # Planner 输出计划 print([Planner] 正在规划...) plan_msg planner(user_msg) plan_json json.loads(plan_msg.content.strip(json\n)) print(f计划: {plan_json}\n) # Executor 逐步执行 print([Executor] 开始执行...) current_ctx for step in plan_json: # 构造当前步骤的输入消息 step_msg Msg(planner, f执行步骤: 调用 {step[tool]}参数: {step[input]}, roleuser) response executor(step_msg) current_ctx response.content print(fStep {step[step]} 结果: {current_ctx}) print(\n 任务完成)if __name__ __main__: run()3. Reflection Demo场景为“撰写智能水杯产品文案 → 严格评估 → 迭代优化 → 达标输出”。总体而言都是Excuter根据Planer规划的步骤执行。 通过 GeneratorAgent 与 CriticAgent 消息交互实现.# pip install agentscopeimport agentscopefrom agentscope.agents import DialogAgentfrom agentscope.message import Msgimport jsonagentscope.init(projectreflection_demo, logging_levelINFO)model_cfg {model_name: qwen-max, api_key: your_key}# Generator Agentgen_sys 你是产品文案专家。根据任务撰写100字描述吸收反馈后优化。仅输出正文。generator DialogAgent(nameGenerator, sys_promptgen_sys, model_configmodel_cfg)# Critic Agentcrit_sys 你是严格主编。评估标准1.提及容量/材质/智能功能/目标人群 2.100字 3.专业有吸引力。返回JSON: {score: 0-10, issues: [], suggestions: ..., passed: true/false}critic DialogAgent(nameCritic, sys_promptcrit_sys, model_configmodel_cfg)def run_reflection(task: str, max_iters: int 3): print(f任务: {task}\n) draft_msg Msg(user, task, roleuser) feedback 无 for i in range(max_iters): print(f\n第 {i1} 轮迭代) # 1. 生成/优化 print(生成中...) draft_msg generator(draft_msg) print(f草稿:\n{draft_msg.content}) # 2. 评估 print(评估中...) crit_input Msg(user, f评估文案:\n{draft_msg.content}\n历史意见: {feedback}, roleuser) crit_msg critic(crit_input) # 3. 解析反馈 raw crit_msg.content.strip().removeprefix(json).removesuffix().strip() try: c json.loads(raw) except: c {score: 5, issues: [格式错误], suggestions: 请按JSON格式返回, passed: False} print(f评分: {c[score]}/10 | 达标: {c[passed]}) print(f建议: {c[suggestions]}) if c[passed]: print(质量达标); break feedback c[suggestions] draft_msg Msg(user, f任务: {task}\n历史草稿: {draft_msg.content}\n意见: {feedback}\n请优化。, roleuser) return draft_msg.contentrun_reflection(为500ml BPA-free材质、支持APP同步饮水数据的智能水杯写一段产品描述)架构选型最近发现其实Agent架构选型其实挺难的开了一些博主的分享让AI总结了下看着还挺有道理。1 任务步骤是否可提前明确 ├─ 是 → 走 Plan-and-Execute流程固定、易审计 └─ 否 → 进入 22 下一步是否高度依赖实时环境反馈 ├─ 是 → 走 ReAct边做边看、动态探索 └─ 否 → 进入 33 对输出准确性/合规性要求是否极高容错率 5% ├─ 是 → 引入 Reflection生成→评估→迭代 └─ 否 → 单代理简单Prompt即可4 任务是否跨多个专业领域或需并行处理/角色分工 ├─ 是 → 升级为 Multi-Agent角色化协作 └─ 否 → 保持单代理架构5 资源约束是否严格延迟3s / Token预算有限 / 无专职AI运维 ├─ 是 → 降级ReAct 或 轻量 Plan关闭 Reflection/多角色 └─ 否 → 按上述匹配执行学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】