
52.9%准确率是怎么来的agent-memory在LongMemEval-S上的评测设计与harness解读【免费下载链接】agent-memoryLong-term memory runtime for AI agents — plain Markdown as the source of truth, local ranked retrieval, and an independent sleep-time Manage layer. Claude Code and Codex share one store. No API key.项目地址: https://gitcode.com/gh_mirrors/age/agent-memoryagent-memory 是一个为 AI Agent 提供长期记忆的运行时以纯 Markdown 为唯一事实来源、本地排序检索、独立的睡眠期 Manage 层。本文解读它的官方实验框架 harness 如何在 LongMemEval-S 基准上跑出52.9% 的 W2 臂准确率以及这个数字背后每一个可复现、可审计的测量细节。52.9% 到底是哪场实验的产物先给出结论表数据来自 README.md 的 Proof it works 一节臂arm池化准确率与 agent-memory 配对比较agent-memory W2127/240 52.9%—MemCore W286/240 35.8%37/−17, p0.009 · 35/−14, p0.004无记忆7/120 5.8%61/−4 · 60/−4, p0.001三个数字拆解得很干净120 个 episode × 每臂 2 次考试重放 240 次判分。52.9% 就是 127 次判对。被测宿主是claude -pHaiku 4.5评审是经过校准的Sonnet 5。haystack对话语料被有界化到每 episode 12 个会话——所以这是写入策略研究不是语料规模研究。系统间那一行MemCore vs agent-memory写入和读取同时不同属于端到端比较README 明确声明它不授权把差异归因给写入或读取的任何一半。W 矩阵五种写入策略同台对照harness 把记忆怎么被写进去抽象为五种 W 选项定义在 arms.py 中臂模式含义W0none无记忆对照组W1boundary blocking会话边界自写但阻塞任务收尾W2boundary non-blocking边界分叉蒸馏脱离关键路径胜出者W3cold事后冷读归档转录W4inline对话进行中内联写入关键设计W 选项全部是配置项而非代码分支ADR-006命令行一个--set SECTION.KNOBVALUE就能改一个旋钮所有臂共用同一套评测代码——这是分数差异只能来自 W的前提。harness 评测流水线从数据集到报告整套流水线由 main.py 的mem-exp子命令驱动可以拆成 4 步1️⃣ prepare — 有界化语料一次落盘prepare命令把 haystack 裁剪到每 episode 12 个会话且答案证据会话优先保留。裁剪一次、落盘一次之后所有臂重放完全相同的语料——否则任何比较都无效。2️⃣ 分层抽样 — 每个臂看到同一份题单sampling.py 按问题类型分层默认每层 4 题、固定种子 20260901 抽满 120 题并对题单做 SHA-256 指纹。run --resume时会核对指纹换了一组题或换了一个记忆系统恢复直接拒绝。3️⃣ run — 并发跑 W × episode 矩阵每条记录写入runs.jsonl字段包含正确与否、写入记忆条数、各阶段耗时、检索指纹、episode 指纹见 metrics.py。一个值得注意的细节碰到限流quota/rate limit整场矩阵停机已测结果保留——配额失败是环境失败不是测量数据绝不能把剩下每题记成答错。4️⃣ report — 归因守卫report.py 输出汇总表并打印一行attribution licensed: true/false。只有当所有臂共享同一个检索指纹和同一个题单指纹时归因才被授权——这是数字能不能当结论用的最后一道闸。LLM 判卷如何让一个噪声仪器可信评审本身是实验变量harness 在 judge.py 里做了三层防护5 票多数制每道题并行投 5 票有效票中过半 yes 才算对。LLM 评审器是噪声仪器重复投票就是给噪声定界。判分规则分三类ABSENCE正确答案是没说过、STANDARD偏好型标准、FACT事实值。对 abstention 题含糊地猜一个答案判错——这是记忆系统自信编造失效模式的直接探针。投票在隔离环境进行每票跑在临时目录里、禁用工具、清空记忆库环境变量与被测工作区完全隔离。配套还有两个子命令calibrate --cases 人工标注题评审器没对过已知答案就不算测量仪器先校准再上岗regrade换评审模型后只重新判分、不重跑宿主判分器升级不花宿主调用成本。两种考试模式agentic vs fixedexam.py 定义了两种考试方式这一节是理解误差来源的关键模式检索由谁驱动特性agentic宿主自己驱动mem recall最接近真实使用但宿主搜索行为本身成为测量变量fixedharness 自己执行检索、拼上下文、单问单答消除了agent 循环的自由度让记忆配置真正可比文件头注释给出了量级参考同一冻结配置反复重放 agentic 考试波动可达±7 题 / 120 题——足以埋没记忆配置之间的差异。所以配置谁更优的结论要用 fixed 模式拿系统端到端好不好用用 agentic 模式拿两者回答的是不同问题。第二个基准 LoCoMo为什么值得转换进来locomo.py 把 LoCoMo 基准转换而非适配成与 LongMemEval-S 相同的 episode 形状。理由写在模块 docstring 里一个第二基准只有问出第一基准问不了的东西才值得存在——LoCoMo 的问题按类别分级其中包含一类**诚实答案是对话里根本没说过**的题目。转换而非适配还保证了 driver、隔离门和报告对存在第二套题完全无感知两套基准才能互相可比。对应的系统测试在 tests/system/test_locomo.py。这个数字的诚实边界README 里有一段必须原样理解的声明绝对数值不可与公开的 LongMemEval 分数直接对比——因为 haystack 被有界到每 episode 12 会话52.9% 度量的是写入策略不是语料规模下的检索能力。系统间行同样只支持端到端结论不授权拆分归因。理解这两点之后52.9% 才是一个站得住的数字。如何自己复现这套 harnessgit clone https://gitcode.com/gh_mirrors/age/agent-memory cd agent-memory uv sync --all-packages核心命令序列详见 main.py 的mem-exp子命令mem-exp prepare --source LongMemEval-S.json --target suite.json --sessions 12 mem-exp run --suite suite.json --workspace /tmp/run --arms W0,W2 --host claude-code mem-exp report --workspace /tmp/run想验证评审器本身先跑mem-exp calibrate --cases 标注集想检查本机哪些宿主可用跑mem-exp hosts --probe。小结52.9% 不是一次跑分而是一整套工程化测量——有界语料一次落盘、分层固定种子抽样、W 矩阵配置化、5 票校准评审、指纹归因守卫、双基准LongMemEval-S LoCoMo互为补充。它示范的与其说是一个准确率不如说是如何让一个 AI 记忆系统的评测数字经得起审计。【免费下载链接】agent-memoryLong-term memory runtime for AI agents — plain Markdown as the source of truth, local ranked retrieval, and an independent sleep-time Manage layer. Claude Code and Codex share one store. No API key.项目地址: https://gitcode.com/gh_mirrors/age/agent-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考