跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

从长期记忆角度解析 Agent 技术

探讨了从长期记忆角度解析 Agent 技术的必要性及实现方案。文章首先分析了 LLM 受限于 Token 数量的挑战,引出长期记忆在构建自主智能体和模拟器中的核心作用。接着介绍了 LangChain、AutoGPT、BabyAGI 等流行 Agent 项目及其工作原理。重点阐述了向量数据库在记忆存储中的应用,详细对比了短期记忆(滑动窗口、摘要)与长期记忆(RAG、向量检索)的管理策略。最后讨论了 Token 控制、Prompt 压缩及向量搜索融合等优化方向,并展望了多模态记忆与隐私保护的未来趋势。

云间漫步发布于 2025/2/7更新于 2026/10/2488 浏览
从长期记忆角度解析 Agent 技术

1. 为什么需要长期记忆?

在人工智能领域,大语言模型(LLM)面临着与人类短期记忆类似的挑战。受限于输入提示(Prompt)的 Token 数量上限,模型无法记住无限长的历史对话或外部知识。为了解决这个问题,一种解决方案是在输出中重复关键信息以创建暂存器,但这并不高效且容易受到上下文窗口限制的影响。

基于 LLM 的原生应用通常包含三个核心元素:LLM 能力、交互机制和记忆系统(专有数据 + 个性化)。因此,构建具备长期记忆能力的自主智能体(Autonomous Agents)和智能体模拟器(Agent Simulations)显得尤为重要。长期记忆能够克服 Token 限制,减少幻觉(Hallucination),并提供持续的学习能力。

2. Autonomous Agents

2.1 什么是 Autonomous Agents?

根据 Matt Schlicht 的定义,自主智能体是由 AI 驱动的程序,当给定一个目标时,能够自行创建任务、完成任务、创建新任务、重新排序任务列表,并循环执行直到目标达成。

例如,给 Agent 一个任务:'发布关于最新进展的推文'。它会先理解并分解目标,制定实施计划及优先级,反思计划漏洞,搜索相关信息,汇总内容,最后自动发送。全过程人类仅需提供初始指令。

其核心技术点包括:

  • LLM:核心推理与生成能力。
  • Long-term Memory:解决 LLM 固有的上下文限制。
  • 递归思想:通过反馈循环不断优化执行路径。
2.2 流行的 Autonomous Agents

2.2.1 LangChain LangChain 是开发 LLM 应用的框架鼻祖,提出了 Agents、Tools、Plugins、Memory 等概念,为生态爆发奠定了基础。

2.2.2 Visual-ChatGPT / TaskMatrix Visual-ChatGPT 将视觉基础模型与 LLM 结合,后合并为 TaskMatrix。此类项目流程可控,负担较轻,适合垂直领域。

2.2.3 HuggingGPT 微软与 HuggingFace 合作的项目,利用 LLM 作为控制器分配任务给特定模型(如文生图用 Stable Diffusion)。流程分为任务规划、模型选择、任务执行、结果生成四步。

2.2.4 AutoGPT 实验性开源程序,展示 GPT-4 的自主功能。它通过'思考 - 计划 - 分配 - 收集 - 输出'的循环实现自我迭代,已具备自主智能体的范畴特征。

2.2.5 BabyAGI 将 LLM 转换为数字助理,可执行互联网任务。工作流程包括提取任务、执行、存储结果到向量数据库、创建新任务并重新排列优先级。

2.2.6 NexusGPT 模拟自由职业者平台,每个 Agent 擅长不同领域,通过雇佣专业 Agent 维持组织运转。这代表了 AI 平权与个性化的发展方向。

3. Agent Simulations

3.1 什么是 Agent Simulations

智能体模拟器通过计算机模拟理解复杂的智能体交互问题,涉及多个智能体之间的相互交互。主要依赖长期记忆和仿真环境。

3.2 流行的 Agent Simulations

3.2.1 CAMEL 提出角色扮演交际智能体框架,利用 LLM 促进自主合作,提供认知过程洞察。使用概念提示引导聊天智能体,保持与人类意图一致。

3.2.2 Generative Agents 斯坦福和谷歌的研究成果,基于深度强化学习模拟人类行为。训练分两个阶段:观察学习策略和执行任务优化决策。被视为'虚拟人类'。

4. Autonomous Agents 和 Agent Simulations 依赖 LLM 的能力

无论是自主智能体还是模拟器,其核心驱动力均为 LLM 的理解、推理及生成能力。Prompt Engineering 的质量直接决定了 Agent 的表现。

5. 向量数据库

为了支持长期记忆,向量数据库(Vector Database)是关键基础设施。它将文本转化为高维向量存储,支持语义检索。

常见的向量索引算法包括:

  • HNSW (Hierarchical Navigable Small World):基于图的近似最近邻搜索,速度快,精度高。
  • IVF (Inverted File Index):倒排文件索引,适合大规模数据。
  • Flat Index:穷举搜索,精度最高但速度慢。

主流产品包括 Faiss、Milvus、Pinecone、Zilliz 等。Faiss 由 Facebook 开源,性能优异;Milvus 专注于云原生向量检索;Pinecone 提供托管服务。

6. 记忆管理架构

6.1 Retrieval Augmentation

悟空采用的记忆方案是检索增强生成(RAG)。通过外部存储增强模型记忆。当需要大量聊天记录或知识库时,存入向量数据库,按需获取最相关片段。

核心策略是按最近的短期记忆(Memory)和最相关的长期记忆(History)组织 LLM 记忆,以在 Token 限制下趋近完成目标。

6.1.1 短期记忆(Memory)

多轮对话历史视为短期记忆,是 Prompt 的一部分。虽然能塑造 LLM 性格,但存在 Token 消耗随轮数增加的问题。目前序列长度限制通常在 2048 至 32768 Token 不等。

解决策略:

  • 滑动窗口:只保留最近 K 轮对话。
  • 摘要压缩:利用 LLM 对历史对话进行总结,压缩 Token 占用。
6.1.2 长期记忆(History)

长期记忆指跨会话的持久化存储。除了微调(Fine-tune)外,更常用的方法是外部数据库存储。

实现步骤:

  1. 文档切片:将长文档拆分为 Chunk,保证句子完整性。
  2. Embedding 编码:使用 Embeddings API 将文本转为向量。
  3. 向量存储:存入向量数据库(如 Faiss)。
  4. 检索:用户提问编码后,查询相似度最高的向量,作为 Context 输入 LLM。
6.1.3 文档检索(Knowledge)

支持基于用户上传文档的问答。流程包括:

  • 切片:使用分割符(如句号、换行)切分文档。
  • 构建索引:调用 Embedding API 编码并插入数据库。
6.1.4 Prompt 的组成

最终 Prompt 融合以下部分:

  • Role:角色设定。
  • Knowledge:检索到的文档内容。
  • History:长期对话记忆中相关的问答对。
  • Memory:当前 Session 最新的 K 轮对话。
  • Query:用户当前输入。

示例结构:

{role}
从下文中提取有用的内容进行回答,如果不在下文提到的内容,可以生成相关的内容。
{knowledge}
{history}
{memory}
问题:{query}
回答:
6.1.5 Token 控制

当 Prompt 超过最大长度时,需采取截断或摘要策略:

  1. 截断文档检索结果。
  2. 截断 Memory 保留一轮。
  3. 对 Memory 进行预计算 Summary。
  4. 仅保留 History 中的最相关记录。
6.2 重点优化方向

6.2.1 短期记忆优化

  • 摘要提取:利用 LLM 对历史互动进行摘要,控制 Token 数量。
  • 实体抽取:抽取重要实体和内容,利用知识图谱组织关系。

6.2.2 压缩 Prompt 参考萨里大学的研究《Unlocking Context Constraints of LLMs》,通过 Self-Information-Based Content Filtering 识别冗余内容。删除 LLM 已学习过的背景信息,在有限 Context 中放入更多有效内容。

6.2.3 向量搜索与传统搜索融合 向量搜索适合模糊匹配,传统搜索适合精确索引。融合两者可解决精准记录场景下的不足。此外,可结合第三方 Search API(如 Bing、Google)解决时效性问题。

6.3 一些思考

单次记忆增强发挥了 LLM 的信息整合能力,避免了幻觉。但未充分挖掘高阶逻辑链(Chain of Thought)能力。未来的研究方向包括结合 ReAct、Reflexion 等论文提出的方案,以及 AutoGPT、BabyAGI 等项目的实践,探索记忆与逻辑推理的深度结合。

7. 未来展望

随着模型上下文窗口的扩大(如 100K+ Token),短期记忆的压力将减轻,但长期记忆的需求依然存在。未来的 Agent 系统将更加注重:

  • 多模态记忆:不仅存储文本,还包括图像、音频的关联记忆。
  • 隐私保护:在本地设备上进行记忆加密与处理。
  • 自适应学习:Agent 能够根据用户反馈自动调整记忆权重。

通过合理的记忆架构设计,Agent 将更接近人类的认知模式,实现真正的自主智能。

目录

  1. 1. 为什么需要长期记忆?
  2. 2. Autonomous Agents
  3. 2.1 什么是 Autonomous Agents?
  4. 2.2 流行的 Autonomous Agents
  5. 3. Agent Simulations
  6. 3.1 什么是 Agent Simulations
  7. 3.2 流行的 Agent Simulations
  8. 4. Autonomous Agents 和 Agent Simulations 依赖 LLM 的能力
  9. 5. 向量数据库
  10. 6. 记忆管理架构
  11. 6.1 Retrieval Augmentation
  12. 6.1.1 短期记忆(Memory)
  13. 6.1.2 长期记忆(History)
  14. 6.1.3 文档检索(Knowledge)
  15. 6.1.4 Prompt 的组成
  16. 6.1.5 Token 控制
  17. 6.2 重点优化方向
  18. 6.3 一些思考
  19. 7. 未来展望

更多推荐文章

查看全部
  • 基于 Rokid 灵珠平台的旅游 AR 智能体搭建指南
  • 前端 AI 工具实战:Claude、OpenCode 与 A2UI 协议
  • C++ 多态:面向对象动态行为的核心机制
  • IBM Watson Conversation API 实战:机场客服场景与上下文管理
  • AIGC与现代教育技术的应用实践
  • 多智能体(Multi-Agent)架构选型:四种模式详解
  • LangChain 框架入门:核心组件、模块与文档指南
  • 2026自愈式爬虫开发:Python+AI应对页面改版
  • C++ 从零实现 Json-Rpc 框架:服务端模块划分
  • Git 常用命令使用指南
  • Seedance 2.0 智能资源画像与 Terraform 算力预算方案实践
  • Z-Image i2L 本地 AI 绘画工具快速入门与参数调优
  • 二叉树深度优先遍历实战:计算布尔值与路径数字和
  • C++ 算法刷题实战:重组偶数、体操队形及二叉树路径和
  • Flutter inAppWebviewCookieManager 在鸿蒙系统的适配与安全实践
  • Awesome GitHub Copilot 定制化功能与资源汇总
  • 从 try-catch 回调到链式调用:更优雅的 async/await 错误处理方案
  • SBUS 协议详解:从原理到 STM32 实战
  • Python 驱动的 Web 与 App 端自动化测试实践
  • Triton-Copilot 人机协同设计哲学:超越传统代码生成器

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online