让智能体花钱的四个要命 bug:重试、浮点、预授权
来源:dev.to — 2026-11-06
📋 概述
作者在做开源 MCP 服务 PurseString,让智能体能安全花钱。他指出一旦涉及钱,危险的不是聪明的 bug 而是支付工程师早就熟知的那些笨 bug,只是现在没人在旁边看着。第一个是结账页卡住几秒、智能体判断失败后重试,两笔都扣款成功;修法是把幂等做在购买意图上而不是 API 调用上,用 agent_id、task_id、vendor、amount 生成确定性键。第二个是 0.1 加 0.2 不等于 0.3 让预算判断翻车。
🔑 核心要点
- 智能体按设计会重试,在钱上这一点直接变成双重扣款。
- 修法是让购买意图幂等:同一任务、同一金额、三十分钟内复用同一个意图与同一张卡。
- 金额内部一律用最小货币单位的整数计算,0.10 加 0.20 正好等于 30 分。
- 比币种精度更细的金额直接拒绝而不是静默四舍五入。
💡 金句
“When you let an agent touch money, the scary bugs aren't the clever ones.”
译:当你让智能体碰钱时,可怕的 bug 不是那些聪明的 bug。
👍 0
👎 0
← 返回 dev.to 首页