AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AI Agent基础知识,从这篇博文学起
发布日期:2024-07-18 15:45:00 浏览次数: 2077


AI Agent,即人工智能智能体(AI Agent),是一种能够自主感知环境、进行决策和执行动作的智能体。它通常基于LLM技术,具备自主性和自适应性,在特定任务或领域中能够自主地进行学习和改进。


去年,OpenAI的Lilian Weng 在她的博客中写了一篇文章:LLM Powered Autonomous Agents这篇文章介绍了如何利用LLM来构建具有自主决策和执行能力的智能体系统,即Agent系统:

https://lilianweng.github.io/posts/2023-06-23-agent/

以下是文章的目录:


关于AI Agent定义

在 LLM 语境下,Agent 是一种能够理解、规划决策和执行复杂任务的智能体。AI Agent可定义为集合了LLM、记忆、任务规划和工具使用的能力 。


AI Agent核心组成

规划(Planning)涉及任务分解、反思和完善,使Agent能够高效处理复杂任务 。

记忆(Memory)。包括短期记忆和长期记忆,后者通过外部存储实现信息的长期保留和快速检索

工具使用(Tool use)Agent学习调用外部 API 来补充模型权重中缺失的信息

(见下图



规划模块

1)规划Planning

在处理复杂任务时,Agent需要了解所需步骤并提前规划,最关键的一环是任务分解通过思维链/Chain-of-Thoughts, CoT技术,模型通过"think step by step"逐步思考,将难题拆解为更小、更简单的子任务

CoT 通过逐步分解任务来增强模型在复杂任务上的表现。而思维树Tree of Thoughts则进一步扩展了 CoT,通过在每个步骤中探索多种推理可能性,生成树状结构。这种方法可以使用广搜BFS或深搜DFS进行,每个状态由分类器或多数投票评估。

任务分解方法:任务分解可以通过简单的提示(如“XYZ的步骤”)或特定任务的指令(如“写小说大纲”)来完成。此外,还可以通过人类输入来辅助分解。

另一种方法是 LLM+P (此处略去),本质上是将规划步骤外包给外部工具


2)反思 Self-Reflection 

Agent通过反思和改进过去的行动决策来迭代提高性能。

ReAct 方法通过将动作空间扩展为特定于任务的离散动作和语言空间的组合,将推理和动作集成在 LLM 中。这种方法使 LLM 能够与环境交互,例如使用维基百科搜索 API,同时生成推理痕迹;Reflexion 框架为Agent配备了动态记忆和自我反思能力,提高了其推理技能。它通过展示失败的轨迹和理想反思的示例,帮助Agent在工作记忆中存储反思,以指导未来的计划。

反思还涉及到启发式功能,该功能决定何时停止当前的规划轨迹,因为它变得效率低下或包含幻觉。通过这种方式,Agent能够识别并避免无效的行动序列,从而提高整体的决策质量。这种自我反思的能力是Agent在复杂环境中进行有效决策和学习的关键。


记忆模块

(参见上图)

短期记忆:短期记忆主要涉及模型的上下文学习。它利用模型的即时计算能力来处理和存储任务执行过程中的临时信息。短时记忆对于理解当前任务的上下文和执行即时决策至关重要

长期记忆:长期记忆则提供了一种机制,使Agent能够长时间保留和回忆信息。这通常通过外部向量vector存储和快速检索实现。长期记忆允许Agent访问和利用过去的经验和知识,这对于复杂任务的执行和决策制定至关重要。
记忆系统在Agent的决策过程中扮演着重要角色。它不仅帮助Agent记住过去的行动和结果,还能够在需要时检索相关信息,从而提高任务执行的效率和准确性。例如,在处理复杂问题时,Agent可以通过检索长期记忆中的相关信息来辅助当前的决策。
尽管记忆系统在理论上具有巨大的潜力,但在实际应用中也面临一些挑战。例如如何有效地管理和检索大量信息,以及如何确保信息的准确性和相关性。此外,记忆系统的设计和实现也需要考虑到Agent的计算能力和资源限制。
关于记忆的实现,在实际应用中,记忆系统可以通过多种方式实现。一种常见的方法是使用外部数据库或知识库(vector database)来存储和管理信息,Agent可以通过查询这些数据库来检索所需的信息。

工具Tool Use模块

通过有效调用和利用外部工具和 API,Agent能够扩展其功能,提高其处理复杂任务的能力。文章也举了几个例子,比较有代表性的比如HuggingGPT,其他的还介绍了API-Bank等外部工具。

HuggingGPT 是一个框架,使用 ChatGPT 作为任务规划器,根据模型描述从 HuggingFace 平台上选择可用的模型,并根据执行结果总结响应。HuggingGPT 的系统包括任务规划、模型选择、任务执行和响应生成四个阶段。
工具使用的挑战:尽管工具使用为Agent提供了巨大的潜力,但也存在一些挑战。例如,如何确保调用的 API 是正确的,如何处理 API 调用的复杂性和多样性,以及如何优化 API 调用的性能和效率。为了提高工具使用的性能,研究人员和开发者正在探索新的技术和方法。这包括开发更智能的 API 调用策略、优化 API 调用的参数,以及使用机器学习算法来预测和选择最佳的 API。

一个case study:斯坦福小镇
斯坦福小镇指的是一篇去年非常著名的工作,俗称斯坦福小镇的论文:Generative Agents: Interactive Simulacra of Human Behavior(arxiv.org/pdf/2304.03442)。在一个虚拟的小镇沙盒里进行了一个有趣的实验,其中包含了25个AI角色,每个角色由一个由LLM驱动,即25个AI Agent。这些AI Agent通过结合LLM、记忆、规划和反思机制,在一个沙盒环境中生活和互动,模拟人类行为。


这其中包含了几个核心模块:
记忆:包含一个长期记忆模块(外部数据库),以自然语言记录Agent的全面体验。每个记忆点都是一个观察/事件。
检索模型,即retrieval model:基于检索模型也是一个经典方法,可以根据相关性和重要性,向Agent提供信息,以指导其行为。
反思机制:将记忆合成,形成更高层次的推断,并指导Agent的未来行为。这些是过去事件的高层次总结(与上述自我反思略有不同)。
规划与反应:将反思和环境信息转化为行动。规划本质上是为了优化当前时刻和时间上的可信度。
最后,总结下来的几点常见限制
有限的上下文长度:受限的上下文容量限制了历史信息、详细指令、API调用上下文和响应的包含。系统的设计必须与有限的通信带宽一起工作,而像自我反思这样的机制可以从长或无限的上下文窗口中受益,以从过去的错误中学习。虽然向量存储和检索可以提供对更大知识库的访问,但它们的表示能力不如全注意力强大。
长期规划和任务分解的挑战:在长期历史中进行规划并有效探索解决方案空间仍然具有挑战性。当面临意外错误时,LLM难以调整计划,这使得它们与通过试错学习的人类相比不够稳健。
自然语言接口的可靠性:当前的Agent系统依赖于自然语言作为LLM和外部组件(如内存和工具)之间的接口。然而,模型输出的可靠性有限,因为LLM可能会出现格式错误,并偶尔表现出叛逆行为(例如拒绝遵循指令)。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询