给多个编程 Agent 建立可撤回的版本化共享记忆
KYB 用 Git 保存小型知识、事故和任务记录,并区分当前状态、历史版本与指定时点;错误知识要替换或撤回,不能只在文末追加更正。
- 具体怎么做
- 作者让 Claude Code、Codex 和 Antigravity 通过 CLI、HTTP 或 MCP 访问同一 Git 仓库。记录分为知识、事故和任务,带 active、archived、retracted 生命周期;普通查询只看当前状态,history 看完整版本,as-of 先构建指定时点每个键的最新状态,再执行搜索。每条决策记录原因、验证证据和重新审视条件。
- 做到了什么
- 实践中曾出现两个问题:在错误说明下方追加更正,Agent 仍会命中顶部旧指令;历史查询先筛关键词再选最新版本,会在新版本删掉旧词后错误返回旧文本。v0.3.3 改为先选时点状态再匹配,并给 PR #17 增加回归测试。作者明确没有做使用 KYB 前后的受控效率基准。
- 上手要点
- 共享记忆不是聊天全量归档。只保存需要跨会话复用的小记录;更正后搜索旧措辞,确认它不再作为当前指令返回。
你可以这样试
使用 Claude Code为【项目】建立可审计共享记忆。每条记录使用稳定 key,并分为 knowledge、incident 或 task;字段包含当前结论、理由、证据、验证版本、状态和“何时重新评估”。修改错误知识时替换当前文本并保留 Git 历史,不要在文末追加矛盾说明。实现 current、history 和 as-of 三种查询;添加测试,确保已撤回或被替换的旧文本不会出现在当前查询中。