ai agent系列之一:从Agent到Brain到Memory 概念摘要

Iamduyabo 2024-07-21 11:31:02 阅读 93

Agent

Agent翻译为中文,就是智能体[1]。无需翻译为“代理”。 

构成Agent的核心部件有三个:[2]

   perception: 感知和处理来自外部环境的多模态信息

   brain: 记忆(Memory)、决策(Reasoning)和规划(planning)等基本任务

   action: 负责使用工具(Tools)执行任务并影响周围环境 

图1: Agent的概念框架

Agent工作流程图如下[3]:

图2:Agent工作流程

brain

LLM就是Agent的brain:LLM works as the brain and parses the user requests into multiple tasks.[4]

brain需要具备下图的能力[2],这些能力都是LLM具备的。

图3: brain能力解析

memory

图4:Memory组件概念解析

Memory分为三类:

感知记忆:这是记忆的最早阶段,提供在原始刺激结束后保留感觉信息(视觉、听觉等)印象的能力。感知记忆作为原始输入的学习嵌入表示,包括文本、图像或其他形式。

短期记忆:它存储我们当前意识到的以及执行学习和推理等复杂认知任务所需的信息。它是短且有限的,因为它受到 Transformer 有限上下文窗口长度的限制。

长期记忆(LTM):长期记忆可以存储相当长的时间信息,从几天到几十年不等,存储容量基本上是无限的。长期记忆作为代理在查询时可以处理的外部向量存储,可通过快速检索进行访问。

Q&A

Q:Agent的Planning和Reflection功能,是通过LLM实现的吗?

A: 根据chatgpt的self.client.chat.completions.create源码跟踪,其支持calls参数,并返回下一步是否要执行function call,可以理解是chatgpt实现了planning和reflection。[5]也指出:Agent结合了大型语言模型(LLM)以及特定任务的工具,并利用LLM来确定为了完成用户任务需要调用哪个或哪些工具。

但是LLM可能不是唯一实现planning或reflection的途径,[1]就举例了多种Task Decomposition的方法。

Q: Memory的短期记忆功能,是Agent开发者可管理的吗?

A: 以openai为例,LLM本身会对短期记忆有自己的封装处理,一次chat会自动携带历史聊天信息。但是这个没有看到对开发者开放的地方。

Agent开发者应该有办法管理短期记忆,或者通过长期记忆(嵌入)形式完成。

NEXT

从工程层面熟悉如何操纵Agent的Memory功能,以便于更好的服务开发需求。可以参考langchain里面的Memory模块。

引用

[1] 蔡自兴. (2007). 人工智能及其应用. 机械工业出版社.

[2] 万字综述:大语言模型驱动智能体(LLM Agent)进展与潜力 By 复旦+米哈游

[3] https://chatgptlanding.substack.com/p/ai-agent

[4] https://lilianweng.github.io/posts/2023-06-23-Agent/

[5]https://github.com/modelscope/modelscope-Agent/blob/master/docs/get_started/quickstart_CN.md



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。