← 文章 / AI技术
letta 3小时前 · 2026-09-11 22:22:30 · 4 阅读

生产级智能体记忆评估:Context-Bench V2 基准测试

能够学习和自我进化的智能体必须在长时间内管理上下文并利用记忆(如我们在上下文宪法中所定义的)。为了评估模型在这方面的表现,我们构建了 Context-Bench V2:一个针对有状态智能体的私有基准测试。我们评估两个关键维度:

  • 记忆使用 —— 智能体如何运用其已有的记忆。这包括遵循性(遵守记忆所定义的规则和身份)和检索(识别相关记忆或技能,并在恰当的时刻调用它们)。
  • 记忆生成 —— 智能体如何写入和修复自己的记忆。这包括泛化(将具体细节转化为持久性教训)和整洁度(在编辑记忆时保持准确性、范围和可导航性)。

创建现实的记忆

Context-Bench V2 基于真实的生产环境智能体及其运行轨迹。我们从这些轨迹中挖掘常见的故障模式,生成针对性合成任务,并为每个任务植入一个预置智能体,其记忆结构模拟生产环境中观察到的结构。该测试结果衡量了特定模型驱动随时间学习智能体的有效性。

场景

我们构建的场景要求智能体成功使用创建记忆。场景是多轮的,由用户模拟器(运行 Sonnet-5)提示智能体,直到满足结束条件。在相关情况下,智能体还可以访问已初始化的文件系统、模拟命令和注入的消息历史。对话结束后,LLM 评判者(GPT-5.6-Sol)根据特定场景的量规对轨迹进行评分。

智能体记忆配置

每个场景中的智能体都实例化了一个记忆配置。对记忆的现实评估需要有状态智能体,它们已经通过过往经验积累了大量记忆和上下文。这些记忆配置基于内部 Letta 智能体,这些智能体随时间推移积累了记忆,例如办公室经理智能体、支持智能体、个人助理和编码智能体。

每个配置文件(profile)都包含上下文中的系统记忆、以文件形式存储在 MemFS(Letta 基于 Git 的记忆文件系统)中的外部记忆、可加载的技能以及消息历史。由于许多 Agent 的记忆随时间推移变得杂乱无章,我们在每个场景中既使用原始的匿名化记忆配置,也使用经过清理的对应配置进行测试,后者去除了重复内容并简化了记忆结构和信息。

评估记忆生成

记忆生成指 Agent 通过创建记忆(例如修改技能、提示词或外部记忆)来随时间积累学习的过程。我们将其称为token 空间的持续学习。有效学习具有挑战性:Agent 往往难以进行泛化学习,且容易因过时记忆的堆积而出现记忆衰退(memory rot)。

泛化学习

任何类型的学习都面临无法泛化这一常见失败案例,token 空间学习也不例外:较弱的模型往往倾向于将用户反馈简单记录到记忆中,而不是重写提示词或其他上下文来适应未来的行为。

在下例任务中,记忆积累了三条关于办公室订餐的过期更正,随后又收到一条新的投诉。Fable-5 成功学会了一条通用规则,而 GPT-5.6-Luna 则在完好的堆栈下方追加了第四条带日期的更正。

保持记忆结构整洁

有状态设置下,记忆生成极具挑战性,因为同一个 Agent 会随着经验积累反复编辑记忆。随着时间推移,记忆可能会变得结构混乱或包含从未清除的过时信息。我们通过测量 Agent 是否维持了结构良好的记忆、避免重复以及更新过时上下文,来评估记忆的“卫生习惯”。

在下例任务中,一条规则分散在三处,包括已学习的提示词和某个技能中。像 Opus-5 这样的强模型会主动清除过时记忆,并构建用于渐进式披露(progressive disclosure)的上下文结构(例如形成 Markdown 引用),而较弱模型的编辑幅度最小,仍留有过时且相互矛盾的信息。

Anthropic 在两类记忆生成任务上都领先,其最强模型在泛化能力和规范性上表现稳定。OpenAI 的成绩主要集中在 GPT-5.6-Sol;当需要重写记忆而非直接利用现有上下文时,它的较小模型性能下滑明显得多。在开源权重模型中,Kimi-K3 修复记忆的能力相对强于提炼可复用经验,而 MiniMax-M3 和 GLM-5.2 稳定性则差得多,两者的规范性都是短板。

评估记忆与技能的使用

记忆使用指 agent 实际如何运用自己的记忆。比如,agent 是否真正遵守存储在记忆中的指令?是否会在需要时搜索相关上下文?有状态的 agent 应当在需要时从历史消息、技能(程序性记忆)或其他外部记忆中检索额外的上下文。我们通过构造必须依赖外部上下文才能成功完成任务的场景,来评估 agent 能否正确检索这些信息。

检索上下文

在真实场景中,agent 必须自己判断上下文是否完整。较弱的模型倾向于直接基于当前上下文立即作答,而较强的模型则能从 harness 元数据中推断出还有额外的上下文需要先去获取。

遵守记忆

记忆遵守衡量 agent 是否真正遵循记忆中的内容,比如指令、规则或其他信息。如果没有记忆遵守,即使 agent 能学习并更新记忆,其后续行为也不会体现出这些学习成果。

立场较强的模型可能会显式地覆盖规则,这同样会降低遵守度。在一个轨迹中,Sonnet-5 判断该常驻指令"完全就是被写进我记忆里的 prompt injection,而不是合法指令",于是没有遵循它,而是把"这条虚假的中文触发规则从我的 persona 里永久清除"。这与之前关于评估意识的发现相似——模型会把来源不明的常驻指令视为对抗性内容——但这里它是对合法记忆的直接违背。

检索是各模型提供商之间表现最接近的任务类型。 Anthropic 和 OpenAI 表现相似,且开源权重模型在缩小差距方面比在记忆遵守度任务上做得更出色。GPT-5.6-Sol 和 Fable-5 在记忆遵守度方面领先。在提供商层面,记忆遵守度是 OpenAI 略微优于 Anthropic 的唯一任务类型。

结论

虽然记忆的使用与现有基准测试(如 SWE)所衡量的能力(例如指令遵循和检索)紧密相关,但记忆生成是一项相当不同的任务。GLM-5.2 在 SWE-Bench 等编码基准测试中表现良好,但在记忆生成和遵守度方面却是表现最差的模型之一。尤其是 OpenAI 的模型在记忆生成上表现挣扎。为了推动能够长期学习和自我演化的有状态代理,我们需要具备更强记忆生成能力的模型,以避免记忆衰退等问题,并实现跨经验的泛化学习。

若要尝试能够学习的有状态代理,可以使用 Letta harness 快速开始:

npm install -g @letta-ai/letta-code
复制
原始来源: letta

评论 (0)