JointCoreBench:用组删除基线把Agent记忆选取的评测成本降62.9%

ppylox
·10/19/2026·15 阅读

一句话结论

这篇论文解决 LLM Agent 记忆选择中「单条影响力排序失效」的评测难题:作者构建了首个带精确充分集 Oracle 的基准 JointCoreBench,并给出 JointCore 这一「先删块、再删单条」的成本有序组删除基线,在保证 100% 找到最小代价充分集的前提下,把子集评测次数砍掉 62.9%,活跃记忆压缩 87.8%。

方法要点

核心问题定义:逐决策记忆充分性

传统 RAG/记忆检索按「相关性」或「单条影响力」排序,无法识别冗余证据(多条互为替代)与联合必要证据(必须同时在场)。论文形式化定义:

对某次决策 $d$,找到最小代价子集 $S \subseteq M$,使得 Agent 在 $S$ 上的行为与完整记忆 $M$ 一致。

JointCoreBench:把「搜索误差」与「模型误差」分开

基准包含四大要素,生成 6,912 个精确条件:

维度 规模 说明
交互家族 9 类 涵盖冗余、联合必要、链式依赖等
工作流领域 6 个 代码生成、工具调用、规划等真实场景
决策类型 自然语言 非合成模板,贴近生产
Oracle 精确充分集 每条件唯一最小代价答案,消除标注噪声

JointCore:成本有序的组删除基线

核心思想:单条删除(Singleton Deletion)需 $O(|M|)$ 次模型查询;JointCore 先把记忆按相关性分块,整块试删,再在必要块内回退到单条。

# 伪代码:JointCore 核心循环
def joint_core(memory_blocks, cost_fn, oracle_check):
    # 1. 按删除代价升序排块
    blocks = sorted(memory_blocks, key=cost_fn)
    sufficient_set = []
    
    for block in blocks:
        # 2. 尝试整块删除
        candidate = sufficient_set + [b for b in blocks if b != block]
        if oracle_check(candidate):          # 整块可删
            continue                         # 永久丢弃该块
        # 3. 整块不可删 → 回退到单条删除
        for record in block:
            trial = sufficient_set + [r for r in block if r != record]
            if not oracle_check(trial):      # 单条不可删
                sufficient_set.append(record)
    return sufficient_set

关键设计:

  • 成本有序:先删「便宜/低相关」块,尽早触发 Oracle 否决,减少后续查询。
  • 两阶段回退:块级通过 → 省下块内所有单条查询;块级失败 → 仅在必要块内做单条细粒度搜索。
  • 确定性主接口:物理删除、UNKNOWN 掩码、PENDING 哨兵、反事实值、替代标签五种删除接口均在主接口下保持行为一致。

关键数字

实验设定 指标 JointCore Cost-Aware Singleton Deletion 提升/差距
JointCoreBench(6,912 精确条件) 最小代价充分集回收率 100.0% — 基线达标
子集评测次数 11.13 30.00 ↓ 62.9%
活跃记忆节省 87.8% — 压缩上限
跨 4 模型族(12B–70B),432 任务/模型 平均模型查询数 10.28 16.00 ↓ 35.8%
最小代价回收率 50.6% 43.1% ↑ 7.5 pp
完整记忆行为保持 ✅ ✅ 两者均达标

数据来源:论文 Abstract 与实验章节 来源1 / 来源2

局限与前提

  1. 仅是基准基线,非部署方案
    作者明确:「JointCore is an efficient benchmark baseline; the study does not establish deployment-ready memory compression.」——别直接拿去生产压记忆。
  2. 依赖精确 Oracle
    6,912 条件的 100% 回收率建立在「已知最小充分集」前提下;真实场景无 Oracle,需用启发式或代理模型近似,性能会打折。
  3. 接口敏感
    物理删除、UNKNOWN 掩码、PENDING 哨兵、反事实值、替代标签五种接口下行为不一致,生产落地时必须固定删除接口,否则同一子集可能导致不同决策。
  4. 模型规模与任务分布
    实验覆盖 12B–70B 四个模型族,未测 70B+ 或 MoE 架构;432 任务/模型偏向代码/工具类,通用推理、长上下文对话覆盖不足。
  5. 确定性主接口假设
    所有「行为保持」结论基于确定性解码(temperature=0、固定种子),采样解码下一致性未验证。

能不能用

维度 现状
代码/权重开源 论文未提供代码仓库链接,arXiv 页面无 Code 标签,Hugging Face / CatalyzeX / DagsHub 均未检索到复现仓库。
本地复现条件 若作者后续释出:需 4×A100 80G 以上显存跑 12B–70B 模型族;需自行实现 9 交互家族 × 6 领域的数据生成管线;Oracle 构造需人工或强模型标注。
可直接借鉴的工程点 1. 分块+成本排序的两阶段删除策略可直接移植到现有记忆剪枝流程;2. 五种删除接口的对比实验提醒:生产系统必须锁定单一删除语义;3. JointCoreBench 设计思路(交互家族+精确 Oracle)可用于自建记忆评测集。

参考来源

  1. https://ar5iv.labs.arxiv.org/html/2610.23266
  2. http://arxiv.org/abs/2610.23266v1

相关文章

评论 (0)

暂无评论,来写第一条吧