30 秒快速回答
AI Agent 会”烧钱”,是因为它在无人监督时可能陷入工具调用死循环、反复重试失败步骤,或让多个子智能体互相触发,每次循环都在消耗真金白银的 token。解决办法就是给它装一道”预算护栏”(Financial Kill Switch):在协议层限制单次调用的 token 上限,在运行时层限制步数/递归深度/超时时间,在应用层加一个实时统计成本、超额即中断的中间件。
核心价值:读完本文,你会掌握一套可落地的”成本急停开关”设计,让 Agent 从”失控烧钱”变成”预算内干活”。
一、Agent 为什么会失控烧钱?
Agent 的”主动办事”能力是一把双刃剑,最常见的三个失控场景:
- 死循环:工具返回格式异常时,Agent 可能不断重试同一步骤,每轮都消耗完整上下文 token。
- 级联调用:多智能体协作中,A 给 B 派活、B 又给 C 派活,任务互相依赖,成本呈指数级放大。
- 上下文膨胀:每次工具调用结果都被塞进上下文,随着轮次增加,单轮成本快速上涨。
据 2026 年行业调查,约 30% 的企业智能体应用曾被”无限循环”烧掉 token,不得不自研节流层。预算护栏不是可选项,而是生产环境的”安全气囊”。
二、三层预算护栏架构
| 层级 | 手段 | 防御目标 | 典型实现 |
|---|---|---|---|
| 协议层 | 单次调用 token 上限 | 单轮生成不超支 | API 的 max_completion_tokens 参数 |
| 运行时层 | 最大步数、递归深度、超时 | 循环/级联不失控 | LangGraph recursion_limit、Agents SDK max_turns |
| 应用层 | 成本实时统计 + 超额熔断 | 全局预算兜底 | 自建中间件、AgentOps/Langfuse |
三层缺一不可:协议层挡”一次调用”,运行时层挡”一次运行”,应用层挡”所有运行”。
三、实战代码:给 Agent 装上急停开关
LangGraph 限制步数 + 实时预算检查:
from langgraph.graph import StateGraph
from langchain_core.runnables import RunnableConfig
MAX_STEPS = 25 # 运行时层:最多走 25 步
BUDGET_USD = 2.0 # 应用层:本次运行预算 2 美元
def budget_guard(state: dict, config: RunnableConfig) -> dict:
spent = estimate_cost(state.get("messages", []))
if spent > BUDGET_USD:
raise BudgetExceeded("预算超支,强制终止")
return state
app = StateGraph(AgentState)
# ... 添加节点与边 ...
graph = app.compile()
result = graph.invoke(
{"query": "帮我调研并整理本周竞品动态"},
config={"recursion_limit": MAX_STEPS,
"callbacks": [budget_guard]},
)
OpenAI Agents SDK 的更简单写法:
from agents import Agent, Runner
agent = Agent(
name="ResearchAgent",
tools=[web_search, fetch_url],
max_turns=15, # 内置步数上限
model="gpt-4.1-mini", # 高频步骤用便宜模型
)
result = Runner.run_sync(agent, "整理 AI 推理优化最新论文")
要点:recursion_limit / max_turns 是”最后一道闸门”,配合中间件里的实时成本估算,才能做到超额即停。
四、原生限制 vs 自建护栏 vs 监控平台
| 方案 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 原生参数(max_tokens/max_turns) | 零成本、立即生效 | 只管单次/单轮,管不住全局 | 简单原型 |
| 自建成本中间件 | 完全可控、可定制告警 | 需自己维护,估算可能有误差 | 生产自托管 |
| AgentOps/Langfuse/Helicone | 开箱即用,可观测+预算双能力 | 依赖第三方、数据可能出境 | 快速上线的团队 |
建议路径:先用原生参数防”单次超支”,再引入自建中间件做”全局预算”,最后用监控平台统一观察成本趋势。
五、多智能体场景的额外要点
多智能体编排时,除了全局预算,还要注意:
- 给每个子智能体分配独立预算,避免单个子系统耗尽所有额度;
- 在编排层加幂等与超时,防止重复派活;
- 把高频、抽取类步骤路由到便宜的小模型,配合模型路由可再省 80% 成本。
总结与延伸阅读
本文要点:Agent 烧钱来自死循环与级联调用;预算护栏分协议层、运行时层、应用层三层;先原生参数、再建中间件、最后上监控平台;多智能体要按子任务分预算。
延伸阅读:想进一步压缩成本,可读本站《Prompt Caching:将 LLM API 成本降低 90% 的提示缓存技术详解》《什么是 KV Cache?大模型推理提速降本的核心技术全解析》《什么是模型路由?LLM Gateway 智能调度技术全解析》;想监控 Agent 运行,可看《什么是 AI 可观测性?LLM 应用监控与调试完整指南》。