实测三大 Agent 框架:支付批准后进程崩溃,全部重复扣款两次
KaleidoscopeNew9259 · reddit · 2026-11-06
开发者 Salah Makboul 发布实测:在 LangGraph、Pydantic AI、OpenAI Agents SDK 中,工具支付完成后、框架保存进度前杀掉进程,按各框架文档方式恢复运行。
测试方法:每框架 30 次运行(10月21日–11月5日,每天最新版本:LangGraph 1.2.20 / Pydantic AI 2.66.0 / OpenAI Agents SDK 0.24.0),假模型、无网络、真实进程击杀。
结果:
- 无防护:三个框架每次运行都产生 2 笔支付
- 在框架外记录状态:只付 1 次
- 若保存的调用被篡改为向 "mallory" 支付 9999:LangGraph 和 Pydantic AI 照付,OpenAI SDK 自行拒绝;加防护后三者均未支付
结论:这不是框架 bug,而是 at-least-once 执行的固有结构——「做事」和「记录已做」是两步,中间崩溃即视为未完成。三个项目均在发布前至少 14 天被告知:OpenAI 加了文档章节,Pydantic AI 分诊团队复现,LangGraph 文档已有警告。
有效做法:使用 provider 强制执行的幂等键;把「可能已发生」当未知而非直接重试;在工具层校验批准是否对应确切参数。作者维护相关开源库 Call4Agents(Apache-2.0),完整数据与脚本在 GitHub。
所属事件:实测三大 Agent 框架:崩溃后已批准支付会被重复执行(2 条相关)→
「编程与Agent」频道最新
- Ofir Press:human-in-the-loop 基准缺位,两类 agent 未来各有胜场 — OfirPress · 2026-11-06
- Collinear AI 基于 Together 后训练平台快速启动全规模 Agentic RL 训练 — togethercompute · 2026-11-06
- YC 转发 agent 操控初创 stacktrace_ai 发布:别监控 agent,去转向它 — ycombinator · 2026-11-06
- 6 个 Claude 智能体在小镇生活 20 天:自发协作造工具捞回工资箱 — LiminalWanderings · 2026-11-06
- 独立开发者做 LLM 成本监控工具,按功能拆分成本定位异常峰值 — WittyBoysenberry9860 · 2026-11-06
- Drew Breunig QCon 演讲:拆解 prompt 债务与四种上下文失败及修复法 — dbreunig · 2026-11-06