在当今人工智能飞速发展的时代,AI Agent 正逐渐成为一个备受关注的领域。它被视为实现人工智能“自主解决问题”愿景的关键,有望将软件架构的范式从面向过程迁移到面向目标,为用户提供真正意义上的个性化服务。本文将结合两篇文章,深入探讨 Agent 的形态、能力和架构,旨在帮助读者系统地认识 AI Agent 的核心要素、设计模式以及未来发展方向。
Agent 的核心要素与架构概述
(一)核心要素
不同的机构或团队对 Agent 的架构模块划分略有差异,但基本上包含了感知、记忆、规划、行动四个核心要素。此外,部分团队还涉及定义(管理 Agent 角色特性)、学习(预训练、小样本学习)、认知与意识(思考、整体认知)等特色模块。Lilian Weng 在其博客中将 AI Agent 定义为“规划 + 记忆 + 工具调用”的组合,强调 LLM 作为系统的核心控制器。
(二)架构概述
在一个由大语言模型(LLM)驱动的自主 Agent 系统中,LLM 充当 Agent 的大脑,辅以几个关键组件:
规划
子目标和分解:Agent 将大型任务分解为更小、更易于管理的子目标,从而能够高效处理复杂任务。 反思和改进:Agent 可以对过去的行动进行自我批评和自我反思,从错误中学习并为未来的步骤进行改进,从而提高最终结果的质量。
短期记忆:可以将所有的上下文学习视为利用模型的短期记忆进行学习。 长期记忆:为 Agent 提供了在较长时间内保留和回忆(无限)信息的能力,通常通过利用外部向量存储和快速检索来实现。
Agent 的能力体现
(一)规划能力
一个复杂的任务通常涉及多个步骤,Agent 需要知道这些步骤并提前进行规划。
任务分解
思维链(CoT):已成为一种标准的提示技术,用于增强模型在复杂任务上的性能。模型被指示“逐步思考”,以利用更多的测试时间计算将困难任务分解为更小、更简单的步骤。 思维树(ToT):扩展了 CoT,通过在每个步骤探索多种推理可能性。它首先将问题分解为多个思维步骤,并为每个步骤生成多种思维,形成一个树结构。 其他方法:任务分解还可以通过简单提示、特定任务指令或人类输入来完成。此外,还有一种不同的方法是 LLM + P,它依赖于外部经典规划器进行长期规划。
ReAct:通过扩展动作空间,将推理和行动集成在 LLM 中,增强了推理和外部感知之间的协同作用。 Reflexion:是一个框架,为 Agent 配备动态记忆和自我反思能力,以提高推理技能。 Chain of Hindsight(CoH):鼓励模型通过明确呈现一系列过去的输出,并为每个输出标注反馈,从而在自身输出的基础上进行改进。 Algorithm Distillation(AD):将相同的思想应用于强化学习任务中的跨情节轨迹,旨在学习强化学习的过程,而不是训练特定任务的策略本身。
(二)记忆能力
记忆类型:可以大致将人类记忆的分类映射到 Agent 的记忆中,包括将感官记忆视为学习原始输入的嵌入表示,短期记忆视为上下文学习,长期记忆视为外部向量存储。 最大内积搜索(MIPS):外部记忆可以缓解有限注意力跨度的限制。一种标准做法是将信息的嵌入表示保存到可以支持快速最大内积搜索(MIPS)的向量存储数据库中。常见的 ANN 算法包括 LSH、ANNOY、HNSW、FAISS 和 ScaNN 等。
(三)工具使用能力
为 LLM 配备外部工具可以显著扩展模型的能力。
MRKL 系统:是一种用于自主 Agent 的神经符号架构,包含一组“专家”模块,通用的 LLM 作为路由器将查询路由到最合适的专家模块。 TALM 和 Toolformer:微调 LM 以学习使用外部工具 API。 HuggingGPT:是一个框架,使用 ChatGPT 作为任务规划器,根据模型描述选择 HuggingFace 平台上可用的模型,并根据执行结果总结响应。 API - Bank:是一个用于评估工具增强型 LLMs 性能的基准,包含 53 个常用的 API 工具、一个完整的工具增强型 LLM 工作流程以及 264 个带注释的对话。
Agent 的形态与应用案例
(一)科学发现 Agent
ChemCrow 是一个特定领域的示例,其中 LLM 与 13 个专家设计的工具相结合,以完成有机合成、药物发现和材料设计等任务。人类评估显示,ChemCrow 在完成和化学正确性方面明显优于 GPT - 4。此外,还有其他研究探索了 LLM 赋能的 Agent 在科学发现中的应用,但也面临着一些风险,如非法药物和生物武器的问题。
(二)生成式 Agent 模拟
Generative Agents 是一个有趣的实验,25 个由 LLM 驱动的虚拟角色在一个沙盒环境中生活和互动。该设计将 LLM 与记忆、规划和反思机制相结合,使 Agent 能够根据过去的经验进行行为,并与其他 Agent 进行交互。这种模拟产生了涌现的社会行为,如信息传播、关系记忆和社会事件协调。
(三)概念验证示例
AutoGPT:引起了人们对以 LLM 为主要控制器设置自主 Agent 可能性的关注。然而,由于自然语言接口的原因,它存在很多可靠性问题。 GPT - Engineer:是另一个项目,根据自然语言指定的任务创建一整个代码仓库。它会思考要构建的较小组件列表,并在需要时向用户询问以澄清问题。
Agent 面临的挑战与改进方向
(一)面临的挑战
有限的上下文长度:受限的上下文容量限制了历史信息、详细指令、API 调用上下文和响应的包含。虽然向量存储和检索可以提供对更大知识池的访问,但它们的表示能力不如全注意力强大。 长期规划和任务分解的挑战:在漫长的历史中进行规划并有效地探索解决方案空间仍然具有挑战性。LLMs 在面对意外错误时难以调整计划,与从试错中学习的人类相比,它们的鲁棒性较差。 自然语言接口的可靠性:当前的 Agent 系统依赖自然语言作为 LLM 与外部组件(如记忆和工具)之间的接口。然而,模型输出的可靠性值得怀疑,因为 LLM 可能会出现格式错误,偶尔还会表现出叛逆行为(如拒绝遵循指令)。
(二)改进方向
自主化演进
代码即工具:在工具使用与选择方面,向多种工具的选择规划进化,甚至更进一步地创造适用于 LLM 的工具。 自我成长:让 Agent 根据之前的经验(记忆)改进行为,可结合 RAG 技术实现将知识库转变为长期记忆,同时对记忆进行概括和抽象,以解决上下文长度限制和注意力问题。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...