AI Agent 跑一晚上烧掉几百美元?五条护栏防止 token 失控(2026)
Agent 类应用最大的风险不是效果不好,是循环失控 —— 一个没设上限的 agent 可以在几小时内烧掉整月预算。五条能立刻加上的护栏。
上下文雪球是最隐蔽的那个
很多人给 agent 设了步数上限,却忘了每一步的成本是递增的。如果每轮都把完整历史带上,第 50 轮的输入可能是第 1 轮的 50 倍 —— **50 步的总成本不是 50 倍,而是接近 1275 倍**(等差数列求和)。解法:只保留最近 5-10 轮完整内容,更早的压缩成摘要;或者用结构化的状态对象代替对话历史。
预算上限比步数上限更可靠
步数上限防不住"每步都很贵"的情况。更稳的做法是**累计 token 预算**:在 agent 循环里累加每次调用的 usage,超过阈值就抛异常中断。十行代码,但它是唯一一条能防住所有失控形式的护栏。阈值怎么定?用小样本压测的实测值 × 3。
分层不只是省钱,也是防失控
把"规划下一步做什么"交给旗舰模型,把"执行具体操作"(格式化、提取、分类)交给便宜档,同样的步数成本能降 60-80%。副作用是失控时的损失也小得多 —— 便宜档跑一万次也就几美元。
上线前的小样本压测
别拿生产流量当第一次测试。**取 10 个真实任务,完整跑一遍,记录:总调用次数、总 token、最大单次消耗、耗时。**然后乘以你的日均任务量,就是月成本估算。这一步花不到 $1,但能避免"上线第一天账单爆炸"。
实时监控:让异常自己冒出来
如果你的 API 提供逐笔账本(每笔带模型和 token 数),写个简单的日报:今日调用数、总消耗、最大单笔、按小时分布。一旦某天曲线异常抬头,你当天就知道,而不是月底看账单才发现。
五条护栏
| 护栏 | 怎么做 | 防住什么 |
|---|---|---|
| 步数上限 | max_steps=N,超过强制停 | 无限循环 |
| 预算上限 | 累计 token 超过阈值就中断 | 任何原因的失控 |
| 上下文修剪 | 只保留最近 N 轮 + 关键摘要 | 上下文雪球 |
| 模型分层 | 规划用旗舰、执行用便宜档 | 结构性降本 |
| 小样本压测 | 上线前跑 10 个真实任务看消耗 | 预估偏差 |