网上关于智能体相关技术,经常会看到很多术语,例如: TOT、提示链、RAG、ART、ReAct、Reflexion等,这些都是在智 能体开发中使用到的技术。从广义上来讲,这些技术也属于提示词 工程的范畴,但对普通用户日常在聊天大模型场景中很难应用,更 多的是用于构建智能体。下面是对这些术语的简要说明。
TOT:即思维树(Tree of Thoughts),是思维链(COT)的 升级版本。简单来说,它是针对同一个问题,让大模型使用多种不 同解决方法,每种方法包含多个步骤,这样构成了一个思维过程的 树状结构,大模型可以采用广度优先或深度优先搜索算法遍历这棵 树,生成最佳答案。
提示链:提示链是将一个提示的输出作为另一个提示的输入, 这样可以组合多个不同的提示词,共同完成预定任务。
RAG:即检索增强生成(Retrieval Augmented Generation),RAG把一个信息检索插件和大模型结合在一起,根 据用户的提示词,智能体首先通过信息检索插件检索相关的文档, 再将文档连同用户原始输入作为提示词输入到大模型,从而产生更 优的结果。其中,RAG的信息检索插件可以是从互联网搜索引擎获 取数据,也可以是从本地的向量数据库甚至关系数据库中检索数 据。
ART:自动推理并使用工具(Automatic Reasoning and Tooluse),工作原理是:将人工标注好的任务库挂载到大模型,任务 库即一组任务示例,包含任务目标和解决步骤。当智能体接到一个 新任务的时候,可以在任务库选择合适的示例,自动推理问题求解 步骤,并在适当的位置调用外部工具,最终完成任务。
ReAct:即推理+行为(Reason+Act),可以让大模型以交错 的方式生成推理轨迹和任务特定操作。ReAct 框架允许 LLMs 与外 部工具交互来获取额外信息,从而给出更可靠和实际的回应。
下图是一个ReAct的示例。
Reflexion:自我反思 自我反思由三个不同的智能体组成:
参与者(Actor):根据状态观测量生成文本和动作。参与者在 环境中采取行动并接受观察结果,从而形成轨迹。链式思考 (CoT)和 ReAct 被用作参与者模型。此外,还添加了记忆组件为 智能体提供额外的上下文信息。
评估者(Evaluator):对参与者的输出进行评价。具体来说, 它将生成的轨迹(也被称作短期记忆)作为输入并输出奖励分数。 根据人物的不同,使用不同的奖励函数(决策任务使用LLM和基于 规则的启发式奖励)。
自我反思(Self-Reflection):生成语言强化线索来帮助参与 者实现自我完善。这个角色由大语言模型承担,能够为未来的试验 提供宝贵的反馈。自我反思模型利用奖励信号、当前轨迹和其持久 记忆生成具体且相关的反馈,并存储在记忆组件中。智能体利用这 些经验(存储在长期记忆中)来快速改进决策。