Skip to content

v20.0

Choose a tag to compare

@monkey2jack monkey2jack released this 24 Aug 15:58
· 25 commits to main since this release

架构版。 版本号自本版起回归两段式,运行时不再设神话代号 —— 诸神留在谱系里作历史。

这一版修的是什么

v19 之前,「这条记忆属于谁、属于哪个领域」是靠 source / agent_id 这类渠道标记兼职表达的。但渠道不是所有权。两个互不相干的记忆域一旦撞上同一个键,后写的直接盖掉先写的 —— 两边都不报错,没有任何日志,没有任何计数会变。

v20 把作用域从一种约定变成一份契约:写、查、删、恢复、统计、反馈、后台任务、事件账本、毕业链、人格画像,每一条在线读写路径都必须显式说出自己在哪个域上工作,说不出来的在取数之前就抛错,绝不静默降级成全库扫描。

迁移全程 additive:存量数据一行未改、一行未删,老数据一律落 default 域,键的形状与 v19 逐字相同。

三块主要变化

内容
记忆域隔离 新增 ducky/bank_contract.py 确立 (user_id, bank_id) 二维作用域契约;观测面(/health/metrics/search trace)补齐域 / 后端 / 降级证据 —— 组件故障一律进 degraded,不许伪装成空结果(「没搜到」和「搜挂了」长得一模一样,是这个项目反复付过学费的失败形态)
可复现评测 新增 benchmarks/:数据集、模型、judge、prompt、seed、文件哈希全部锁死留证,适配器走真实 HTTP 契约而不是进程内捷径 —— 否则测的是自己的函数,不是这个服务
最小权限 systemd 单元与容器镜像不再默认以 root 运行。生产实机前后对照(都由 systemd-analyze 自己算):暴露分 9.6 UNSAFE → 1.7 OK,capability 41 项 → 0 项

关于跑分

本版未跑分,因此不宣称任何分数。 评测协议已就位,我们也在积极准备自己的跑分,像其他友商一样努力 —— 区别在于我们打算连复现方法一起交出去:公布分数的那天,你拿同一份协议应该能跑出同一个数。

读别人的数字时请注意口径:Recall@k(答案在前 k 条里吗)与端到端问答准确率不是同一个指标,公开资料里两者常差 30 个点以上。

测试

环境 结果
独立开发机(无宿主源码) 1099 passed · 12 skipped
生产实机(九条跳过轴全部齐备) 1111 passed · 0 skipped

用例总数 1111。「全轴齐备 1111 全绿」这个数字此前是推导值,本版首次实测(2026-08-24)。

升级

存量数据零改动,直接替换代码即可。若使用随附的 systemd 模板,降权需要先建账号并交接数据目录 —— 顺序颠倒会导致服务起不来,前置步骤写在 deploy/aidumem-api.service 的注释里,请先读那一段。

完整变更见 CHANGELOG.md