【AI大模型应用开发】LATS:比ToT和ReAct更强大的大模型思维框架

大家好,我是 同学小张,持续学习C++进阶知识AI大模型应用实战案例,持续分享,欢迎大家点赞+关注,共同学习和进步。


我们在大模型中常听说CoT(思维链)、ToT(思维树),还有最近比较火的Agent中常用的ReAct框架。这还不够,最近又发现了一种更高级的框架:LATS(Language Agent Tree Search),它比ToT和ReAct框架更复杂,相应的能力也更强。

原论文:https://arxiv.org/pdf/2310.04406

文章目录

  • 0. LATS是什么?
    • 0.1 基本概念
    • 0.2 LATS与ToT的区别
    • 0.3 LATS 与 ReAct 的区别
    • 0.4 CoT、ToT、ReAct、LATS等总结
  • 1. LATS的原理
  • 2. 总结

0. LATS是什么?

0.1 基本概念

LATS是一个通用框架,它结合了蒙特卡洛树搜索(Monte Carlo tree search,MCTS)的灵感,并利用环境提供外部反馈,从而实现更明智和适应性更强的问题解决机制。

LATS使用大模型作为Agent评估器优化器,将大模型在规划、行动和推理方面的优势结合起来,利用它们的潜在优势来增强决策能力。

0.2 LATS与ToT的区别

LATS与思维树ToT的区别如下图(中间的RAP我没了解过,所以先忽略):

在这里插入图片描述

从图中可以直观地看到,LATS图中增加了环境和反馈。下面是一些区别的总结:

(1)搜索机制

  • LATS采用蒙特卡洛树搜索(MCTS)的变种,这是一种启发式搜索算法,通过构建决策树来平衡探索和利用。LATS在树搜索中使用每个节点代表一个状态,并通过选择、扩展、评估、模拟、反向传播和反思等操作来寻找最优解。

  • ToT使用深度优先搜索(DFS)或广度优先搜索(BFS)来探索多个推理路径。基于大模型评估的启发式来引导搜索,但通常不涉及树搜索中的动态规划或反向传播。

(2)外部反馈的使用

  • LATS特别强调使用外部环境的反馈来改进推理和决策。LATS利用环境交互和自我反思来增强模型的合理性,并使Agent能够从经验中学习。

  • ToT通过探索多个推理路径来增强语言模型的决策能力,但它主要依赖于语言模型内部的知识。

(3)自我反思

  • LATS包括一个反思操作,当遇到不成功的终端节点时,会生成一个反思,总结推理或行动过程中的错误,并提出更好的替代方案。这些反思被存储并作为额外的上下文信息,以提高未来尝试的性能。

  • ToT方法本身不包括自我反思的组件。它更多地关注于通过搜索算法探索不同的推理路径。

(4)灵活性和适应性

  • LATS设计为灵活和适应性强,可以根据不同环境和任务调整状态设计和树的维度。

  • ToT虽然能够探索多个推理路径,但它的适应性可能不如LATS,因为它不包括对外部反馈的整合。

0.3 LATS 与 ReAct 的区别

LATS 与 ReAct 的区别如下图示例所示:

在这里插入图片描述

LATS更像是ReAct的扩展,在思考时会探索不同的路径,并对答案进行反思和反向传播。其区别总结如下:

(1)搜索策略

  • LATS:前面也提到了,其采用蒙特卡洛树搜索(MCTS)作为其核心搜索算法,这允许它通过构建决策树来平衡探索和利用,从而在多个可能的行动路径中进行选择和扩展。

  • ReAct:更多地侧重于通过与环境的交互来直接映射输入到输出,而不是使用树搜索算法。ReAct通过接收环境的观察结果并采取相应的动作来增强推理和行动。

(2)外部反馈的使用

  • LATS:明确地利用外部环境的反馈来改进决策过程。它通过模拟和反向传播操作来整合这些反馈,并通过自我反思来进一步提升性能。
  • ReAct:虽然也使用环境反馈来增强模型的行动能力,但它的主要关注点是通过交互API环境来提升信息检索能力,而不是通过搜索算法来探索多个可能的解决方案。

(3)自我反思

  • LATS:包括一个自我反思的步骤,允许模型在遇到不成功的路径时生成反思,这些反思被用来作为额外的上下文信息,以改进未来的决策。
  • ReAct:不特别强调自我反思。它更多地依赖于直接从环境获得的反馈来指导行动。

(4)灵活性和适应性

  • LATS:提供了更大的灵活性和适应性,因为它可以适应不同的环境和任务需求,通过调整状态设计和树的维度来优化搜索过程。
  • ReAct:虽然ReAct也能够适应不同的任务,但它的设计更倾向于直接的行动和反应,而不是通过搜索和反思来改进决策。

(5)应用范围:

  • LATS:由于其搜索和反思机制,更适合于需要复杂决策和长期规划的任务。
  • ReAct:更适合于需要即时反应和交互的环境,特别是在信息检索和基于API的环境中。

0.4 CoT、ToT、ReAct、LATS等总结

如下图,论文中总结了主流的这些框架和方法的能力,LATS是唯一一个将思考、行动、规划结合起来的框架。

在这里插入图片描述

从这个图中,也可以看出LATS与其它框架的根本区别,以及各个框架之间的区别。

之前一直以为ReAct中有Planning的过程,因为它也是思考一步走一步,现在看来,ReAct更多地是强调思考加执行,一步步往下走,没有一个反馈地过程,规划能力不能说没有一点,但也不多。以现在大模型地规划和推理能力,在ReAct框架中依赖大模型进行规划有点不确定性太高了。LATS因为多分支搜索,并且有反馈和反向传播能力,所以能及时纠错,让大模型地规划更可靠一点。

1. LATS的原理

实现原理如下图:

在这里插入图片描述

一共是6个步骤:

(1)选择

  • 在树中,你从根部(初始状态)开始,根据一定的规则(比如哪个分支最有可能通向正确答案),选择一个最有前途的分支继续前进。

(2)扩展

  • 你探索这个分支,尝试从当前状态出发做出不同的行动,就像是在尝试不同的解题方法。

(3)评估

  • 对每个可能的行动结果进行评估,就像是给每种解题方法打分,看看哪个更靠谱。

(4)模拟

  • 你继续沿着选中的分支走,直到走到尽头,看看这个路径是否真的能解决问题。

(5)反向传播

  • 如果你找到了正确的解决方案,就将这个成功的信号传回到你之前经过的每个节点上,让它们也知道“这条路走得对”。

(6)反思

  • 如果你走错了路,没能解决问题,就停下来想一想错在哪里,怎样可以避免同样的错误。

重复这个过程多次,每次都尝试不同的路径,直到找到最好的解决方案。当你找到了一个满意的解决方案,或者尝试了很多次之后,就停止搜索。

伪代码如下:

在这里插入图片描述

2. 总结

本文主要对LATS论文进行了解读,同时,重点通过LATS与其它框架如ToT、ReAct的对比,来让大家对LATS有一个直观的认识。最后,用通俗易懂的语言替大家总结了LATS实现的步骤。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,持续学习C++进阶知识AI大模型应用实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜同学小张 🙏

本站文章一览:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/697956.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[muduo网络库]——muduo库TimeStamp类(剖析muduo网络库核心部分、设计思想)

接着之前我们[muduo网络库]——muduo库logger类(剖析muduo网络库核心部分、设计思想),我们接下来继续看muduo库中的TimeStamp类,这也是每一个类几乎都能用到的非常简单的类。 TimeStamp类 Timestamp类主要用于日志、定时器模块中…

汉诺塔问题和爬楼梯(递归)

感谢大佬的光临各位,希望和大家一起进步,望得到你的三连,互三支持,一起进步 个人主页:LaNzikinh-CSDN博客 c语言基础_LaNzikinh篮子的博客-CSDN博客 文章目录 一.爬楼梯问题二.汉诺塔问题总结 一.爬楼梯问题 假设你正…

太速科技-基于VU3P的双路100G光纤加速计算卡

基于VU3P的双路100G光纤加速计算卡 一、板卡概述 基于Xilinx UltraScale16 nm VU3P芯片方案基础上研发的一款双口100 G FPGA光纤以太网PCI-Express v3.0 x16智能加速计算卡,该智能卡拥有高吞吐量、低延时的网络处理能力以及辅助CPU进行网络功能卸载的能力…

西门子博途WINCC动画之旋转运动

概述 本例将介绍在西门子 TIA Portal HMI 中旋转运动动画的一种实现方法。本例以风机、搅拌器和传送带为例,按下启动按钮开始转动,按下停止按钮停止转动。 第1步: 添加 PLC 设备。​博途TIA/WINCC社区VX群 ​博途TIA/WINCC社区VX群 选择西…

TriCore:Interrupt 2

今天继续来看看 IR 模块。 名词缩写 缩写全称说明IRInterrupt Router SRService Request 包括: 1. External Resource 2. Internal Resource 3.SW(Software) SPService Privoder 包括: 1. CPU 2. DMA SRNService Request NodeS…

AI视频教程下载:基于OpenAl、LangChain、 Replicate开发AI应用程序

欢迎来到令人兴奋的 AI 应用世界!在这门课程中,你将学习到创建一个能够与用户互动、理解自然语言、处理音频输入,甚至分析图像的真正智能应用所需的技能和技术。 AI 工具和技术 你将获得使用几个知名 AI API 和技术的实际经验。这些行业领先…

STL---排序模板参数

map 对map进行排序 首先一定要注意map模板类的第三个模板参数&#xff0c;这个参数决定元素按键值升序或者降序在map中的存储方式&#xff1a; 默认&#xff1a;less<key>升序----- < -----第一个小于取第一个 可设置&#xff1a;greater<key>降序-------…

【Docker】docker 镜像如何push到私有docker仓库

文章目录 一、 网址解析对于Linux和macOS系统&#xff1a;对于Windows系统&#xff1a; 二、 镜像push 一、 网址解析 希望 registry.meizu.com 能够解析到内网IP地址&#xff08;例如10.128.17.157&#xff09;&#xff0c;您可以通过修改主机的 hosts 文件来实现。 hosts 文…

Python---Pandas万字总结(1)

Pandas基础-1 Pandas 是 一个强大的分析结构化数据的工具集。Pandas 以 NumPy 为基础&#xff08;实现数据存储和运算&#xff09;&#xff0c;提供了专门用于数据分析的类型、方法和函数&#xff0c;对数据分析和数据挖掘提供了很好的支持&#xff1b;同时 pandas 还可以跟数…

2024年一些值得关注的边缘计算招投标!中国移动、中国联通、中国铁塔大单来了!...

1.大单来了&#xff01;中国移动湖北公司算力设备采购(移动边缘云四期扩容)招标公告&#xff0c;3079万&#xff01; 项目名称&#xff1a;中国移动湖北公司算力设备采购(移动边缘云四期扩容)招标公告 本招标项目为(中国移动湖北公司算力设备采购(移动边缘云四期扩容)&#xff…

Lists.partition用法详解

文章目录 一、引入依赖二、用法三、输出 一、引入依赖 依赖于谷歌的guava 包 <!-- guava --><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>28.1-jre</version></dependency&…

shell连接ubuntu上传文件失败,windows本地上传文件给linux失败

我直接用ubuntu上传文件失败 我用finalshell上传文件也失败 首先&#xff0c;我就觉得应该是我们的用户权限问题 所以我们从ubuntu用户换成root用户 sudo passwd root 设置我们的root用户的密码&#xff0c;我们这里就设置成root吧 然后&#xff0c;修改一下我们的文件 sudo…