十篇指南 · 阅读顺序

01什么是 AI 智能体 02AI 智能体的类型 03AI 智能体评估 04构建流程与顺序 05智能体记忆 06工具调用与 MCP 07多智能体系统 08智能体失效模式 09运行智能体的成本 10智能体框架

智能体专题

网络上的 AI 智能体 智能体即服务

模型对比

AI 智能体对比 — 即将上线

新闻

全球 AI 智能体新闻 新加坡智能体新闻

评估

快速就绪自测

AiAgentNook

AiAgentNook 是做什么的 指南是如何写成的

智能体记忆:上下文窗口、RAG 与长期状态

简要回答

智能体的工作记忆就是模型的上下文窗口——它此刻能看到的文本。它容量有限,而且每个会话开始时都是空的。更长的记忆是在它之上搭建的:检索(RAG)在需要时取来知识,智能体可以写入的外部存储则把东西留到以后用。

AI 模型在两次调用之间会忘掉一切。智能体此刻“知道”的东西,要么本来就在它的上下文窗口里,要么是被取进窗口的。所以记忆是构建者加上去的——不是模型自带的。

图 05 —— 工作记忆只负责读;长期记忆既能读也能写

先从限制说起。上下文窗口是模型在写回复时 能看到的全部文本——它的工作记忆。指令、对话内容、每一个 工具结果,以及回复本身,都会占用其中的空间。而且并不是 越多越好:窗口越装越满,模型回忆其中内容的准确性就越低。 所以选择放什么进去,和能装下多少同样重要 [1]

一种常见的说法借用了人类记忆的概念。短期记忆就是窗口里 装着的内容。长期记忆则是一个外部存储,智能体需要什么时 就去搜索它 [2]RAG(检索增强生成——按需把有用的文档取进 窗口)是只读的那一半。你把文档切成小块,再为每个任务拉进 相关的块。但切分得不小心就会丢失含义。这正是为什么 Anthropic 的“上下文检索”——在索引之前给每个块加上一小段 背景说明——能把检索失败减少 49% [3]

上下文窗口是工作记忆;所有更长期的东西都是工具。

智能体可以写入的记忆

可读可写的那一半出现得更晚。在这里,智能体得到一个它可以 自主写入的存储——笔记、偏好、任务进度——并在之后的会话里 再读出来。一个名为 MemGPT 的研究项目把这 比作计算机操作系统的工作方式:把上下文窗口当作快但小的 主内存,让模型自己把信息在更大的外部存储之间搬进搬出 [4]。 同样的思路如今已经作为记忆工具出现在真实的智能体产品里。

每一层什么时候才值得加?

按这个顺序添加。只要上下文窗口的内容选得好,就足以覆盖 大多数能在一个会话内完成的任务。当智能体需要的知识超出 窗口应当承载的量时,再加检索。只有当任务真的跨越多个会话 时,才加可写的长期记忆。它会带来一种新的失败方式——过时或 错误的记忆越积越多——所以要等评估就位之后再加,而不是之前。

图书馆里两排高大书架之间的过道,架上是编目整齐的书
图版 05 —— 好用的记忆靠归档,不靠堆放 摄影 — Zetong Li,Unsplash

资料来源

  1. Claude docs — Context windows (platform.claude.com)
  2. Lilian Weng — LLM Powered Autonomous Agents, 23 Jun 2023
  3. Anthropic — Introducing Contextual Retrieval, 19 Sep 2024
  4. Packer et al. — MemGPT: Towards LLMs as Operating Systems, arXiv 2310.08560, Oct 2023

常见问题

AI 智能体是怎么记住东西的?

在一次会话之内,一切都放在模型的上下文窗口里——它的工作记忆。跨会话时,智能体依靠检索(把有用的文档取进窗口)和智能体自己写入的外部存储。模型在两次调用之间什么都不保留。记忆是围绕模型搭建的,而不是模型自带的。

RAG 和智能体记忆有什么区别?

RAG 是只读的:它在一组固定的文档里查找,在问题出现时把有用的部分拉进窗口。智能体记忆是可读可写的:智能体自己选择要保存什么——笔记、偏好、任务进度——并在之后的会话里读回来。现实中的智能体大多两者都用。

什么是上下文窗口?

模型在写回复时能看到的全部文本:它的指令、对话内容、工具结果,以及回复本身。它的大小是固定的,而且越装越满时,模型的准确性会下降。所以放什么进去和窗口有多大同样重要。