Agent 把花钱变成了零摩擦操作
2026 年 10 月 3 日,开发者 Simon Willison 发布了一篇呼吁文章。他主张所有按量付费的服务必须把硬预算上限作为默认选项。想要无上限消费的用户,应该主动修改配置(他建议的确认文案为:Remove the budget cap. My application will not be shut down if I exceed the configured budget limit, and I will be responsible for subsequent charges.),并承担解除上限后的账单风险。
Coding agent 与各类个人 agent 的普及,降低了启动付费 API、托管应用和调用存储计算的门槛。一个毫无云开发经验的用户,也能通过对话部署一套全栈服务。
Google Cloud 在官方博客中指出,仅仅五个字的提示词就能运行复杂操作,并产生可观的云资源成本。失控的云端账单不再主要来自初级程序员的低级脚本错误,而是来自被默认授权的异步流水线。这些自动化代理可能会在后台持续产生未预期的费用。
发邮件拦不住机器花钱
长久以来,公有云处理预算超支的主要手段是软告警邮件。用户在控制台设定一个金额阈值。当消费到达阈值时,系统发出普通的通知邮件。大量开发者都经历过半夜收到告警邮件,醒来发现服务已经产生数千美元账单的情况。
软告警在工程上等效于没有上限。当并发的代理程序在几十分钟内消耗大量配额时,人类对邮件的响应速度难以跟上程序的执行速度。更糟糕的是,告警疲劳会让用户习惯性忽略这些邮件。
系统计费的延迟加剧了这种风险。许多云服务的账单冷启动和同步存在小时级的延迟。100 美元的告警抵达收件箱前,真实消费可能已经超过 1000 美元。硬上限机制要求开发者在搭建初期明确架构的资源边界。
云厂商开始直接阻断超额计费
近期推出硬上限的是 AWS 和 Google Cloud 两家。AWS 在 9 月中旬发布的新版开发者体验中,明确允许客户设置月度支出上限。AWS 的 spend limit 目前仍在 limited release 阶段,只面向部分客户开放(官方文档提示:We’re currently releasing our new experience to a limited number of customers)。该硬上限的计算不计入 credits,按税前费用计算。官方把 spend limits 主要定位给实验、学习、沙箱负载,也适用于可以接受资源短暂暂停的生产环境。一旦触达设定的数值,整个项目在当月将被直接强制暂停。
AWS 官方文档给这个硬上限加了一个限制:最小值取 20 美元与保守估算值中的较大者。云服务商用几十美元的缓冲值来降低误触概率。Google Cloud 也在 7 月底推出了类似的 spend caps 功能。
图:Google Cloud Billing 控制台创建 spend cap 的界面截图。来源:Google Cloud Blog
图:Google Cloud early anomalies 告警与 RCA 截图,显示驱动成本上涨的 SKU 拆解。来源:Google Cloud Blog
为了在账单结算前发现危机,Google Cloud 引入了早期异常监控系统。该系统利用动态基线建模,能在消费飙升的初期自动生成异常原因分析,直接指出推高成本的排名前三的服务。
算力枢纽不再容忍高额核销
关于硬上限的社区讨论,在 Hacker News 上引发了两百多条评论。做过客户支持团队的工程师认为硬上限容易造成业务灾难。服务在突发流量时被强行切断,会导致客户流失、工单爆炸甚至诉讼威胁。
在传统的软件服务商业模式里,云厂商面对客户意外跑出的高额账单,通常会选择直接核销账单。软件的极高毛利足以覆盖这点退款,而厂商的商誉和客户关系要比几千美元有价值得多。
当数据中心转向提供算力服务时,情况发生了改变。算力消费直接关联实际电力消耗,减少了用于无条件核销的利润空间。电力公司不会为任何一个开发者的配置失误买单,算力中心自然也没有余力承担这种损失。
重建云端计费底线
Agent 改变了人机交互模式,提升了资源消费速度。在 AI 降低按量计费服务使用门槛的背景下,云基础设施开始引入硬预算上限。
依靠事后邮件通知的计费体系,无法有效拦截自动化程序的持续消费。提供服务的厂商通过阻断机制控制风险,选择解除限制的用户则需主动承担账单风险。
参考链接:
- We’re going to need default hard budget caps on pretty much everything
- Create a spend limit (AWS)
- New early anomalies and spend caps on Google Cloud budgets