<!-- title: 二次方烧钱：智能体预算熔断横评 -->

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

本期实测 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 调用返回前，先查预算余额，超额则当场拒绝该请求并抛出可恢复异常。延迟必须小于一个推理步。

```python
# 同步熔断 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 让它自行收敛。代价是要维护一层独立基础设施和计费对账，但这正是"自主智能体能否上生产"的分水岭——没有同步熔断的自主智能体，本质上是一台没有断路器的用电设备。

```python
# 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 反噬——必须改用"任务包 + 硬预算封顶 + 余额可视化"的三段式计价。

## 预算治理架构图

```mermaid
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
```

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

## 场景化推荐

- **单线程研究/客服型自主智能体**：直接用 AutoGen 的 `TokenCountTermination`，原生同步、零额外基础设施，是性价比最高的开箱方案。
- **多 Agent 编排、需优雅降级**：代理网关（LiteLLM 路由）+ 框架层 `recursion_limit` 双保险；网关负责同步熔断与降级，框架层负责图结构护栏。
- **直接对接 OpenAI/Claude 官方 SDK**：**不要**把 `max_turns` 当预算，必须前置一层代理网关做美元级硬封顶，否则周末账单不可控。
- **外包/订阅制自主智能体产品**：采用"任务包 + 逐任务硬预算 + 余额实时可视化"计价，警惕 ACU 类隐性计量单元把亏损藏进黑箱。
- **生产底线（不可省）**：账号级云厂商预算告警作为最后兜底，但绝不能作为唯一防线——它是"已经被烧了"的通知，不是"阻止继续烧"的开关。

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

## 参考来源

1. [Agentic AI Cost Runaway: Why One Cursor User Burned $4,200 in a Weekend](https://leanopstech.com/blog/agentic-ai-cost-runaway-token-budget-2026/) — LeanOps，二次方膨胀与 10–100 倍 token 烧耗的实测数据来源
2. [AI Agent Token Budget Enforcement: Why Alerts Fail and What Actually Works](https://www.waxell.ai/blog/ai-agent-token-budget-enforcement) — Waxell，4.7 万美元/11 天失控案例与告警失效机理
3. [AI Agent Budget Guards: How to Stop Runaway API Costs in 2026](https://nexgismo.com/blog/ai-agent-budget-guards-stop-runaway-api-costs) — Nexgismo，6531 美元 AWS 账单与同步熔断模式
4. [How to Add Budget Limits to LangChain, CrewAI, and AutoGen Agents](https://tokenfence.dev/blog/langchain-crewai-cost-control-budget-limits) — TokenFence，三大框架"出厂不带逐任务硬预算"的横向对比
5. [Devin Pricing 2026: Real Costs, ACUs & Alternatives](https://brainroad.com/devin-pricing-in-2026-real-cost-hidden-spend-and-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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
