青训营X豆包MarsCode 技术训练营笔记(5) | 豆包MarsCode AI刷题

54 阅读3分钟

这次内容总结12-14课,主题为:大模型中的代理。

这几章内容总结了如何通过结合思维链(Chain of Thought, CoT)和ReAct框架来提高大型语言模型(LLMs)的推理能力和可信度。CoT允许LLMs通过中间推理步骤来完成复杂任务,但它们无法更新知识,可能导致事实错误。为了解决这个问题,提出了使用外部工具(如本地知识库和搜索引擎)来验证信息真实性的方法。本节强调了代理(Agent)的作用,它作为一个接口,能够根据用户输入决定调用哪些工具,并管理整个交互过程。在LangChain中,代理、大模型和外部工具共同工作,代理负责调用适当的外部工具并管理交互流程。ReAct框架灵感来源于人类的行动和推理之间的协同作用,它指导大模型生成推理轨迹和任务特定操作。ReAct框架包括观察、思考和行动三个步骤,即观察-思考-行动,简化为推理-行动(Reasoning-Acting)。这个框架提高了大模型解决问题的可解释性和可信度。LangChain通过Agent类实现了ReAct框架,赋予了大模型自主性,使其能够使用工具并执行动态推理。通过结合ReAct框架和CoT,大模型能够同时使用内部知识和外部信息,提高回应的可靠性和模型的可解释性。

LangChain的核心理念是利用语言模型来选择执行的操作序列,而不是将这些操作硬编码在代码中。这种理念体现了LLM作为AI自主决定程序逻辑的新编程范式的价值。

代理的关键组件包括:

  1. 代理(Agent) :由语言模型和提示(prompt)驱动,决定下一步执行什么操作。
  2. 工具(Tools) :代理调用的函数,需要确保代理能访问正确的工具,并且正确描述这些工具。
  3. 工具包(Toolkits) :一组用于完成特定目标的彼此相关的工具。
  4. 代理执行器(AgentExecutor) :代理的运行环境,负责调用代理并执行代理选择的操作,同时处理复杂情况。

代理执行器(AgentExecutor)的运行机制涉及到以下几个关键步骤:

  1. 第一轮思考:模型决定搜索:代理执行器通过Plan方法,将问题传递给语言模型,模型返回下一步行动指南。
  2. 工具调用:根据模型的输出,调用相应的工具,并获取工具调用的结果(Observation)。
  3. 第二轮思考:模型决定计算:再次调用语言模型,形成新的思考,判断任务是否完成或需要再次调用工具。
  4. 第三轮思考:模型完成任务:模型判断任务已完成,并输出最终答案。

整个过程是动态的,代理执行器根据模型的输出不断调整操作序列,直至任务完成。这种机制使得LangChain能够灵活地处理各种任务,而不需要预先硬编码操作步骤。