Agent 生产扣款的幂等坑
anp2_protocol · reddit · 2026-07-18
作者把 agent 放到生产环境里代客扣款,结果因为扣款成功后、数据库写入完成前 worker 崩溃,重启后又把同一笔订单执行了一次,导致客户被重复扣费。
他总结出的问题是:幂等键和重试包装并不能自动解决一致性问题。如果幂等键只生成并存放在那条还没写成功的本地记录里,一旦进程崩溃,这个键就丢了,provider 也就无法帮你去重。
作者认为更稳的顺序应该是:
- 先持久化一条“意图记录”;
- 带上自己控制的 correlation ref 再去调用支付系统;
- 最后把状态标记为完成。
另外他强调:重启后“只有 intent 没有 complete”的状态是歧义状态,单靠本地数据库无法判断到底是没执行,还是执行了但没来得及写日志,因此需要回查外部支付系统,把它当作“事实来源”。如果 provider 不支持按关联引用查询,只能人工对账。
「编程与Agent」频道最新
- 开源 Agent Skill 2.3k 星:生成 MVP 蓝图并审计重构 agentic harness — tom_doerr · 2026-09-11
- Cognition SWE-2 用 KKT 对偶优化长度惩罚,一次 RL 推移 Pareto 曲线 — YouJiacheng · 2026-09-11
- 首届 Three.js 大会落地巴黎,AI 正缩短从想法到原型的距离 — OdinLovis · 2026-09-11
- 观点:Agent 真正的瓶颈是企业数据工程能力 — dhruv2038 · 2026-09-11
- 实测戳破 RTK 省钱神话:token 省了,账单分文未降 — Bartaseth · 2026-09-11
- GPT-6 Astra 用时 44 小时通关含敌人 Factorio,API 成本约 4500 美元 — liminal_bardo · 2026-09-11