Agents

Agent常用架构:Plan and Execute Agent

ReAct 智能体采用“思考 → 行动 → 观察”的循环模式,这利用了思维链提示,每一步只做出一个行动选择。虽然这对于简单任务有效,但是存在以下问题: 低效率:串行决策导致任务执行缓慢,无法并行化。 短视规划:每次仅考虑下一步,缺乏…

TL;DR

ReAct 智能体采用“思考 → 行动 → 观察”的循环模式,这利用了思维链提示,每一步只做出一个行动选择。虽然这对于简单任务有效,但是存在以下问题: 低效率:串行决策导致任务执行缓慢,无法并行化。 短视规划:每次仅考虑下一步,缺乏…

ReAct 智能体采用“思考 → 行动 → 观察”的循环模式,这利用了思维链提示,每一步只做出一个行动选择。虽然这对于简单任务有效,但是存在以下问题: - 低效率:串行决策导致任务执行缓慢,无法并行化。 - 短视规划:每次仅考虑下一步,缺乏全局视角,容易陷入次优路径。 - 难以调试与审计:决策逻辑分散在多个 LLM 调用中,缺乏清晰的任务结构。 那为了解决这些问题,有人提出一种新的Agent架构——Plan and Execute Agent,或者叫Plan And Solve。 基于 Plan-and-Solve (https://arxiv.org/abs/2305.04091 )的论文,以及 Yohei Nakajima 的 BabyAGI 项目,Plan And Execute Agent由两个基本组件组成: Planner:规划器,调用LLM 生成一个多步骤计划来完成一个大型任务。 Executor:执行器,接受用户查询和计划中的一个步骤,并调用 1 个或多个工具来完成该任务。 (图源:https://blog.langchain.com/planning-agents/ ) 整体流程就是Planner 生成完整任务列表,Executor 逐个执行,若失败则触发重规划。

和ReAct Agent对比

维度 Plan-and-Execute Agent ReAct Agent
效率 高:规划一次,批量执行;支持并行 低:每步需 LLM 调用,串行执行
成本 低:主 LLM 仅用于规划/总结,子任务可用小模型 高:全程依赖大模型
准确性 高:强制全局思考,减少路径错误 中:易受局部最优影响
可解释性 强:任务计划显式输出,便于审计 弱:决策隐含在对话流中
灵活性 中:初始计划可能僵化,需动态重规划机制 高:每步可灵活调整
实现复杂度 较高:需设计规划器、执行器、记忆、重规划等模块 简单:基础循环即可实现
适合任务 简单、灵活、响应快,适合目标明确、步骤少、动态性强的任务 结构化、可扩展、成本可控,适合复杂、多步、需可靠输出的任务

Plan And Execute的实现

方案一

plan and execute的实现,主要是可以参考langchain官方给的一个实现:https://langchain-ai.github.io/langgraph/tutorials/plan-and-execute/plan-and-execute/ 在这种典型的实现中,Plan And Execute其实是会嵌套React Agent的,大致的思路如下: 1、借助LLM来做Plan规划,这一步不需要工具调用,也不需要记忆,其实严格来说并不是一个智能体,只是个LLM调用。 2、根据上一步规划的内容,通过React Agent来做执行。 3、根据执行的结果,在借助LLM判断是否需要RePlan重新规划,这一步也不需要记忆和工具调用,也只是一个LLM调用。 所以,其实就是在React之前先做了一个全局规划,然后再react执行后再做一次复盘。

方案二

个人认为(这是我自己想出来的方案,如有雷同,纯属巧合),还可以有一种实现,是这样的: 1、借助LLM来做Plan规划,LLM结构化的输出具体每一步要调用哪个工具,以及入参是什么 2、根据上一步规划的内容,循环每一步做工具调用 3、把工具调用的结果进行汇总,给到LLM做总结以及重新规划 在这个方案中,就也没有agent的嵌套,它三个步骤加在一起组成了一个agent。 (后来偶然听过一次某做AI头部大厂的Agent架构,他们用的就是这种方式,在Plan的过程就规划好要调用什么工具,然后把工具调用过程用wolkflow做编排,只不过他们实际落地的时候,在后续工具运行时,还会针对一些异常情况(如工具调用失败),再叠加react做重新规划。他们发现这么做可以大大的减少一次agent执行的耗时。)

方案三

另外,还有第三种方案,那就是多智能体的方案,三个角色,planner,executor以及replanner,都可以单独作为一个智能体,三个智能体直接协作完成任务。 1、planner做规划,如果需要用到工具则直接调用 2、executor根据上一步规划的内容,做每一个步骤的执行,如果需要用到工具,则直接调用 3、replaner基于上一步的记过做判断及重新规划,如果需要用到工具,则直接调用 除了标准的Plan And Execute外,还有ReWOO(Reasoning Without Observation)和 LLMCompiler ,这是 Plan-and-Execute 范式下的两种先进智能体架构,它们在原始“Plan-and-Execute”基础上做了关键改进

版本提示

模型、框架与接口会持续变化。涉及版本号、参数与生产配置时,请在实践前对照对应官方文档。

LLMentor系统化学习大模型应用工程

内容来自个人课程知识库备份,并经过结构化整理。技术版本持续演进,生产使用前请结合官方文档验证。