以大语言模型(LLM)为核心控制器构建智能体的概念极具吸引力。诸如 AutoGPT、GPT-Engineer 和 BabyAGI 等几个概念验证演示展示了这一思路的巨大潜力。LLM 的能力不仅仅局限于生成流畅的文本、故事、论文和代码,它也可视作一个强大的通用问题解决器。
智能体系统概述
在 LLM 支持的自主智能体系统中,LLM 充当智能体的大脑,并由几个关键组件补充其功能:
规划
- 子目标与任务分解:智能体能够将复杂的任务拆解成更小、更易管理的子目标,从而有效处理。
- 反思与完善:智能体具备对过去行为的自我批评和反思能力,能够从中吸取教训,进一步完善未来步骤,以提升最终结果的质量。
记忆
- 短期记忆:利用模型的短期记忆进行上下文学习(参见提示工程)。
- 长期记忆:使智能体具备长时间保留和回忆信息的能力(通常通过外部向量存储和快速检索实现)。
工具使用
智能体能够学习如何调用外部 API,以获取在模型权重中缺失的额外信息(例如当前数据、代码执行能力及对特定信息源的访问权限)。
第一部分:规划
复杂任务通常包含多个步骤,智能体需要提前了解这些步骤并进行计划。
任务分解
思想链(Chain of Thought, CoT):该方法已成为增强复杂任务模型性能的标准提示技术。指示模型“一步一步思考”可以有效利用更多的推理时间,将复杂任务分解为更小的步骤,使得理解模型的思维过程成为可能。
思维树(Tree of Thoughts):通过在每一步探索多种推理可能性,进而扩展 CoT。此方法将问题分解为多个思考步骤,并在各步骤中生成多个思考,从而形成树状结构。搜索过程可采用广度优先搜索(BFS)或深度优先搜索(DFS),每个状态通过分类器(通过提示实现)或多数投票进行评估。
任务分解可通过以下方式实现:
- 使用简单提示(如 “Steps for XYZ.\n1.” 或 “What are the subgoals for achieving XYZ?”)。
- 使用特定于任务的指令,例如 “Write a story outline.” 用于小说创作。
- 人工输入。
另一种不同的方法是 LLM+P,这种方法依赖外部经典规划器进行长期规划。它采用规划领域定义语言(PDDL)作为描述规划问题的中介。在此过程中,LLM 执行以下步骤:
- 将问题转化为“Problem PDDL”。
- 根据现有的“Domain PDDL”请求经典规划器生成计划。
- 将生成的 PDDL 计划转化为自然语言。
自我反省
自我反思是自主智能体发展的重要部分,可通过不断完善过去的行动决策与纠正错误,实现迭代改进。它在现实任务中不可避免的试错过程中发挥着重要的作用。
ReAct方法通过扩展特定于任务的离散动作和语言空间,将推理与动作集成在 LLM 中,使其能够与环境互动(例如使用维基百科搜索 API),并生成自然语言的推理过程。
ReAct 提示模板包含 LLM 思考的明确步骤,通常格式如下:
在知识密集型和决策任务的实验中,ReAct 模型的表现明显优于缺乏步骤的基线。
Reflexion 是一种提供动态记忆和自我反思能力的框架,以提高智能体的推理能力。该系统在标准的强化学习(RL)设置下工作,其中奖励模型提供简单的二元奖励,动作空间遵循 ReAct 模式,其中特定于任务的动作由语言增强,支持复杂的推理步骤。每次动作后,智能体计算启发式,并可以根据自我反思的结果选择重置环境以进行新的试验。
记忆
记忆可以定义为信息获取、存储、保留和后续检索的过程。人脑中存在多种记忆类型。
- 感觉记忆:这是记忆的初步阶段,为原始刺激结束后保留感官信息的能力(视觉、听觉等),通常持续几秒钟。
- 短期记忆(STM)或工作记忆:它存储当前意识中以及执行学习和推理等复杂认知任务所需的信息。
- 长期记忆(LTM):可存储的信息时间长,从几天到几十年不等,几乎无限的存储能力。
第二部分:内存
外部记忆可以减轻有限注意力范围带来的限制。标准做法是将信息的嵌入表示存储到向量存储数据库中,支持快速的最大内积搜索(MIPS)。为了提高检索速度,常用近似最近邻(ANN)算法。
常见的以此为基础的算法包括:
- 局部敏感哈希(LSH)
- ANNOY
- HNSW(最近邻图)
- FAISS(Facebook AI 相似性搜索)
- ScaNN
第三部分:工具使用
工具的运用是人类的显著特征,通过创造、修改和使用外部物体,我们超越了身体和认知的极限。为 LLM 配备外部工具能够显著扩展其功能。
MRKL系统是一种神经符号架构,包含一组“专家”模块,通用 LLM 作为路由器,将查询路由到最合适的专家模块。通过微调 LLM 以调用计算器等模块,他们发现自主代理在处理特定任务时可以通过工具的使用来增强模型的表现。
TALM 和 Toolformer 的方法则是对 LLM 进行微调,以学习如何使用外部工具的 API。它们通过评估新添加的 API 是否提高了模型输出的质量来扩展数据集。
结论
在构建以 LLM 为中心的智能体过程中,尽管存在上下文长度、长期规划及自然语言接口的可靠性等挑战,但这些概念验证演示不断推动智能体的发展与应用。未来,随着技术的进一步发展,LLM 的潜力将被更深入地挖掘。