跳转到内容

记忆评估

记忆评估不能只看模型有没有生成一句流畅的话。HaroCue 把「能否正确保存」「能否找到」「是否应该展示」「用户是否认为有用」「删除后是否泄漏」分开测量。

面向 要回答的问题 观察什么 当前证据
写入 提案是否引用真实范围? 类型、来源、时间、作用域 harocue-memory 抽取与生命周期测试
检索 合格 Claim 是否在预算内被找到? 命中、排序、失效项排除 retrieval.rsindexed.rs 参考查询
展示 Cue 是否应该出现和接受? 焦点、版本、来源、接受前复核 runtime completion 测试、Cue 事件日志
体验 建议是否真的减少重复解释? exactbetteroffunknown CueSummary、配对看板
生命周期 纠正、遗忘、过期后是否还会回来? 旧正文、缓存和快照是否失效 clear_barrierkernelpersistence 测试
结果 表示什么 不表示什么
抽取通过 引用范围和结构契约成立 Claim 的语义一定正确
Grounded 来源片段仍然可读 模型推断已被用户确认
Cue 被采纳 用户在当前输入处接受了建议 这条记忆永远适用

展示、采纳、丢弃、撤销是行为信号;exact / better / off 是用户明确给出的评价;未评分保持 unknown,不能当成正面结果。

记录项 为什么需要
模型与提示版本 不同模型不能直接比较
来源数量和引用粒度 决定抽取范围与 Grounded 结果
候选数量和字节预算 影响命中、延迟和展示长度
时延与费用 判断质量提升是否值得成本
作用域、revision、epoch 复现并发、清空和切换工作区场景

换了模型、提示词、引用粒度或候选数量后,新的结果只能与同条件的对照比较,不能把一次重试的最好值当成整体质量。

核心记忆契约可以离线运行:

Terminal window
cargo test -p harocue-memory --offline
位置 用途
eval/fixtures/v2-paired/ 成对业务样本
eval/src/scorer.rs 成对偏好、严重错误续接和重复解释字符数评分
frontend/src/product-api.ts CueSummary 展示、采纳、撤销和评价覆盖率
诊断页 捕捉、记忆、Cue 与问答的有限状态事件
  1. 先看引用是否真实、作用域和时间是否正确。
  2. 再看资格门是否按预期排除了失效或不可读来源。
  3. 最后区分是排序、展示、模型语义还是用户评价出了问题。

没有结果不一定是检索失败;它可能说明当前没有 Current + Grounded 的记忆。

  • 仓库测试证明的是列出的契约,不是所有平台、所有应用和所有真实模型的质量。
  • 生产接线、外部索引删除传播、规模与尾延迟仍需按对应验收记录单独复核。
  • 语义向量索引是可替换的候选适配器,不能绕过内核的作用域、时间、来源和遗忘门。
  • 公开官网演示使用固定样例,不应被当作个人数据的评测结果。

评估方法的更完整背景见 crates/harocue-memory/README.mddocs/decisions/2026-09-07-memory-benchmark-hardening.mddocs/decisions/2026-09-07-memory-citation-grants.md