【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"

相关推荐
一 铭9 小时前
《Hands_On_LLM》8.2 RAG: 利用语言模型进行语义搜索(Semantic Search with Language Models)
人工智能·语言模型·大模型·llm
Cc不爱吃洋葱12 小时前
如何本地部署AI智能体平台,带你手搓一个AI Agent
人工智能·大语言模型·agent·ai大模型·ai agent·智能体·ai智能体
网安打工仔12 小时前
斯坦福李飞飞最新巨著《AI Agent综述》
人工智能·自然语言处理·大模型·llm·agent·ai大模型·大模型入门
猿类崛起@12 小时前
百度千帆大模型实战:AI大模型开发的调用指南
人工智能·学习·百度·大模型·产品经理·大模型学习·大模型教程
黑客-雨12 小时前
从零开始:如何用Python训练一个AI模型(超详细教程)非常详细收藏我这一篇就够了!
开发语言·人工智能·python·大模型·ai产品经理·大模型学习·大模型入门
玩电脑的辣条哥4 天前
如何将自己本地项目开源到github上?
大模型·github·api·ollama
DogDaoDao4 天前
AI 大爆发时代,音视频未来路在何方?
人工智能·ai·大模型·音视频·视频编解码
uncle_ll4 天前
ChatGPT大模型极简应用开发-目录
人工智能·gpt·chatgpt·大模型·llm
uncle_ll5 天前
ChatGPT大模型极简应用开发-CH1-初识 GPT-4 和 ChatGPT
人工智能·gpt·chatgpt·大模型·llm
青禾tester6 天前
【AI落地】如何创建字节的coze扣子工作流 ——以“批量获取抖音视频文案”为例
人工智能·经验分享·gpt·大模型·字节跳动·coze扣子