网易首页 > 网易号 > 正文 申请入驻

73条评论逼出的修复:AI代理重试不再付两次钱

0
分享至

一篇讲“AI代理重试付费接口时怎么不重复扣款”的文章,拿到309次浏览、73条评论,评论来自11个人。作者说,大部分评论都戳中了真实漏洞。这篇是后续:每个漏洞是什么、改了什么、还有什么没做完。除了特别说明,下面这些改动都已经在网关上跑起来了。


先说最扎眼的一条。有读者指出,很多代理运行时把任何409都当成终局。原来的payment_in_flight响应只在文字里写了句“稍后重试”,程序读不出任何可执行的信息,运行时只能放弃,然后在下一步重新生成一个支付id。

现在这个进行中的409带上了程序能直接用的字段:

  • retry_after:5秒
  • poll:shop.order.get,用来查订单状态的调用
  • order_id:订单已存在时给出

代理指南把话说死了:payment_in_flight不是终局。等retry_after秒,用同一个id再发一次,或者直接去读订单。

第二个漏洞更糟。有读者问,如果第一个请求直接挂掉会怎样。作者去查了,结果比预想的坏:进程在请求中途死掉,支付id会一直挂在“进行中”,直到24小时耗尽。对账任务能从链上把订单结算掉,但id那一行永远不知道这件事。重试可能对着一个已经付过款的订单,反复收到409。

现在的规则是:进行中的记录超过180秒,就从订单本身去解析状态。180秒比x402的120秒支付超时更长,所以还活着的首次尝试不会被抢先处理。订单已付款,重试拿回存好的订单,并带上replayed: true;订单还在付款中,重试拿到上面那个409。这一行在下次请求时就自愈,不用等一天。

第三个问题关于信号区分。有读者指出,冲突和进行中对客户端意味着完全不同的东西:一个说意图变了,一个说等着。两者本来就有各自的错误码,但冲突没说明原因。现在冲突会带上reason: payer或reason: request,而且只对冲突告警。同一个请求的普通重复是正常现象,保持安静。

第四个是客户端侧的假设。有读者点破了四层服务端逻辑底下共同的前提:客户端在崩溃后还能拿出同一个id。这只有在代理发任何东西之前就把id存下来时才成立。

文档现在把这条写成规则:先存意图,包括支付id、报价、收款方,以及签名授权本身,然后再发送。重启之后,用同一个id再发,绝不为同一份报价签新的授权。存下来的两样东西保护的是不同的事——签名授权管住钱,因为一次性nonce在链上重放会失败;id负责找回工作,因为它是拿回原始结果的凭据。指南还要求工具适配器拒绝发送没有存储意图的支付。

第五个漏洞来自一场长讨论:重试的查询被按全价收费。大多数工具是查询类。走x402时,重复的查询即使答案来自缓存也照全价收,因为缓存折扣只存在于预付余额那条路上。

现在走x402,同一个钱包在120秒内重复同一个可缓存的查询,拿到答案但不二次收费。响应里带X-APIbase-Charged: false,以及原始付费调用的收据。范围刻意收得很窄:只覆盖读,绝不覆盖写,因为相隔一分钟的两笔相同订单,可能正是用户想要的。商店类工具和MPP通道不在范围内。钱包即会话,所以这假设一个代理一个钱包,买家文档本来就这么建议。

还有读者提醒了易变字段的问题:参数里带时间戳或游标,每次重试看起来都像新请求。工具现在可以标记这类字段,让它们不参与匹配键。默认不排除任何字段,所以漏标的最坏结果是匹配不上,而不是给出错误答案。

最长的一串讨论落在一个不对称上。在Tempo上,钱在工作执行前就动了,所以早就为失败或重复的调用建了退款欠款记录。在Base上,只有结果就绪后才结算,所以一直没人需要这个。打破平衡的边界情况是:一笔重复转账在结算失败之后才落地。这种问题只有有人去查才会被发现。

现在两条通道共用一本退款欠款账本,记录两种要紧的情况:订单已终局之后才到账的付款,以及重复付款。退款状态会出现在公开收据和订单查询里,付款方自己能看到。

还有几项已经设计好、排进队列,但还没上线:

  • Base上结算失败后的定向检查。既然知道该看哪一笔授权,就不等周期性对账,而是在接下来几分钟里读几次那个nonce。读不出结论就保持unknown,回退到对账,绝不写成failed。
  • 从账本自动退款,用一个专门留出的钱包分批支付,付款方不用关心自己走的是哪条通道。
  • 凭收据在24小时内取回付费结果,由付款钱包签名,服务那些运行时丢了、回来晚了的代理。

也有明确决定不做的事。工作流级别的id会把同一次运行里两笔诚实的相同查询合并掉,所以id仍然按工具调用走。写操作绝不根据请求长什么样来合并,只认代理显式生成的键。按会话限流很容易被绕开,因为服务端看到的是钱包而不是会话,所以硬边界仍然落在代理付款所用的那个钱包上,并对它设上限。

作者在结尾谢了所有评论的人:上面每一项改动都始于那条讨论串。这一版要是还有漏洞,他愿意接着听。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
6700亿!张一鸣刷新中国首富身价纪录,他是如何把自己“养”成首富的?

6700亿!张一鸣刷新中国首富身价纪录,他是如何把自己“养”成首富的?

News脑洞
2026-10-27 19:53:34
广东惠州吾悦广场消防演习突发爆管 高压水冲刷30分钟后,崭新的岚图梦想家内部进水损失惨重

广东惠州吾悦广场消防演习突发爆管 高压水冲刷30分钟后,崭新的岚图梦想家内部进水损失惨重

信网
2026-10-28 13:50:06
记者:国米2-0威尼斯是一场难看、艰苦又幸运的胜利

记者:国米2-0威尼斯是一场难看、艰苦又幸运的胜利

懂球帝
2026-10-29 05:05:08
沃尔沃新款SUV大降价!18万出头能买豪华SUV了?

沃尔沃新款SUV大降价!18万出头能买豪华SUV了?

三农老历
2026-10-29 06:30:15
面对旧主痛下杀手!桑普森半场20分打爆山东,当年那个救火外援现在成北京大腿了

面对旧主痛下杀手!桑普森半场20分打爆山东,当年那个救火外援现在成北京大腿了

林子说事
2026-10-28 18:43:25
特朗普是美国历史上第一位,也是到目前为止唯一一位,当选总统前既没有任何文职政府公职、也没有参军服役经历的总统

特朗普是美国历史上第一位,也是到目前为止唯一一位,当选总统前既没有任何文职政府公职、也没有参军服役经历的总统

回京历史梦
2026-10-26 10:49:29
曹德旺的妹妹不愿卖房,曹德旺说,那你就给房子编个号,1号到7号,早上5点到6点住1号,7点到8点住2号,9点到10点住3号。

曹德旺的妹妹不愿卖房,曹德旺说,那你就给房子编个号,1号到7号,早上5点到6点住1号,7点到8点住2号,9点到10点住3号。

元气科技馆
2026-10-26 17:21:52
永久关停!天津这家大型超市月底也不干了?

永久关停!天津这家大型超市月底也不干了?

天津人
2026-10-28 20:46:49
有毒还致命,却被约8亿人当“主食”,我国大量种植,有人天天吃

有毒还致命,却被约8亿人当“主食”,我国大量种植,有人天天吃

万象硬核本尊
2026-10-28 09:37:45
吃他汀的人有三坎,熬过就长寿:三坎是指哪三年?50 岁后请重视

吃他汀的人有三坎,熬过就长寿:三坎是指哪三年?50 岁后请重视

白宸侃片
2026-10-28 17:16:33
荣归安联,拜仁球员德国杯赛前列队,祝贺凯恩赢得金球奖

荣归安联,拜仁球员德国杯赛前列队,祝贺凯恩赢得金球奖

懂球帝
2026-10-29 04:23:44
3大因素决定台海战争打不得,郭台铭警告:一旦开战美国就会变天

3大因素决定台海战争打不得,郭台铭警告:一旦开战美国就会变天

始于初见见
2026-10-28 05:47:56
曝张铭恩和女友当街吵架,女友情绪激动,捶打自己之后下跪

曝张铭恩和女友当街吵架,女友情绪激动,捶打自己之后下跪

韩小娱
2026-10-28 11:33:51
胡塞逼近塔伊兹大学,巨人旅屡屡临阵脱逃!

胡塞逼近塔伊兹大学,巨人旅屡屡临阵脱逃!

胜研集
2026-10-28 09:58:26
烂番茄94%,高斯林科幻片在Apple TV霸榜170天

烂番茄94%,高斯林科幻片在Apple TV霸榜170天

影视情报室
2026-10-28 02:17:57
杨超越在工厂打工时候的照片曝光!网友炸了:这妥妥的厂花啊!

杨超越在工厂打工时候的照片曝光!网友炸了:这妥妥的厂花啊!

黎兜兜
2026-08-25 22:25:21
外企高管一句话戳破:别让中国人当领导,他们压榨起自己人来更狠

外企高管一句话戳破:别让中国人当领导,他们压榨起自己人来更狠

乌克兰小静
2026-10-29 06:51:24
利拉德盛赞字母哥:与他并肩作战 是一种我以前从未体验过的奢侈

利拉德盛赞字母哥:与他并肩作战 是一种我以前从未体验过的奢侈

北青网-北京青年报
2026-10-28 22:16:01
国家房改课题组原组长孟晓苏:房价肯定会涨,已有牛市抬头迹象

国家房改课题组原组长孟晓苏:房价肯定会涨,已有牛市抬头迹象

细说职场
2026-10-28 10:44:07
原定20分钟,普京与北欧两国领导人通话90分钟,遭丹麦首相公开批评

原定20分钟,普京与北欧两国领导人通话90分钟,遭丹麦首相公开批评

桂系007
2026-10-27 22:38:45
2026-10-29 07:44:49
薛定谔的BUG
薛定谔的BUG
有态度网友ytd
197文章数 109关注度
往期回顾 全部

科技要闻

苹果MacBook Pro重大改版:首次搭载触控屏

头条要闻

39岁中国籍老板泰国遭袭身亡 发工资与两对夫妻起冲突

头条要闻

39岁中国籍老板泰国遭袭身亡 发工资与两对夫妻起冲突

体育要闻

0胜4负与篮网国王一桌 热火字母哥赌错了?

娱乐要闻

巾帼不让须眉!章子怡拿下重磅荣誉

财经要闻

美联储12月政策路径再添悬念

汽车要闻

首销期权益价23.98万起 2026款理想i6上市

态度原创

房产
艺术
教育
本地
军事航空

房产要闻

重新定义城芯院墅生活!33席印德华府,看见湾区墅居的时代答案

艺术要闻

23张人性与爱的照片,第1张就让人破防了……

教育要闻

中考数学,y÷y=2,很多人丢分

本地新闻

十月奔赴迪庆,解锁梅里日照金山

军事要闻

英国将额外向乌克兰提供100亿英镑支持

无障碍浏览 进入关怀版