别只看Token账单:用"单次成功成本"重新衡量你的AI Agent
把API费用、重试、人工兜底、失败损失折算成一个指标,给出计算公式、埋点方案与三个真实场景的算例,帮你判断Agent到底值不值得跑。
一个被普遍算错的账
大多数团队衡量Agent成本的方式是看月度API账单。这个数字很直观,但几乎没有决策价值。因为它回答的问题是”我花了多少钱”,而真正该问的是**“我每完成一件有价值的事,花了多少钱”**。
这两者的差距,在失败率高的场景里可以差出五到十倍。
一、定义指标:CPS(Cost Per Success)
CPS = (模型费用 + 工具/检索费用 + 重试浪费 + 人工兜底成本) ÷ 成功任务数
四个分项的说明:
- 模型费用:按实际调用计费,注意区分输入/输出与缓存命中价
- 工具费用:搜索API、代码沙箱时长、第三方接口调用
- 重试浪费:因失败而重复消耗的那部分,通常占总token的15%–40%
- 人工兜底:最容易被漏算的一项。客服转人工、工程师看日志、运营改输出,都要按人力时薪 × 耗时折算
最后再除以”真正成功”的任务数——这里的”成功”必须有客观定义(见后文)。
二、埋点怎么做
不懂埋点的成本分析都是猜的。最小方案只需要在Agent编排层记录四类事件:
{
"trace_id": "abc-123",
"task_type": "invoice_extract",
"steps": 7,
"input_tokens": 18400,
"output_tokens": 2100,
"cache_hit_tokens": 9200,
"tool_calls": 3,
"retries": 1,
"outcome": "success",
"human_intervention_seconds": 0,
"cost_usd": 0.031
}
关键是 task_type 和 outcome 两个字段。有了它们,你才能按场景算CPS,而不是被一个混乱的总数糊住。建议同时记录 trace_id,方便从成本一路追到具体那次失败。
三、“成功”怎么定义
这是整件事里最难、也最值钱的部分。三个层级参考:
- 程序可验证:通过了单元测试、JSON schema校验、金额对得上——最可靠
- 规则可验证:必填字段齐全、没有违规内容、没有调用不存在的工具
- 人工抽样:按5%抽样打分,再外推。成本高但必不可少
不要用”用户没投诉”当成功标准,那只会让你自我感觉良好。
四、三个场景的算例
场景A:客服问答 单次0.004美元,成功率92%,1000次任务。人工兜底每次按2.5元人民币算,8%失败转人工。 CPS ≈ (4 + 80×2.5) ÷ 920 ≈ 0.22美元/次。人工客服单次约3–5元,仍然划算,但优势没有账面那么大。
场景B:代码修复Agent 单次0.6美元,成功率55%,失败由工程师接手,平均15分钟。 CPS ≈ (600 + 45×15×时薪折算) ÷ 550,很容易算出比人自己写还贵。这类场景的正确做法是先降失败率,而不是继续扩规模。
场景C:合同条款抽取 单次0.02美元,成功率98%,但漏抽一条关键条款的损失可能上万。CPS便宜没有意义,该看的是”漏检成本”。
五、用CPS做决策
算出CPS后,你可以做三件事:
- 横向比较场景:优先扩容CPS最优的场景,砍掉长期最差的
- 定位优化点:如果重试占比高,问题在稳定性;如果人工兜底占比高,问题在准确率
- 设定预算红线:给每个task_type设CPS上限,超了自动告警
结语
“总成本”让你知道花了多少,“单次成功成本”才告诉你值不值。一个不能算清CPS的Agent项目,本质上还没有进入工程化阶段。 花一天把埋点补上,比再调二十版prompt的收益更明确。