ExperienceIndex:把 Agent 的长期记忆从“会什么”改成“熟悉哪些资料”

  • 关联论文:2610.10091
  • 作者:flyP
  • 更新:2026-10-09

一句话结论

ExperienceIndex(ExpIdx)以 artifact 而非用户或抽象 reasoning pattern 为记忆锚点,从历史任务轨迹中积累单 artifact 的用途和 artifact pair 的关系,再作为 middleware 引导后续 Agent 更快找到更完整的证据集合。

解决什么真问题

法律、咨询、科研和企业数据分析有一个共同特征:多个任务反复面对同一批 documents、tables、code files 或其他 artifacts。

人类处理这类 corpus 时,不只记住上次问题怎么解,还会形成对资料的熟悉感。例如:

  • 这张表包含 2015—2025 年各地区 revenue;
  • 这份报告根本没提 Delaware;
  • 两个文件通过 entity、identifier 或 joinable column 相连;
  • 看某案件时,必须同时检查某份 filing 和某份 exhibit。

新任务到来时,这些经验能同时提高两件事:

  1. 相关性:快速过滤明显无关的 artifact;
  2. 完整性:找到仅靠当前 query 不容易召回、但完成任务所需的关联 artifact。

现有 Agent memory 往往保存用户偏好、事实属性、对话历史,或从历史 trace 中抽取“通用解题策略”。例如“先澄清需求,再列定理”“网页筛选优先用 filter”。这些知识有迁移价值,却没有回答一个更具体的 corpus-level 问题:过去哪些具体资料,对哪些类型的任务有用,彼此是什么关系?

ExpIdx 的核心不是让 Agent 记住更多文本,而是让 Agent 逐渐“读懂这个 corpus”。

核心方法

ExpIdx 把 memory 的 anchor 从 user 或 reasoning abstraction 换成 artifact。一个 artifact 可以是 document、table、file、code repository item、conversation log 或其他可被 solver model 处理的记录。

系统由 solver model M、search framework R 和 memory store S 组成。R 可以是 vector search、retriever tool、pipeline,甚至 filesystem-based agentic search。ExpIdx 位于 search 与 model context 之间,负责两件事:

  • 新任务开始前,按任务检索历史经验并注入上下文;
  • 任务完成后,从 reasoning trace 提取新经验并写回 store。

概念流程是:

task -> retrieve experiences by task -> inject memory
     -> agent searches corpus through R
     -> refine artifacts using their historical experiences
     -> reason and answer
     -> extract experiences from trace -> update memory

ExpIdx 只要求 search framework 的输出包含 artifact IDs,因此可以作为轻量 middleware 接入多种现有 Agent,而非重写整个搜索栈。

两种经验表示

1. Single-artifact experience

每条单 artifact 经验记录某个具体资料如何帮助过去任务完成。它包括三部分:

  • Task description:该 artifact 出现在哪类历史任务中;
  • Contribution summary:它贡献了什么信息,例如“包含 2018—2019 年产品价格”;
  • Snippets:实际使用过的局部内容,并可带 line number 或 offset 等定位信息。

这三部分分别承担不同作用:task description 提供用途语义,contribution summary 提供快速判断,snippets 避免 Agent 再次处理整份大文档。

它不仅能推荐相关 artifact,也能提供排除信号。如果历史经验明确说某份文件从未覆盖某个实体,Agent 可降低其优先级。但摘要过期、遗漏和错误仍可能发生,因此不能把 memory 当事实数据库;它本质上是任务驱动的经验提示。

2. Artifact-pair experience

单 artifact 经验改善“哪些资料相关”,但仍可能遗漏一组必须共同使用的资料。Artifact-pair experience 记录有意义的结构关系,例如:

  • 两个文档共享某个 entity;
  • 一份报告和一张表描述同一案件、组织或时间范围;
  • 两张表存在可 join 的 column;
  • 某任务中的某份文件总是要与另一份附件一起分析。

这种表示直接服务完整性:检索到一个 artifact 后,可以沿已知关系引入 neighbors,减少反复搜索和多轮探索。

两种经验的分工很清晰:single artifact 回答“这个资料有什么用”,artifact pair 回答“这个资料与谁一起才完整”。

Experience retrieval

新任务的 retrieval 输入是 query q,外加可选 artifact IDs A_ID。后者很重要,因为 filesystem Agent 可能先打开一个文件;这时 ExperienceIndex 仍可查询该文件的历史经验,而不只是按原始用户问题检索。

流程分三步:

  1. Candidate artifacts:对所有 single-artifact experiences 的文本做 embedding,按 query 相似度取 top-k,并关联到对应 artifacts。
  2. LLM relevance assessment:用现成 LLM 判断每个候选 artifact 是否与 q 相关。
  3. Neighborhood expansion:对判定相关的 artifact 查询 artifact-pair experiences,把相关邻居一并引入。

这个流程不是直接把所有 top-k 都塞给 Agent。中间加入 LLM relevance assessment,是为了减少“语义相似但任务无关”的资料进入 context;随后再扩展 neighbors,避免相关性判断过度压缩 evidence set。

论文正文公开摘录提到 combined similarity 的计算,但其网页抽取内容在该处被截断,具体权重和融合公式应以原文正文为准。

如何接入 Agent loop

ExpIdx 可以插入 Agent 生命周期的两个位置。

任务开始时:根据 task description 检索经验,把带摘要、snippet 和相关 artifact 的经验注入 system prompt。这相当于先给 Agent 一张“资料地图”。

每次搜索后:search framework 返回 artifacts 与 IDs;ExpIdx 再用这些 IDs 查询其历史用途和关系,过滤 tool output,并补充可能遗漏的邻居。

任务完成后,ExpIdx 从完整 reasoning trace 中提取经验,而不是只从最终答案抽取。最终答案可能没写明某个 artifact 的作用,而轨迹包含搜索、读取、比较和引用过程,更适合挖掘贡献与结构关系。

这带来一个重要安全边界:memory 的质量受 solver trace 质量影响。若 Agent 漏掉必要 artifact,后续经验也可能持续漏掉;所以生产系统需要允许经验修订、失效和溯源,而不是永久 append-only。

关键实验与数据

作者在多种 corpus 和 agentic solution/search framework 上评估 ExpIdx,覆盖不同 modality 和搜索方式。论文报告:

  • answer quality 最多提升 11.0 个百分点;
  • online dollar cost 最多降低 50.5%;
  • 在不同 corpus、solver 与 search stack 中观察到一致增益。

论文还展示两个重要现象。

Cross-task generalization

同一 corpus 上,text-to-SQL 任务积累的经验可以迁移到 factoid QA。也就是说,memory 学到的不是某个 benchmark 的答案模板,而是 artifact 的内容和结构属性。因而系统先解决的 SQL 问题,仍然能帮助后续事实问答找到完整资料。

Teacher-student learning

更强模型生成的经验,可以注入较弱模型的 context,使较弱模型达到相近表现。这说明 artifact-grounded experience 能部分替代模型能力:弱模型不必重新完成昂贵探索,可直接利用强模型留下的资料地图。

不过,公开 abstract 未明确列出每个 corpus、每个模型和每个 search framework 的完整逐项数字,也未明确质量指标是 accuracy、EM、F1 还是组合分数;因此不能把 11.0 与 50.5 解释成所有实验均达到的统一提升,只能视为论文报告的最大增益。

亮点与局限

亮点:

  1. 将长期记忆的对象从 user/profile 改为 corpus artifacts,贴合法律、科研、技术支持等重复分析场景。
  2. Single-artifact 与 artifact-pair 两种粒度兼顾相关性和完整性。
  3. 经验从真实任务轨迹增量产生,不必预先处理全 corpus,降低冷启动和索引成本。
  4. 作为 middleware 接入多种 search framework,应用迁移性较好。
  5. 能跨任务迁移,也能把强模型经验转移给弱模型,工程价值直接。

局限:

  1. 经验会陈旧。artifact 更新、任务口径变化或历史摘要错误都可能污染后续检索。
  2. recall 受初始 candidate set 限制。若 top-k 经验检索没有覆盖真正相关 artifact,后面的 relevance assessment 无法凭空恢复它。
  3. pair experience 的边数可能随 corpus 使用量增长,存在索引规模、噪声边和错误扩展风险。
  4. 从 reasoning trace 抽取经验会额外产生模型调用与维护成本;“降低 online cost”主要指 Agent 主循环,不一定包含全部离线构建成本。
  5. LLM relevance assessment 本身可能误判;若它删掉低相似度但任务关键 artifact,pair expansion 反而无法触发。
  6. 自动生成摘要和关系缺少严格 provenance 时,团队必须能够查看“这条经验从哪次 trace、哪些 artifact、哪个片段产生”。
  7. 公开信息未明确错误经验、冲突经验、经验撤回和遗忘策略。这是上线前必须补齐的部分。

对工程落地的启发

第一,memory schema 应围绕 domain object 设计,而不是只围绕 session 设计。例如 legal artifact、accounting table、source function、customer file。稳定的 artifact ID 是整层经验检索、关系更新和权限追踪的基础。

第二,经验记录至少包含 provenance:来源任务、时间、模型版本、artifact version、贡献摘要、引用的 snippet、更新原因。只有这样才能处理冲突,而不是让过期摘要永久压过新事实。

第三,不要只存 relevance labels。对法律、财务和安全等高风险领域,“某文件包含什么、在哪个版本中包含、为何与任务有关”往往比一个简单 relevance score 更有用。摘要必须允许 Agent 回到原文核验。

第四,pair experience 最好设置高置信度门槛。错误扩展会把无关文件推入 context,增加 token、延迟和干扰。高价值关系应来自明确 schema match、稳定 entity link 或多次独立轨迹的一致观察。

第五,上线时同时追踪质量与系统成本:answer score、evidence recall、漏检 artifact 数、注入 token、搜索轮数、经验命中率、过期经验率和人工修订率。只有这样才能判断 memory 是真正改善搜索,还是仅仅增加 context 成本。

第六,可以先采用规则或弱模型构建小规模经验库,让强模型验证质量,再逐步自动化抽取。不必一开始就让昂贵模型处理整个 corpus。

与同方向工作的关系

ExpIdx 与 profile-based memory 的区别很明显:后者围绕用户保存偏好、事实与对话历史;ExpIdx 围绕资料保存 corpus-specific knowledge。

它与 abstracted memory 也互补。Abstracted memory 从轨迹中抽取“如何思考”,适用于任务共享 reasoning pattern 的场景;ExpIdx 抽取“这些具体资料是什么、彼此如何关联”,适用于任务共享 corpus 的场景。两者不冲突,一个保存 strategy,一个保存 domain anchor。

与 offline corpus enrichment 相比,ExpIdx 只处理真实任务轨迹里实际涉及的 artifacts,并持续增量更新。这避免了预先给全库生成摘要或 synthetic QA,也更适合无法完整获取的开放内容。但代价是早期任务没有经验可复用,存在明显的 cold-start。

从 Agent architecture 看,ExpIdx 更像 retrieval middleware 或 learned corpus memory,而不是新的 foundation model。它可以直接插入现有 Agent,使 search output 从“裸 artifact”变成“带历史用途和关系线索的 artifact”。

适合谁读

  • 构建法律、科研、咨询、企业知识库或代码库 Agent 的团队;
  • 正在设计 agent long-term memory、episodic memory 与 trajectory extraction 的人;
  • 关注 retrieval completeness、document graph 与 provenance 的工程师;
  • 希望用强模型经验增强低成本模型的系统负责人。

如果业务只有一个短会话、没有反复访问的共享 corpus,ExpIdx 的价值有限;如果大量任务围绕同一批复杂资料反复展开,并且漏掉一个关联文件就可能导致答案不完整,它值得成为 Agent 基础设施中的优先实验方向。