终止开关:自动暂停失控的AI代理,防止预算超支

Dev.to AI 2026-07-20T05:09:58.531607

有了这个终止开关,你可以在AI代理失控烧光预算之前自动让它们停下来。

每个 AI 代理监控工具都会在预算超支时通知你,但几乎没有哪个能真正阻止五分钟后再来一次。这就是警报和终止开关之间的差距,也是我们做这个功能的原因。

只靠警报监控预算的问题

典型流程是这样的:你的代理突然引发一笔意料之外的费用——可能是糟糕的提示循环、重试风暴,或是失控的多代理链把自己绕进去出不来。监控工具发现了,给你发邮件或 Slack 通知,然后……就完了。代理继续运行,继续花钱。等你发现预算超支时,账单已经告诉你了。警报就是通知,不是刹车踏板。

终止开关的实际效果

终止开关是一个按月计算的预算阈值,按组织设置,执行起来也很硬核:一旦超过这个阈值,组织内所有代理自动暂停——不是“被标记”,是真的暂停。

对于通过 SDK 集成的代理(使用 wrap()monitor(),以及新加的 wrapLangChain() / wrap_langchain()),强制操作发生在 API 调用之前——封装的客户端会抛出一个类型明确的 OpsVeritasKilledError,根本不会去调 OpenAI、Anthropic 或 Gemini。成本实际停止了,不只是通知停掉。

从仪表盘一键重启,无论你重启一个代理还是全部,都会给出同样的可操作指导:先提高预算或关闭终止开关,否则代理没法继续跑过下一个付费调用。

它每月重置,且可累积——这是每月循环的上限,不是一次跨越就永久生效的封顶线。

SDK 会在后台轮询终止状态(每 3 分钟一次),是否轮询完全取决于你的组织是否已启用该功能——如果不启用,代理不会产生任何额外后台流量。

而且如果轮询本身因任何原因失败(网络波动、后端卡顿),它会以“开放失败”模式运行——临时的监控问题绝不能导致生产环境中的代理中断。

唯一诚实的限制

这个功能只对通过 SDK 集成的代理生效。

如果你的智能体仅通过通用网络钩子(Webhook)发送遥测数据——这是 n8n、Make 或任何自定义脚本的零代码路径——那么你仍然会收到警报,但 OpsVeritas 代码并未在你的进程内运行,无法真正拦截调用,所以什么也停不下来。我们宁愿直说这一点,也不希望你误以为在架构上根本做不到的地方存在强制停止功能。

为什么这一点比听上去更重要
失控智能体的真正成本,通常不是第一次峰值,而是那个无人察觉时不断累积的峰值——因为“我待会儿再看仪表板”这种心态,正是紧急停止开关要填补的漏洞。警报需要有人盯着屏幕才起作用,而紧急停止开关不需要。

现已上线两种 SDK(npm 上的 opsveritas-sdk 和 PyPI 上的 opsveritas)。如果你已经用 wrap()langchain() 完成了接入,只需添加一行代码即可启用强制停止功能——完全不需要重新架构。

紧急关停:在AI代理烧光预算前自动暂停

每个AI代理监控工具都会在预算超支时通知你。但几乎没有任何工具能真正阻止它在五分钟后又来一次。这正是警报与"杀开关"之间的差距,也是我们构建这样一个机制的原因。

只靠警报的预算监控有何问题

查看原文