Agent应用 其实 和RAG应用一样,都有一套范式流程。
  • RAG 应用:query改写- ES和向量多路召回-重排-构建Context- LLM生成。
  • Agent模式:React、PlanAct 、Multi -Agent。

一、整体介绍

ReAct、Plan-and-Execute 和 multi-agent 是三种不同的智能体(Agent)工作框架,核心区别体现在目标定位、工作流程和适用场景上,具体对比如下:

1.1 核心定义与目标

  • ReAct
    一种 “思考 – 行动” 循环框架,核心是让智能体在处理任务时,通过即时的自然语言推理(Reasoning) 生成行动(Action),再根据行动结果(观察)调整后续思考和行动,直到完成任务。
    目标:处理需要动态反馈(如依赖外部信息、实时调整)的任务。
  • Plan-and-Execute
    先通过规划拆解任务,再按计划执行的框架。核心是先制定完整步骤(规划阶段),再逐步执行(执行阶段),执行中可根据结果微调计划,但整体以 “先规划” 为前提。
    目标:处理可拆解的复杂任务(步骤明确、逻辑清晰)。
  • multi-agent(多智能体)
    由多个独立智能体(Agent)组成的系统,每个智能体有专属角色、目标和能力,通过通信、分工或竞争协作完成任务。
    目标:处理需要多角色协同(如分工、交互)的复杂任务。

1.2 工作流程

  • ReAct
    循环迭代模式:
    思考(分析任务/现状)→ 行动(调用工具/操作)→ 观察(获取行动结果)→ 再思考(基于结果调整)→ ...
    例:问答任务中,先思考 “需要搜索某信息”,行动(调用搜索引擎),观察(获取搜索结果),再思考 “结果是否足够”,决定是否继续搜索。
  • Plan-and-Execute
    分阶段模式:
    规划阶段(拆解任务→制定步骤)→ 执行阶段(按步骤执行→反馈调整计划)
    例:策划活动时,先规划 “确定主题→联系场地→邀请嘉宾→宣传”,再按步骤执行,若场地无法预约则调整步骤(如更换场地)。
  • multi-agent
    多主体交互模式:
    角色分工→信息通信→协作执行→达成整体目标
    例:电商客服系统中,“售前 Agent” 负责咨询,“售后 Agent” 处理退款,“物流 Agent” 跟进配送,通过内部通信同步信息。

1.3 核心机制与关键能力

框架 核心机制 关键能力要求
ReAct 即时思考 – 行动循环 实时推理、工具使用、动态反馈处理
Plan-and-Execute 先规划后执行的分阶段逻辑 任务拆解、长期规划、步骤优先级排序
multi-agent 多主体交互与协作 角色定位、信息共享、冲突协调

1.4 适用场景

  • ReAct
    适合需要实时外部信息动态决策的任务,如:
    • 搜索引擎问答(需实时检索信息);
    • 游戏攻略(根据对手行动调整策略);
    • 工具调用(如用计算器分步计算复杂公式)。
  • Plan-and-Execute
    适合步骤明确、可拆解的复杂任务,如:
    • 项目管理(拆解为 “需求分析→开发→测试→上线”);
    • 食谱烹饪(先规划 “备菜→火候→调味” 步骤);
    • 旅行规划(确定 “交通→住宿→景点路线”)。
  • multi-agent
    适合多角色协作的任务,如:
    • 客服系统(售前、售后、技术支持 Agent 分工);
    • 供应链管理(采购、仓储、物流 Agent 协同);
    • 团队协作(设计师、开发、产品经理 Agent 分工推进项目)。

 

二、React

2.1 介绍

参考 Intro to ReAct (Reasoning and Action) Agents

ReAct 代理是推理和行动代理的缩写,是一个将 LLM 的推理能力与采取行动的能力相结合的框架!

6b27a8a7-8f67-4558-a3f4-44bf512e6c92_1766x812

ReACT 代理将 LLM 的思维和推理能力与可操作的步骤相结合。

这使得人工智能能够理解、规划并与现实世界互动。

简而言之,这就像是给人工智能一个大脑来弄清楚要做什么,又给它一双手来实际做工作!

screenshot-20250703-131223

想象一下 ReACT 代理帮助用户决定是否带伞。

以下是代理回答此查询时应遵循的逻辑流程 →


我在伦敦,今天需要带伞吗?


3a82e05c-94a9-4721-9e94-1e39cf2f98c8_2048x810

  • 理解查询(语言理解)
  • 选择生成响应所需的工具(天气 API)。
  • 收集天气报告。
  • 了解是否会下雨并据此做出回答。

三、工具

Dynamiq 的 GitHub上提供了一些简单的 LLM 流程、RAG 应用程序、ReAct 代理、多代理编排等的演示示例

分类&标签