LangChain 核心模块 Agent(构建复杂应用的代理系统)
ReAct: Reasoning + Acting
ReAct Prompt 由 few-shot task-solving trajectories 组成,包括人工编写的文本推理过程和动作,以及对
动作的环境观察.
ReAct Prompt 设计直观灵活,并在各种任务上实现了最先进的少样本性能,从QA到在线购物
ReAct 在获取新数据方面的优势(HotpotQA 示例)
Reason-only baseline (即思维链)由于没有与外部环境接触以获取和更新知识,而且必须依赖有限的内部知识,因此容易受
到错误信息(红色标记)的影响。
Act-only baseline 缺乏推理能力方面问题,在这种情况下,尽管具有与ReAct相同的行动和观察,但无法综合得出最终答案。
相比之下,ReAct通过可解释且真实可信的轨迹来解决任务。
ReAct 在微调方面的优势
使用 ReAct 提示轨迹在 HotpotQA 上进行初始微调的结果表明:
(1)ReAct 是各种模型规模中最好的微调方式;
(2)ReAct 微调的较小模型胜过了被提示(prompted)的更大模型。
LangChain Agents
代理的核心思想是使用LLM来选择一系列要执行的动作。
- 在链式结构(Chains)中,一系列动作执行是硬编码的( SequentialChain 和 RouterChain 也仅实现了面向过程)。
- 在代理(Agents)中,语言模型被用作推理引擎,以确定应该采取哪些动作以及执行顺序。