首页 › ai-agents › 二次方烧钱:智能体预算熔断横评

概述:一个被严重低估的运行时税

本期实测 6 种主流自主智能体的预算治理栈,核心发现是反共识的:告警救不了账单。2026 年公开的失控案例已经规模化——4 个 Agent 的 LangChain 循环空转 11 天烧掉 4.7 万美元、一个 Agent 扫描个人家庭网络产生 6531 美元 AWS 账单、Cursor 用户一个周末烧光 4200 美元。根因不是模型贵,而是 二次方膨胀:每次推理都把累积上下文整体重发,N 步循环的总 token 与步数的平方成正比。三大框架(LangChain、CrewAI、AutoGen)出厂都不带逐任务硬预算,可观测性只能"事后通知"却拦不住正在空转的内层循环。唯一能真正止血的,是部署在 API 调用路径上的同步熔断层——每请求拦截,延迟低于 1 秒。

六栈预算治理横评

预算栈 熔断层级 同步性 粒度 止血延迟 误杀风险 上手成本
云厂商预算告警(AWS Budgets/Azure) 账号级 异步(小时级邮件) 整账号 数小时 低 极低
LangGraph recursion_limit+回调 框架级 半同步(每轮) 任务 1 轮 中 中
CrewAI max_rpm/max_iter 框架级 速率级 Agent 分钟 高 低
AutoGen 终止条件 框架级 同步(每消息) 对话 1 步 中 中
OpenAI Agents SDK max_turns 框架级 同步(每轮) 会话 1 轮 高 低
代理网关预算路由(LiteLLM/网关) 运行时级 强同步(每请求) 请求/Agent <1s 可控 中

深度拆解

1. 二次方膨胀:烧钱是物理问题,不是配置问题

智能体烧钱的第一性原因是上下文累积导致的二次方计费。一次 chat 调用只发送当前轮上下文;一次 agent 循环则不同——第 1 步发送 c 个 token,第 2 步发送 c+Δ,第 N 步发送 c+NΔ,所有历史步骤都被作为上下文重发。总账单约为 Σ(c+iΔ) ≈ c·N + Δ·N²/2,N² 项占据主导。一个 50 步循环、每步累积 50K 上下文,会向推理端累计计费约 1.25 亿 token 的上下文输入。这正是"AI Agent 烧 token 比对话快 10–100 倍"的数学来源。后果是:把循环多跑一倍,账单不是翻倍,而是接近四倍。这意味着任何"按步数线性预估成本"的预算模型都会系统性低估一个数量级——而大多数团队的成本预估恰恰是线性的。

2. 告警税:可观测性为何救不了账单

主流建议是"加监控、加告警",但实测发现这是最贵的安全感错觉。告警链路是异步的:Token 计数→指标聚合→阈值判断→Slack/邮件→人类看到→人工停止,全链路延迟通常 5–30 分钟。而智能体的内层推理循环是亚秒级紧循环,5 分钟内可以空转数百步。Waxell 记录的 4.7 万美元案例正是如此——告警在第 3 天就触发,但没人能"在循环中间"把 11 天长任务安全停掉,只能等它自己走到自然结束。可观测性回答的是"我花了多少",预算治理回答的是"还剩多少、下一步还让不让发"。两者不等价。真正的分水岭是同步拦截:在 LLM API 调用返回前,先查预算余额,超额则当场拒绝该请求并抛出可恢复异常。延迟必须小于一个推理步。

# 同步熔断 vs 异步告警的本质差异
def agent_step(state):
    budget.check_and_block_sync(state.tokens_used)  # 调用前阻塞,<1s
    resp = llm.invoke(state.context)  # 超额则此处抛 BudgetExceeded
    return resp
# 告警版:llm.invoke() 照常执行,预算通知发到 Slack,循环继续烧

3. LangGraph:回调里的软熔断与递归护栏

LangGraph 是六栈里原生治理能力最成熟的一个。它同时提供 recursion_limit(图的最大节点跳转数,硬上限)和回调钩子(on_llm_end 可累计 token)。问题在于默认的 recursion_limit 只数图节点、不算 token,而二次方膨胀恰恰发生在单个节点内的多步循环。补救办法是在回调里挂一个 token 累加器,超过阈值抛 GraphRecursionError。这套方案是"半同步"的——检查发生在每轮边界的回调里,止血延迟约等于一轮(通常数秒到数十秒)。优点是与图编排原生融合、可在特定节点精细降级(如切到便宜模型);缺点是只对走 LangGraph 调度的调用生效,任何旁路直连 LLM 的子组件(检索器、嵌入器、第三方工具内部调用)完全绕过,形成预算盲区。

4. CrewAI:max_rpm 的速率幻觉

CrewAI 用 max_rpm(每分钟请求数)和 max_iter(最大迭代)做粗粒度约束,看起来是"限流",实测却是最容易误判的一档。max_rpm 限的是请求频率而非成本——一个 Agent 在低 RPM 下仍然可以靠超长上下文把单请求成本推到几十美元。更隐蔽的是 CrewAI 的任务通常会让"最贵的角色"反复调用同一个模型,team 级别的总成本和角色级 RPM 几乎不相关。社区给出的正确解法是按角色注入代理:每个 Agent 角色走独立 API key,在代理层对该 key 设硬性美元上限。这相当于承认了框架层治不了成本,把治理责任外推到网关。CrewAI 的价值在编排不在治理——把它当预算管家会吃大亏。

5. AutoGen:终止条件的原生王牌

AutoGen 0.4 的 TokenCountTermination 和 MaxMessageTermination 是六栈中唯一把 token 作为一等终止条件的框架原生能力,且是真正的同步语义——每条消息发送前评估,超额立即终止会话。止血延迟约一个消息步。它解决了 CrewAI/LangGraph 都没解决的"以 token 计量的硬停止"。短板同样明显:终止条件是对话级的,粒度粗,无法给某个子 Agent 单独分配预算,也无法在超额时"降级而非终止"(只能戛然而止)。对于单线程、长对话的研究型/客服型自主智能体,AutoGen 的原生预算闸门是开箱即用的最优解;对于多 Agent、多分支、需要优雅降级的复杂编排,它的"一刀切终止"反而会误杀正常任务。

6. OpenAI Agents SDK:max_turns 的成本盲区

OpenAI 官方 Agents SDK 主打 max_turns(最大轮数),这是六栈里最不像预算治理的预算参数。Turn 数和成本之间的映射极弱——一个 turn 内可以做一次轻量工具调用,也可以做一次吞噬百万 token 的深度研究。把 max_turns 当预算用,等于"用菜的数量限制总餐费",在长上下文检索、浏览器自动化这类单 turn 就能爆量消耗的场景下完全失守。官方文档的隐含假设是"调用方自己在网关层兜底成本",但大量开发者照搬 max_turns=10 就上线,结果周末醒来收到三位数美元账单(tokenfence 记录的 247.83 美元周末案例即是此类)。结论:官方 SDK 把成本治理明确甩给了运行时层——这与第 7 节的代理网关方案形成互补,而非替代。

7. 代理网关同步熔断:唯一真正能止血的层

把上面四栈的共性失败抽象出来,结论清晰:预算治理必须在 LLM API 调用的同步路径上,框架层做不到的就下沉到代理层。LiteLLM、Vercel AI Gateway、自研路由代理这一档,能在每个请求出栈前查询预算余额(按 API key / Agent ID / 任务 ID 维度),超额则同步返回 429 BudgetExceeded,延迟通常 <1 秒,且对所有框架、所有旁路调用统一生效。它还能做框架层做不到的事:超额时降级而非终止(Sonnet→Haiku 路由)、按 Agent 角色分配子预算、把"剩余预算"作为上下文喂给 Agent 让它自行收敛。代价是要维护一层独立基础设施和计费对账,但这正是"自主智能体能否上生产"的分水岭——没有同步熔断的自主智能体,本质上是一台没有断路器的用电设备。

# LiteLLM 路由:按 Agent key 设硬预算,超额降级而非崩溃
from litellm import Router
router = Router(model_list=[...],
  routing_strategy="cost-based-routing",
  fallbacks=[{"sonnet-orchestrator": ["haiku-cheap"]}],)
# 网关层在 budget_tracker 命中超额时,先把请求路由到 fallback 模型,
# 次级预算也耗尽才同步抛 BudgetExceeded —— 框架层永远拿不到这个时机

8. ACU 隐性计价:计量单元的二次陷阱

即便治理层做对,还有最后一道暗坑——计价单元本身。Devin 在 2026 年把入门价从 500 美元/月砍到 20 美元/月(96% 降幅),但真实成本藏在 ACU(Agent Compute Unit,智能体计算单元) 里:按任务计费,实际月支出被 ACU 推回到 300–500 美元。ACU 的危险在于它不与 token 线性挂钩,也不与任务成败挂钩——失败的、重试的、冗余探索的循环照常消耗 ACU。这等于把"二次方膨胀"的风险从你的代码层转移到了供应商的黑箱计量层,你连"这次任务烧了多少 ACU"都难以及时对账。对应到训练营/产品变现:凡是把成本定价建立在"每月 X 美元订阅"上的自主智能体产品,都会在重度用户身上被 ACU 反噬——必须改用"任务包 + 硬预算封顶 + 余额可视化"的三段式计价。

预算治理架构图

flowchart TD
    U[用户/调度器] --> AG[自主智能体循环]
    AG -->|每步推理请求| CB{同步预算闸门<br/>网关层 <1s}

    CB -->|余额充足| LLM[LLM 推理]
    CB -->|接近阈值| DEG[降级路由<br/>Sonnet→Haiku]
    CB -->|超额| BLK[同步抛 BudgetExceeded<br/>可恢复中断]

    LLM --> ACC[(token 计量器<br/>按 Agent/任务/账号维度)]
    DEG --> LLM
    BLK --> AG

    ACC -->|实时余额回灌| CB
    ACC -->|异步| ALERT[告警层<br/>Slack/邮件 数分钟]

    style CB fill:#fde68a,stroke:#b45309,stroke-width:3px
    style ALERT fill:#fecaca,stroke:#991b1b
    style LLM fill:#bbf7d0,stroke:#166534

图中黄色节点是唯一能真正止血的同步闸门,红色告警节点滞后数分钟、无法阻断空转循环——这正是"告警救不了账单"的可视化。

场景化推荐

一句话收口:自主智能体的成本失控不是"忘了加监控",而是"把异步告警当成了同步熔断"。能在一秒内拒绝下一个请求的那层,才是真正的预算管家。

参考来源

  1. Agentic AI Cost Runaway: Why One Cursor User Burned $4,200 in a Weekend — LeanOps,二次方膨胀与 10–100 倍 token 烧耗的实测数据来源
  2. AI Agent Token Budget Enforcement: Why Alerts Fail and What Actually Works — Waxell,4.7 万美元/11 天失控案例与告警失效机理
  3. AI Agent Budget Guards: How to Stop Runaway API Costs in 2026 — Nexgismo,6531 美元 AWS 账单与同步熔断模式
  4. How to Add Budget Limits to LangChain, CrewAI, and AutoGen Agents — TokenFence,三大框架"出厂不带逐任务硬预算"的横向对比
  5. Devin Pricing 2026: Real Costs, ACUs & Alternatives — Brainroad,ACU 隐性计价与 20→300–500 美元真实成本拆解

本文由「51学通信」原创出品,站长爱卫生(微信 gprshome201101)。下一轮将转向多智能体协作系统的最新架构与模式。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入