【LLM-Agent】ReWOO模式和ReAct的区别

note

  • REWOO的缺陷在于,非常依赖于Planner的规划能力,如果规划有误,则后续所有的执行都会出现错误。尤其是对于复杂任务,很难在初始阶段就制定合理且完备的计划清单。因此,如果要提升Agent的准确率,需要有规划调整机制,即在执行的过程中,根据环境反馈,不断调整计划。
  • ReWOO其实就是Plan-and-execute agents

文章目录

一、rewoo模式

论文:《ReWOO: Decoupling Reasoning from Observations for Efficient Augmented Language Models》

ReWOO 的工作流程包括三个主要部分:

计划者(Planner):将任务分解并制定包含多个相互关联计划的蓝图,每个计划都分配给工作者执行。

工作者(Worker):根据计划者提供的蓝图,使用外部工具获取真实证据。

求解器(Solver):将所有计划和证据结合起来,形成对原始任务的最终解决方案。

二、创新点

ReWOO 的创新点主要包括以下几个方面:

分离推理与观察:ReWOO 将推理过程与使用外部工具的过程分开,避免了在依赖观察的推理中反复提示的冗余问题,从而大幅减少了 Token 的消耗。

模块化设计:ReWOO 使用模块化框架,通过计划者、工作者和求解器的分工合作,提高了系统的扩展性和效率。

效率提升:实验结果表明,这种方法不仅提升了准确率,还显著降低了令牌消耗。

工具调用的鲁棒性:ReWOO 在工具失效的情况下表现出更高的鲁棒性,这意味着即使某些工具无法返回有效证据,ReWOO 仍能通过合理的计划生成和证据整合,提供有效的解决方案。

左侧是ReAct方法,当User输入Task后,把上下文Context和可能的样本Example输入到LLM中,LLM会调用一个目标工具Tool,从而产生想法Thought,行动Action,观察Observation。由于拆解后的下一次循环也需要调用LLM,又会调用新的工具Tool,产生新的Thought,Action,Observation。如果这个步骤变得很长,就会导致巨大的重复计算和开销。

右侧ReWOO的方法,计划器Planner把任务进行分解,分解的依据是它们内部哪些用同类Tool,就把它分成同一类。在最开始,依旧是User输入Task,模型把上下文Context和Examplar进行输入。这里与先前有所不同的是,输入到Planner中,进行分解,然后调用各自的工具Tool。在得到了所有的Tool的输出后,生成计划结果Plan和线索,放到Solver进行总结,然后生成回答。这个过程只调用了两次LLM。

举个栗子:假设你是一个侦探,需要解决一个谜题:找出谁在图书馆偷了一本珍贵的书。

ReAct模式的类比:

在ReAct模式下,你的思考和行动过程可能是这样的:

你首先想到去图书馆询问管理员(行动)。

管理员告诉你,昨天有一个穿着蓝色衣服的人来过(观察)。

然后你决定去查看图书馆的监控录像(行动)。

你发现录像中确实有一个穿蓝色衣服的人(观察)。

接下来,你决定去询问图书馆的常客,看看他们是否认识这个人(行动)。

常客告诉你,这个人可能是附近的学生(观察)。

最后,你决定去学校调查,最终找到了嫌疑人(行动)。

在ReAct模式中,你的每一步都是基于前一步的观察结果来决定的,这是一个逐步的、迭代的过程。

ReWOO模式的类比:

在ReWOO模式下,你的思考和行动过程可能是这样的:

你首先规划了整个调查过程:

询问图书馆管理员

查看监控录像

询问图书馆常客

去学校调查

然后,你同时(并发)执行所有这些行动:

派助手去询问管理员

自己去查看监控录像

同时,另一个助手去询问常客

最后,你亲自去学校调查

所有行动完成后,你收集所有信息,综合分析,最终找到嫌疑人。

1 AI大模型实战 | AI Agent设计模式 - REWOO,优化ReAct冗余问题

2 LLM Agent设计模式 - ReWOO

3 LLM Agent设计模式 - ReWOO:https://www.yidoo.xyz/llm-agent-design-pattern-rewoo

4 《ReWOO: Decoupling Reasoning from Observations for Efficient Augmented Language Models》

5 On short of "ReWOO: Decoupling Reasoning from Observations for Efficient Augmented Language Models"

相关推荐
hpoenixf4 小时前
Agent 客户端交互全景:从提出问题,到读懂结果、继续研究
agent
前进的李工4 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
hpoenixf4 小时前
通用 Agent 框架之后,为什么还需要金融垂类能力?
agent
hpoenixf4 小时前
RAG 全链路全景:从知识入库到可信回答,一套 Agent 检索系统如何工作?
agent
hpoenixf4 小时前
从通用 Harness 到金融研究系统:ETF Agent 的四方架构对照
agent
hpoenixf5 小时前
Agent 开发与后台开发有什么不同:从一次请求到长期个人助手
agent
stormzhangV6 小时前
未来十年的建议
人工智能·aigc·agent
qinglongcn7 小时前
Plan 从 DAG 退回线性清单——一个引擎设计教训
agent·ai编程
Pniubi7 小时前
A2A协议
agent
jerrywus8 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude