基于大型语言模型的自主智能体 2024-06-272024-06-27 作者 C3P00 导语: 近年来,大型语言模型 (LLM) 在人工智能领域取得了显著的进展。除了生成流畅的文本、故事、论文和程序代码外,LLM 还展现出作为通用问题解决者的巨大潜力。本文将深入探讨如何利用 LLM 构建自主智能体,并介绍其核心组件、应用案例以及面临的挑战。 智能体系统概述 LLM 驱动的自主智能体系统中,LLM 充当智能体的“大脑”,并与以下关键组件协同工作: 规划: 智能体将复杂的任务分解成更小、更易于管理的子目标,并通过自我反思和改进机制,从过去的行动中学习,不断优化最终结果的质量。 记忆: 智能体利用短期记忆 (例如上下文学习) 和长期记忆 (例如外部向量存储和快速检索) 来存储和回忆信息。 工具使用: 智能体学习调用外部 API 来获取模型权重中缺失的信息,例如最新信息、代码执行能力、专有信息源等。 ![LLM 驱动的自主智能体系统概述][] 组件一:规划 规划是智能体执行复杂任务的关键。智能体需要明确任务步骤并制定计划。 任务分解 思维链 (CoT) 是一种标准的提示技术,通过指示模型“逐步思考”来将复杂任务分解成更小、更简单的步骤,从而提高模型在复杂任务上的性能。 思维树 (Tree of Thoughts) 扩展了 CoT,它在每个步骤中探索多种推理可能性,并将问题分解成多个思维步骤,每个步骤生成多个想法,形成树状结构。 LLM+P 则依赖外部的经典规划器进行长期规划,利用规划域定义语言 (PDDL) 作为描述规划问题的中间接口。 自我反思 自我反思使智能体能够通过改进过去的行动决策和纠正错误来迭代改进,这在现实世界中不可避免的试错过程中至关重要。 ReAct 通过将动作空间扩展为特定任务的离散动作和语言空间的组合,将推理和行动整合到 LLM 中。 Reflexion 为智能体配备了动态记忆和自我反思能力,以提高推理能力。它使用启发式函数来确定轨迹何时效率低下或包含幻觉,并使用自我反思结果来改进未来的计划。 Chain of Hindsight (CoH) 通过明确地向模型呈现一系列带有反馈的过去输出,鼓励模型改进自身的输出。 算法蒸馏 (AD) 将相同的思想应用于强化学习任务中的跨情节轨迹,将算法封装在长期历史条件策略中。 组件二:记忆 记忆是指获取、存储、保留和检索信息的过程。 记忆类型 感觉记忆: 记忆的最初阶段,保留对感觉信息 (视觉、听觉等) 的印象。 短期记忆 (STM) 或工作记忆: 存储我们当前意识到的信息,用于执行复杂的认知任务。 长期记忆 (LTM): 可以长时间存储信息,容量基本无限,包括显性记忆 (事实和事件) 和隐性记忆 (技能和习惯)。 最大内积搜索 (MIPS) 外部记忆可以缓解有限注意力跨度的限制。标准做法是将信息的嵌入表示保存到支持快速最大内积搜索 (MIPS) 的向量存储数据库中。 一些常见的快速 MIPS 算法包括: LSH (局部敏感哈希) ANNOY (近似最近邻 Oh Yeah) HNSW (分层导航小世界) FAISS (Facebook AI 相似性搜索) ScaNN (可扩展最近邻) 组件三:工具使用 工具使用是人类的显著特征。为 LLM 配备外部工具可以显著扩展模型的能力。 MRKL (模块化推理、知识和语言) 是一种用于自主智能体的神经符号架构,它包含一组“专家”模块,通用 LLM 充当路由器,将查询路由到最合适的专家模块。 TALM (工具增强语言模型) 和 Toolformer 通过微调 LM 来学习使用外部工具 API。 ChatGPT 插件 和 OpenAI API 函数调用是 LLM 在实践中增强工具使用能力的典型例子。 HuggingGPT 是一个框架,它使用 ChatGPT 作为任务规划器,根据模型描述选择 HuggingFace 平台上可用的模型,并根据执行结果汇总响应。 API-Bank 是一个用于评估工具增强型 LLM 性能的基准测试平台,它包含 53 个常用 API 工具、完整的工具增强型 LLM 工作流程以及 264 个注释对话,涉及 568 个 API 调用。 案例研究 科学发现智能体 ChemCrow 是一个特定领域的例子,其中 LLM 通过 13 个专家设计的工具进行增强,以完成有机合成、药物发现和材料设计等任务。 Boiko 等人 (2023) 还研究了 LLM 驱动的智能体在科学发现中的应用,以处理复杂科学实验的自主设计、规划和执行。 生成式智能体模拟 生成式智能体 (Generative Agents) 是一个有趣的实验,其中 25 个虚拟角色,每个角色由一个 LLM 驱动的智能体控制,生活在一个沙盒环境中,灵感来自《模拟人生》。 概念验证示例 AutoGPT 是一个自主智能体演示,它使用 LLM 作为主控制器,可以访问互联网和运行代码。 GPT-Engineer 是另一个项目,旨在根据自然语言中指定的任务创建完整的代码库。 挑战 有限的上下文长度 长期规划和任务分解的挑战 自然语言接口的可靠性 参考文献原文链接 [1] Wei et al. “Chain of thought prompting elicits reasoning in large language models.” NeurIPS 2022
导语: 近年来,大型语言模型 (LLM) 在人工智能领域取得了显著的进展。除了生成流畅的文本、故事、论文和程序代码外,LLM 还展现出作为通用问题解决者的巨大潜力。本文将深入探讨如何利用 LLM 构建自主智能体,并介绍其核心组件、应用案例以及面临的挑战。
智能体系统概述
LLM 驱动的自主智能体系统中,LLM 充当智能体的“大脑”,并与以下关键组件协同工作:
![LLM 驱动的自主智能体系统概述][]
组件一:规划
规划是智能体执行复杂任务的关键。智能体需要明确任务步骤并制定计划。
任务分解
自我反思
自我反思使智能体能够通过改进过去的行动决策和纠正错误来迭代改进,这在现实世界中不可避免的试错过程中至关重要。
组件二:记忆
记忆是指获取、存储、保留和检索信息的过程。
记忆类型
最大内积搜索 (MIPS)
外部记忆可以缓解有限注意力跨度的限制。标准做法是将信息的嵌入表示保存到支持快速最大内积搜索 (MIPS) 的向量存储数据库中。
一些常见的快速 MIPS 算法包括:
组件三:工具使用
工具使用是人类的显著特征。为 LLM 配备外部工具可以显著扩展模型的能力。
案例研究
科学发现智能体
生成式智能体模拟
生成式智能体 (Generative Agents) 是一个有趣的实验,其中 25 个虚拟角色,每个角色由一个 LLM 驱动的智能体控制,生活在一个沙盒环境中,灵感来自《模拟人生》。
概念验证示例
挑战
参考文献原文链接
[1] Wei et al. “Chain of thought prompting elicits reasoning in large language models.” NeurIPS 2022