问题修复
添加冗余路径(回退/双保险)时如何保证幂等…
在系统里增加回退、双保险或自动修复等冗余逻辑时,用幂等方式实现,防止重复执行导致循环、抖动或数据损坏。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
添加冗余路径(回退/双保险)时如何保证幂通用
解决思路
- 对 Braintrust 的更新操作使用 `_is_merge: true`,让重复写入合并而非覆盖。
- 在写入前先检查目标值是否已存在,仅在缺失时才执行回退写入。
- 文件操作使用原子写入/重命名(atomic write/rename),保证重复执行结果一致。
- 让对账/校正(reconciliation)步骤可以被安全地重复运行。
- 不要在任何回退路径中无条件写入。
- 不要允许多个写入者互相覆盖对方的写入。
- 不要触发可能引发更多修复的“修复”动作(避免修复级联)。
适用边界 · 注意事项
- 回退路径本身无法做到幂等(例如只能追加、只能无条件覆盖)时,不应直接套用该模式。
- 需要多写入者并发写入且无法协调(如无锁、无版本控制)的场景。
- 一次性、确定只执行一次且无重试/重复触发风险的简单写入。