大模型提示词推理架构对比:ReAct/CoT/ToT

        人工智能(AI)已不再只是一个流行词——它是驱动现代问题解决的引擎。但AI究竟是如何“思考”的呢?这就涉及到了推理框架。在本文中,我们将探讨三种关键框架:ReAct(推理与行动)思维链(Chain-of-Thought, CoT)思维树(Tree-of-Thoughts, ToT)。你可以将这些框架视为AI用来应对挑战的“思维模式”。每种框架都提供了独特的工具,帮助AI分解复杂问题、进行推理并适应新情况——所有这些都以一种模仿人类思维的方式完成。

        让我们用简单明了的语言深入探讨这些框架,即使是不懂技术的朋友也能轻松理解。

        推理框架就像是AI的思维过程。它们不仅仅是简单地输出答案,而是帮助AI以结构化的方式思考问题。以下是它们的工作原理:

  • 问题分解:将大问题分解成更小、更容易处理的部分。
  • 迭代改进:随着新信息的出现不断改进解决方案。
  • 动态适应:当事情不如预期时,即时改变策略。

        通过使用推理框架,AI变得更加像一个能够处理复杂任务的助手,而不仅仅是一台静态的机器。

1、ReAct (推理与行动)

ReAct,简称推理与行动,帮助AI代理同时思考和行动。想象一下你在解一个拼图。你不是一次性计划好所有步骤,而是走一步,看看进展如何,然后决定下一步怎么做。这就是ReAct的实际应用。

核心原则包括:

  • 反馈循环:从每次行动中学习,以改进下一次行动。
  • 上下文感知:根据实时数据调整行动。

ReAct非常适合那些决策依赖于变化环境的任务,例如:

  • 机器人技术:在不熟悉的环境中移动或拾取物体。
  • 客户服务:动态响应用户的问题。
  • 探索:在执行任务的过程中学习。

以下是ReAct在LangChain中的工作方式:

 

​
from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI# Define tools the agent can use
def fetch_information(query):return f"Fetched result for: {query}"fetch_tool = Tool(name="FetchTool",func=fetch_information,description="Fetches information based on the query"
)# Initialize the agent
llm = OpenAI(temperature=0.5)
agent = initialize_agent(tools=[fetch_tool],llm=llm,agent_type="react"
)# Use the agent
query = "What is the capital of France?"
response = agent.run(query)
print(response)​

 流程图显示ReAct如何在一个循环中结合推理和行动。

2、CoT (思维链)

链式思维推理就像逐步解决数学问题一样。它不会直接得出结论,而是仔细地写出每一步。这样就更容易理解AI是如何得出答案的。

核心原则包括:

  • 分步思考:按逻辑步骤解决问题。
  • 类人解释:使决策透明且易于理解。

CoT在需要清晰推理的任务中表现出色,例如:

  • 数学问题:逐步解决方程。
  • 法律分析:将案例法分解为有条理的论据。
  • 教育:教学生系统地解决问题的方法。

以下是如何在LangChain中实现CoT推理:

from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from langchain.llms import OpenAI# Define a prompt template for CoT
cot_prompt = PromptTemplate(input_variables=["question"],template="""Question: {question}Let's think step by step to solve this problem:1. Step 1: ...2. Step 2: ...Answer: ..."""
)# Initialize the LLM chain
llm = OpenAI(temperature=0.5)
chain = LLMChain(llm=llm, prompt=cot_prompt)# Solve a problem
question = "What is the sum of 45 and 67?"
response = chain.run(question)
print(response)

 3、ToT (树形思维)

        思维树(Tree-of-Thoughts, ToT) 将思维链(CoT)提升到了一个新的层次。它不再局限于单一路径,而是同时探索多种可能性。可以将其视为在选出最佳解决方案之前,先对多个解决方案进行头脑风暴。

核心原则包括:

  • 分支路径:同时探索不同的解决方案。

  • 评估:比较不同路径以选择最佳方案。

应用场景
ToT 非常适合以下领域:

  • 战略规划:为商业决策探索多种场景。

  • 游戏AI:在复杂游戏中找到最佳走法。

  • 创造性思维:生成并比较创新想法。

示例实现(LangChain)
以下是一个在 LangChain 中实现 ToT 的示例:

from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain.llms import OpenAI# Define a branching prompt
tot_prompt = PromptTemplate(input_variables=["question"],template="""Question: {question}Let's consider multiple approaches to solving this problem.Option 1: ...Option 2: ...Evaluate the options and decide on the best one.Answer: ..."""
)# Initialize the LLM chain
llm = OpenAI(temperature=0.7)
chain = LLMChain(llm=llm, prompt=tot_prompt)# Solve a problem
question = "How can we improve user engagement in an app?"
response = chain.run(question)
print(response)

 树状图显示ToT中的发散和收敛路径。

4、框架对比 

最佳应用场景:

  • ReAct:适用于动态和探索性任务。
  • CoT:适合结构化、逻辑性强的问题。
  • ToT:适用于战略性或创造性的挑战。

5、结束语

        ReAct、链式思维和树形思维不仅仅是抽象概念;它们是实际工具,正在改变AI解决问题的方式。通过了解它们的独特优势并将它们与Verxitii和Google AI Studio等平台集成,我们可以推动AI创新的边界。无论你是构建下一个机器人助手还是增强客户服务机器人,这些框架都是你打造更智能AI的首选工具。

👇点击关注AI疯人院获取

更多技术信息~

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

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

相关文章

【Linux】冯诺依曼体系结构-操作系统

一.冯诺依曼体系结构 我们所使用的计算机,如笔记本等都是按照冯诺依曼来设计的: 截止目前,我们所知道的计算机都是由一个一个的硬件组装起来的,这些硬件又由于功能的不同被分为了输入设备,输出设备,存储器…

【云原生】Spring Cloud是什么?Spring Cloud版本介绍

什么是SpringCloud 上一章节介绍了总体的SpringCloud的总体学习章节,因为最近项目刚好需要用到SpringCloud来搭建微服务项目、所以就跟着大家一起来再学习巩固下SpringCloud的相关知识 SpringCloud是基于SpringBoot提供了一套微服务解决方案,包括服务注…

人机交互革命:从触屏到脑波的13维战争

人机交互革命:从触屏到脑波的13维战争 一、交互维度大爆炸:重新定义人机沟通边界 当ChatGPT开始解析你的微表情,当Neuralink芯片能读取皮层信号,人机交互已突破【键鼠】的次元壁。我们正经历人类史上最大规模的感官革命&#xff…

高考數學。。。

2024上 具体来说,直线的参数方程可以写为: x1t y−t z1t 二、简答题(本大题共5小题,每小题7分,共35分。) 12.数学学习评价不仅要关注结果评价,也要关注过程评价。简要说明过程评价应关注哪几个方面。…

低空监视-无人机专用ADS-B应答机

产品简介 ping200XR是经过TSO适航认证的无人机专用ADS-B应答机,用于中大型无人机的低空监视。将经过认证的航空级航电设备引入无人机系统。该应答机支持航管二次雷达A,C/S模式和ADS-B OUT。重量仅52克满足无人机所面临的尺寸、重量、功耗的挑战&#xf…

Compose Multiplatform+Kotlin Multiplatfrom 第四弹跨平台

文章目录 引言功能效果开发准备依赖使用gradle依赖库MVIFlow设计富文本显示 总结 引言 Compose Multiplatformkotlin Multiplatfrom 今天已经到compose v1.7.3,从界面UI框架上实战开发看,很多api都去掉实验性注解,表示稳定使用了!…

VLM-E2E:通过多模态驾驶员注意融合增强端到端自动驾驶

25年2月来自香港科大广州分校、理想汽车和厦门大学的论文“VLM-E2E: Enhancing End-to-End Autonomous Driving with Multimodal Driver Attention Fusion”。 人类驾驶员能够利用丰富的注意语义,熟练地应对复杂场景,但当前的自动驾驶系统难以复制这种能…

Linux的进程观:简单性如何成就强大性(三)

1. 环境变量 1.1. 基本概念 环境变量(environment variables)⼀般是指在操作系统中⽤来指定操作系统运⾏环境的⼀些参数。 如:我们在编写C/C代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪⾥,但是照样可以链接…

广域互联网关键技术详解(GRE/LSTP/IPsec/NAT/SAC/SPR)

《广域互联网关键技术详解》属于博主的“广域网”专栏,若想成为HCIE,对于广域网相关的知识需要非常了解,更多关于广域网的内容博主会更新在“广域网”专栏里,请持续关注! 一.前言 广域互联技术纷杂多样,不…

论文阅读笔记:UniFace: Unified Cross-Entropy Loss for Deep Face Recognition

论文阅读笔记:UniFace: Unified Cross-Entropy Loss for Deep Face Recognition 1 背景2 创新点3 方法3.1 回顾softmax损失3.2 统一交叉熵损失3.3 人脸验证中的UCE损失3.4 进一步的优化3.4.1 边际UCE损失3.4.2 平衡BCE损失 4 实验4.1 消融实验4.2 和SOTA方法对比 论…

DeepSeek崛起:如何在云端快速部署你的专属AI助手

在2025年春节的科技盛宴上,DeepSeek因其在AI领域的卓越表现成为焦点,其开源的推理模型DeepSeek-R1擅长处理多种复杂任务,支持多语言处理,并通过搜索引擎获取实时信息。DeepSeek因其先进的自然语言处理技术、广泛的知识库和高性价比…

LLM大型语言模型(一)

1. 什么是 LLM? LLM(大型语言模型)是一种神经网络,专门用于理解、生成并对人类文本作出响应。这些模型是深度神经网络,通常训练于海量文本数据上,有时甚至覆盖了整个互联网的公开文本。 LLM 中的 “大” …

石基大商:OceanBase + Flink CDC,搭建连锁零售系统数据湖

本文作者:白剑,石基大商连锁事业部架构组 石基大商连锁事业部专注于连锁零售软件,为企业提供ERP解决方案。石基在零售行业拥有众多知名品牌客户,如华润万家、永旺、永辉和联华等,并与很多地方性零售企业紧密合作。而对…

LeetCode 分割回文串(回溯、dp)

131.分割回文串 给你一个字符串 s,请你将 s 分割成一些 子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 示例 1: 输入:s "aab" 输出:[["a","a","b"],["a…

好数——前缀和思想(题目分享)

今天我的舍友去参加“传智杯”广东省的省赛,跟我说了这样一道题,他说他想不出来怎么去优化代码,怎么做都是套用两层for循环超时,下面我就根据题意,使用前缀和的算法去优化一下思路,题目本身是不难的&#x…

记录uniapp小程序对接腾讯IM即时通讯无ui集成(2)

完成以上步骤之后开始进行登录,登陆就需要账号。这个账号我们可以在腾讯云中创建。 有了账号之后开始去小程序进行登陆操作。腾讯云接口文档 这里除了帐号还需要一个校验值userSig正常项目开发这个字段可以在登陆后让后端返回,现在是测试我们直接去控制…

智能指针的使用和原理

目录 C标准库智能指针的使用 auto_ptr的了解 unique_ptr的了解 shared_ptr的了解 应用 析构问题 解决办法 方案一:特化 方案二:删除器 智能指针原理 shared_ptr循环引用问题 了解weak_ptr shared_ptr的线程安全问题 内存泄漏 如何避免内存…

【北上广深杭大厂AI算法面试题】深度学习篇...这里详细说明ResNet中为什么不用dropout?

【北上广深杭大厂AI算法面试题】深度学习篇…这里详细说明ResNet中为什么不用dropout? 【北上广深杭大厂AI算法面试题】深度学习篇…这里详细说明ResNet中为什么不用dropout? 文章目录 【北上广深杭大厂AI算法面试题】深度学习篇...这里详细说明ResNet中为什么不用dropout?…

stm32移植LCD2002驱动

介绍 LCD2002支持20X2个字符串显示,引脚功能和读写时序跟LCD1602都很像 LCD类型:字符点阵 点 阵 数:202 外形尺寸:116.0mm37.0mm(长宽) 视域尺寸:83.0mm18.6mm 点 距 离:0.05mm…

*动态规划(4)

持续更新 1.入门 ⽤于解决多阶段决策问题的算法思想。它通过将复杂问题分解为更⼩的⼦问题,并存储⼦问题的解(通常称为“状态”),从⽽避免重复计算,提⾼效率。因此,动态规划⾥,蕴含着分治与剪枝…