资讯 · 改写稿

AI 预算熔断:怎么防止 agent 循环一夜烧光 API 额度

结论先给:防 agent 烧钱,与其盯账单,不如让请求必须经过一道「带预算上限的本地代理」——花到线就熔断。开源项目 CloudGrip 就是这条路:Node + SQLite 自建,MIT 许可。

一个跑飞的 agent 循环,最贵的不是模型贵,而是没人踩刹车。它可能因为工具调用失败而反复重试,也可能每轮都把整段上下文重新读一遍;这些动作在你睡觉时照样进行。等早上看到账单,钱已经花出去了。

事后看账单是滞后的。更靠前的办法是「在请求发出之前就设上限」:让所有调用先经过一个你自己的网关,网关记账、到线就拒绝放行。这跟电路里的熔断器是同一个思路。

CloudGrip 是什么

CloudGrip 是一个自建的 AI 代理网关(来源称其为 lightweight、self-hosted)。它用 Node.js + Express + SQLite 写成,跑在你自己机器上,MIT 许可。核心能力是预算熔断:当花费达到你设定的上限,自动停止继续放行请求。

四步跑起来

来源给出的上手步骤很直白:

  1. 克隆仓库,进入目录。
  2. 安装依赖:npm install。
  3. 配置环境变量:新建 .env,填 PORT、DATABASE_URL、RESEND_API_KEY、SESSION_SECRET。
  4. 启动:node server.js。

之后把客户端的 API base 指向这个本地地址即可。它本质上是在你和上游之间加了一层「收费站」。

本站计算:一夜大概能烧多少

本站计算——按一个保守量级估算:若单次请求约 5,000 token、循环每分钟约 20 次,那么一小时约 600 万 token,八小时(睡一觉)约 4,800 万 token。若再按「网上常见的每百万输入 token 约 2.5 美元」这一量级折算,一夜大约是 120 美元量级。这不是某个官方报价,只是用来说明「失控循环的成本是线性放大的」——真正的护栏应该是熔断,而不是事后惊讶。

想按自己的模型和用量算,可以用本站的 额度计算器 先把「每请求成本」定出来,再乘上预计的请求量。

和「平台限额」有什么不同

很多平台本身就有限额,但那通常是账户级的月度上限,拦不住「一晚上把整月额度打光」。本地熔断的价值在于粒度更细:可以按项目、按客户端、按天设上限,日志也留在本地。代价是多维护一个服务,需要自己保证它的可用性。

容易踩的坑

只设了平台月额度,以为够用——月度上限拦不住一夜打光。

熔断阈值设得比正常用量还低,结果正常任务被误杀。

把网关只当计费看板,忘了它要能真的「拒绝放行」才算护栏。

自检清单

常见问题

agent 循环为什么会烧钱?

循环可能因工具调用失败反复重试,或每轮重读整段上下文;这些动作在无人值守时照样进行,成本会随时间线性放大。

预算熔断器是什么?

在请求发出前设上限:所有调用先经过你自己的代理,代理记账,花到设定上限就拒绝继续放行,类似电路里的熔断器。

CloudGrip 怎么部署?

来源给出的步骤是四步:克隆仓库、npm install、配置 .env(PORT / DATABASE_URL / RESEND_API_KEY / SESSION_SECRET)、node server.js。

本地熔断和平台限额有什么区别?

平台限额通常是账户级月度上限,粒度粗;本地熔断可按项目或客户端设更细的上限,且日志留在自己实例里。

来源参考

以上为外部来源;本文为 RefHub 用自己的结构重写,事实以来源页为准,价格与政策会变,请回源核对当日。

下一步:想从成本结构上省钱,读 5 个降低 AI 编码成本的做法;要估算自己的用量,用 额度计算器。