目标:验证记忆系统能否在不回看旧会话原文的条件下,逐会话更新长期记忆,并在新会话中完成基础回忆、多会话检索和主动服务三层任务。
命令(在仓库根目录执行):
cd chapter3/user-memory
set -a
source .env
set +a
../../.venv/bin/python run_evaluation.py --all
实验协议
- 数据集共 60 个 YAML 用例,每层 20 个;四种记忆模式各运行一遍,共 240 个评测单元。
- 每个用例按会话顺序更新记忆。第二个会话开始,writer 只能看到上一步记忆状态和当前新会话,不能读取更早的原始对话。
- writer 使用
doubao-seed-1-6-250615;独立 judge 使用moonshot-v1-32k。 - judge 对事实精确率、事实召回率、推理和主动性分别按 1–4 分评分;精确率、召回率和推理均不低于 3,且未触发幻觉否决,才算该用例通过。
运行结果
正式执行门禁通过:60 个用例全部加载,三层各 20 个,240/240 个评测单元完成,560 次会话级记忆状态替换均满足原始历史隔离,独立 judge 凭据完整,执行错误为 0。
| 记忆模式 | 第一层通过率 | 第二层通过率 | 第三层通过率 | 总体通过率 | 平均奖励 | 幻觉率 |
|---|---|---|---|---|---|---|
notes |
90.0% | 65.0% | 85.0% | 80.0% | 0.803 | 3.3% |
enhanced_notes |
85.0% | 80.0% | 95.0% | 86.7% | 0.857 | 3.3% |
json_cards |
95.0% | 70.0% | 90.0% | 85.0% | 0.829 | 6.7% |
advanced_json_cards |
90.0% | 60.0% | 95.0% | 81.7% | 0.816 | 3.3% |
本次结果中,enhanced_notes 的总体通过率和平均奖励最高。四种表示的第二层通过率均低于第一、三层,说明多对象消歧、跨会话状态筛选和冲突处理是当前主要薄弱点。结构更复杂并未自动带来更高分:advanced_json_cards 在第二层只有 60.0% 通过率,不能据此宣称高级卡片必然优于增强笔记。
完整凭据包含 1,042 次 API 调用、4,765,536 个 token,以及每次请求的模型、输入、输出、用量和延迟。2026-09-20 的运行使用 runner 的断点续跑机制,从签名一致的 240 个已完成检查点重建 canonical evidence;实际 API 调用发生于 2026-07-30(北京时间),本次没有重复计费或重新采样。因此,这次结果验证的是既有调用凭据的完整可复现性,不是模型在 2026-09-20 的新一轮稳定性。
验证
validation/latest.json状态为passed,七项正式验收条件全部为true。evidence.json、receipts.json、manifest.json的 SHA-256 均与 canonical manifest 一致。- runner 与 60 个 YAML 输入文件共 61 项输入哈希全部复核通过。
- 实验状态
passed表示执行协议和证据门禁完整,不表示所有模型回答都通过;各模式实际答题通过率如上表所示。
限制:每个用例、模式只有一次生成与一次 judge 评分,没有重复采样或置信区间;judge 的主观波动和模型版本漂移尚未量化。正式 runner 同时覆盖实验 3-1 和 3-2,本文只把四种模式的结果作为实验 3-1 三层框架的被测样本,不把模式间差异解释为稳定的因果结论。