当前,在各个大厂纷纷卷LLM的情况下,各自都借助自己的LLM推出了自己的AI Agent,比如字节的Coze,百度的千帆等,还有开源的Dify。
你是否想知道其中的原理?是否想过自己如何实现一套AI Agent?当然,借助LangChain就可以。
1. 简述AI Agent
何为AI Agent呢?如果拿人来对比的话,半支烟认为AI Agent就是一个会思考和行动的人,其中LLM就是这个人的大脑。
说白了,AI Agent就是借助LLM这个大脑,加上一些 能够感知外部环节 和 能够发起行动 的部件,共同组成的一个 机器人。
那怎样能够让 AI Agent这个机器人,充分利用LLM 和 各种部件呢?那ReAct就是这个协作工具。利用ReAct机制,LLM可以很好的结合外部环境和行动组件,形成一个完整的AI Agent。
下面将探讨ReAct框架的概念、原理、优势,并通过代码示例展示如何在LangChain中使用ReAct构建AI Agent。
2. ReAct概念和原理
2.1 为什么需要ReAct
我们知道,LLM在训练完毕后,会具备较强的推理能力,但是他的知识随着时间的推移会过时,但是又不可能经常性的去训练LLM,毕竟每次训练的成本太高了。
那怎么解决这个问题?机器可以像人一样自己主动去学习和搜索新知识呀。
那机器怎么知道什么时候该去搜索知识?什么时候时候该去调用什么样的工具解决当前的问题呢?
ReAct应运而生。ReAct的核心在于,推理和行动。
2.2 ReAct的定义
ReAct(Reasoning and Action
)是一个框架,其概念来源于一篇论文,其核心思想,就是通过思维链
的方式,引导模型将复杂问题进行拆分,一步一步地进行推理(Reasoning
)和行动(Action
),同时还引入了观察(Observation
)环节,在每次执行(Action
)之后,都会先观察