Agent 写入消失的四种模式
mrvladp · reddit · 2026-07-14
作者把“agent 明明写入了,后来却像消失了一样”的问题拆成四类: 1. **Key mismatch**:写入和读取用的 key 不一致,属于路由/调用问题,不是存储坏了。 2. **Compaction drop**:压缩或总结步骤在边界处悄悄丢掉事实。 3. **Concurrent lost-update**:两个写者同时基于同一版本写入,后写者覆盖前者。 4. **Stale-read then write**:某个代理持有旧视图,在别人提交新版本后又用旧数据回写,把新内容覆盖掉。 作者认为前两类更像应用层 bug,只能从 trace 里发现;后两类是协调问题,可以用传统分布式系统手段预防: - 在写入里带版本号; - 对第 3 类用 **compare-and-set**,让冲突变成可见、可重试的错误; - 对第 4 类做 **invalidation**,阻止陈旧写者直接落盘,迫使其先重新读取。 他最后追问:实践里还见过哪些“第五种”丢写模式。