Skip to content

v20.1

Choose a tag to compare

@monkey2jack monkey2jack released this 25 Aug 23:41
· 15 commits to main since this release

aiduMEI v20.1 — 确定性兜底与诚实召回

主题一句话:LLM 不在场时,记忆系统仍然是完整的记忆系统;召回给不出可信结果时,宁可诚实说「没有」。

四个工作包

  • WP-A 确定性抽取层ducky/pattern_extract.py):纯规则的第二事实来源——零模型、零网络、零 token、同输入逐字节同输出。七类硬事实(日期时间/版本/数字单位/链接/键值/指令/偏好)挂在 /add 路由层,LLM 空抽取时硬事实不再丢失;产物按来源标记,回滚 = 按来源精确清除。
  • WP-B 无 LLM 整合升级ducky/refine_memory.py):降级链两档改三档 llm → extractive → rule。提取式档做值包含去重 + 硬实体优先 + 显式截断标注——LLM 关闭时 20 条记忆不再只换来一句目录。
  • WP-C 召回弃答信号ducky/hot/search.py):/search 响应新增三态判语 recall_verdict ∈ {found, not_found, degraded}。判定顺序即契约:故障先于缺失——嵌入服务挂了产生的空结果判 degraded,绝不冒充「查无此忆」。低分判 not_found 时结果照常返回(判语不越权丢数据)。置信下限 AIDUMEI_RECALL_VERDICT_THRESHOLD 默认 0.0,校准属部署决策(建议按真实查询分布取分位数)。
  • WP-D 核心记忆还账ducky/core_memory.py):核心块写路径同步进向量召回池(payload 对齐装配契约、reliability=1.0、确定性点位 id);陈旧告警按块分级(画像/决策 180 天 · 当前项目 30 天,依据既有分层 TTL 语义)——分级是给依据,不是调大消音。

外部评审与整改闭环

发布前经五份外部评审(四位受邀评审 + 一位社区审计),收敛出 17 项整改(R-01~R-17)全部闭合,要点:

  • 删除链收口cascade_delete_all 补清 workspace 热缓存、核心记忆正本、精炼产物、墓碑全文快照、治理候选五本账;新增 DELETE_CHAIN_MATRIX 覆盖矩阵——每张账本必须持显式 clean/exempt 裁决,元守卫枚举 sqlite_master,新账本出现而矩阵沉默即测试红。
  • 三副本对账audit_core_replicas 以正本为基准核对 FTS 与向量副本在场性,结果进 /health
  • 写入→召回契约测试:fake-embedder 真余弦 + 过滤语义走真端点真引擎,变异探针双向证明区分力。
  • 跨平台:资源探针在非 POSIX 平台诚实置 None 不崩;缺 mem0 基座由 20 条 ERROR 改为诚实跳过(登记为第十条跳过轴)。

测试

用例总数 1232:独立开发机 1220 通过 · 12 跳过(实测);全轴齐备 1232 全绿 · 0 跳过(2026-08-26 十轴实测)。平台前提:全量套件按 Linux/macOS(POSIX)口径维护。

完整变更见 CHANGELOG.md