为什么智能体成本预测已经失效 —— 以及我们该如何应对
你的财务团队想要一个数字。AI 智能体系统每月会花费多少钱?你根据平均 Token 使用量给出了估算,乘以预计的请求量,并加上了安全余量。三个月后,实际账单是预测值的 3 倍,而且没人能解释原因。
这并非预算编制的失败,而是建模的失败。传统的成本预测假设单次请求的成本会聚集在一个可预测的平均值附近。智能体系统在每一个层面上都打破了这一假设。执行路径是多变的。每次请求的 LLM 调用次数是多变的。每次调用的 Token 数量是多变的。这些变量之间的相互作用产生了一个带有“肥尾”(Fat tail)的成本分布,从而吞噬了你的利润。
根本问题:随机执行路径
传统的 API 接口具有确定性的成本特征。一个请求进来,访问数据库,返回响应。你可以测量平均成本,计算标 准差,并以合理的准确性进行预测。
智能体工作流则完全不同。一个被赋予“研究此市场并提供建议”任务的智能体,可能需要 3 个推理循环,也可能需要 30 个。它可能调用 2 个工具,也可能调用 12 个。每次工具调用可能第一次就成功,也可能触发一连串的重试。单次请求的成本不是一个数字 —— 它是一个分布,而这个分布的特性导致了传统预测方法的失效。
核心问题在于,智能体成本随输入的**熵(Entropy)而非规模(Volume)**而伸缩。一千个简单的查询可能比一百个模糊的查询成本更低。但你的预测模型不知道用户下个月会发送哪种类型的查询,你的用户自己也不知道。
生产环境的数据证实了这一点。团队经常报告在同一工作流中,最便宜和最昂贵的请求之间存在 10 倍的成本差异。某个部署项目为一个研究智能体预测了 $4,000/月 的费用,结果实际达到了 $11,200 —— 这不是因为流量增加了,而是因为用户开始提出更复杂的问题,在模糊查询下触发了 10-14 层的循环链。
为什么 Token 预算是必要的,但还不够
最明显的应对方式是限制成本:为每个请求设置最高 Token 预算,并在智能体超过限制时将其终止。这可以作为一种熔断机制,但它是一个糟糕的规划工具。
Token 预算上限截断了工作,而不是改变了策略。当一个智能体在推理中途达到预算上限时,它不会优雅地简化其方法 —— 它会直接停止。用户得到的是部分答案 或错误。你控制了成本,但破坏了价值。
这种区别至关重要:Token 预算上限和**成本感知规划(Cost-aware planning)**解决的是不同的问题。上限是说“在 X 元,请选择一种能在该预算内提供最佳结果的策略”。前者是护栏,后者是架构。
关于成本增强规划的研究使这一点变得具体。当原生尖端模型(GPT-4.1, Claude 3.7)在多步规划任务中面临严格的预算约束时,其成功率会降至 2% 左右。而同样的模型在使用成本感知树搜索(Cost-aware tree search)时,成功率可达 71-73% —— 这不是通过增加支出实现的,而是通过探索更便宜的解决方案路径并及早修剪昂贵的分支实现的。预算不仅仅是一个限制;它是一个重塑智能体策略的规划输入。
大多数生产系统只实施了上限,而没有进行规划。他们设置了 max_tokens 并称之为成本管理。其实不然。
预测中遗漏的智能体成本五个层面
Token 成本是每个人都在盯着的项目。但在生产环境的智能体系统中,Token 往往不到总成本的一半。一个完整的成本模型需要包含五个层面:
Token 消耗。 循环中每次 LLM 调用的输入和输出 Token —— 包括推理、重新规划和重试尝试。这是出现在你的 API 账单上的内容。
工具执行。 智能体进行的每一次外部 API 调用、数据库查询和函数调用。有些工具很便宜(如键值查找),有些则很昂贵(例如每次查询 $0.01 的网页搜索 API,智能体每个会话可能会调用 40 次)。工具成本的差异往往高于 Token 成本的差异。
状态与内存。 向量数据库查询、Redis 缓存、会话持久化和长期记忆检索。将 RAG 的 top-k 从 10 减少到 4 可以降低 25% 的检索成本,但大多数团队从未单独测量这一层。
计算基础设施。 Kubernetes Pod 扩缩容、冷启动损耗、突发流量下的自动扩容延迟。智能体产生的负载模式具有峰值且不可预测,难以通过预留容量来平摊成本。
可观测性开销。 日志记录、追踪和指标保留。当你追踪分布式智能体中的每一次工具调用、每一个推理步骤和每一次重试时,对于低量级、高复杂性的工作流,可观测性成本可能会超过推理成本。
预测误差会在这些层面上叠加。如果你对 Token 的估计误差为 30%,对工具调用的误差为 50%,并且完全忽略了可观测性成本,那么总误差并不是这些误差的平均值 —— 它会在整个架构栈中成倍增加。
单次请求成本是一个错误 的指标
传统的单位经济效益问题 —— “单次请求的成本是多少?” —— 假设了请求是正确的衡量单位。对于 Agent 系统而言,事实并非如此。
一个更好的指标是 单次达成结果成本 (Cost per Accepted Outcome, CAPO):即交付一个真正满足你意图的结果所产生的全部加载成本。该指标捕捉到了一个现实:Agent 在得出有用答案之前,会产生失败的尝试、部分结果和重试链。三次失败尝试后跟着一次成功,意味着你的 CAPO 是单次尝试成本的 4 倍 —— 而单次请求指标永远无法反映出这个数字。
CAPO 还揭示了单次请求指标所隐藏的东西:失败长尾的成本。跟踪分布而非平均值能暴露成本曲线的形态:
- 中位成本 告诉你基准效率。
- P95 成本 告诉你重试风暴和工具调用级联发生的地方。
- 失败成本占比(失败运行成本 ÷ 总成本)告诉你你在那些没有产生价值的工作上花了多少钱。
一项 FinOps 分析发现,两个拥有相同许可证的客户之间存在 10 倍的成本差异,这完全可以用工作流标准化来解释 —— 其中一个客户的用户触发级联重试的频率要高得多。其单次请求的平均值几乎完全相同,但成本分布却大相径庭。
