大家好,我是Feng。欢迎关注我公众号和我一起探索AI技术。
全栈技术探索
文笔有限,这篇文章比较难写。但是ReAct的概念对于实现AI Agent很关键,文末有一些参考链接供大家辅助理解。
一、前言
AI 大模型开发中有许多概念,让刚开始学习的开发者一头雾水,比如 ReAct
。
ReAct
并不是指 Facebook
开源的前端开发框架 react
,而是一种实现 AI Agent
的一种重要方法。了解ReAct的概念和实现方法,对于实现 AI Agent
至为重要。
二、什么是ReAct
我们使用大模型时,你会向它提出一个问题(发送一个提示语),模型能够分析你的问题,并给出答案。有些时候,当我们提出的稍显复杂的问题时,模型的回答很可能并不理想。但当我们给模型发送的prompt,增加一句:Let’s think step by step
时,就会发现模型的表现要比之前好得多!它会因为这句提示,而试图一步步的分析、推理,直到找到答案发送给你。
在人类的认知过程中,当面对复杂问题时,我们通常会采用一步一步的思考方式,即“思维链”。这种方法帮助我们将问题分解成较小的部分,然后逐个解决,最终形成有逻辑的解答路径。
模型面对复杂问题处理的逻辑过程,其实是在模仿人类的推理过程,不仅给出答案,还会提供一连串的推理步骤。这使得AI的决策过程变得可追溯和可解释,从而让开发者和用户能更好地信任和理解AI的工作机制。这个逻辑过程,被称之为 CoT(Chain of Thought)- 链式思考。
而 Let’s think step by step
就是提醒模型:“请以 CoT 的方式处理我的问题”。
虽然CoT很棒,可以帮助大模型给我们更好的结果。但我们需要知道,LLM每次只回答了一个问题。也就是说,CoT即使有链式思考,但也只是回答了一个问题。这对于简单的对话方式的场景或许是够的,但如果问题中包含了需要多次思考并回答多个问题时,CoT就完全不够用了。比如这样的问题:"我的电脑为什么不能上网了"。</