AI 成本治理不是再写一张模型价格表,而是把“谁在用、用在哪个功能、为什么变贵、什么时候该降级”这些问题变成团队可以执行的流程。
很多团队已经知道怎么看 Claude、GPT、Gemini 或 DeepSeek 的单价,也知道提示词缓存、模型路由、RAG 截断能省钱。但如果这些方法没有被放进预算、告警、上线评审和账单复盘里,账单还是会失控。
这篇 Playbook 适合已经有 AI API 调用量的团队:你不一定账单很高,但已经开始发现“模型成本到底算在哪个功能上”变得不清楚。
你什么时候需要 AI 成本治理
如果只是在个人项目里每天调用几十次模型,写一张预算表就够。但出现下面任意三种情况,就应该建立成本治理机制。
| 信号 | 为什么危险 | 先做什么 |
|---|---|---|
| 多个功能共用一个 API Key | 无法归因成本 | 按功能拆令牌或项目 ID |
| 只有总账单,没有请求级日志 | 不知道谁变贵 | 记录请求类型、模型、输入输出 token |
| Agent 开始调用工具 | 多轮调用容易放大成本 | 设置最大轮数和工具调用上限 |
| RAG 上线后上下文变长 | 检索片段会吞掉预算 | 限制 chunk 数和最大输入长度 |
| 用户可以反复生成 | 重试和重新生成不可控 | 做用户级额度和防连点 |
| 多模型并行测试 | 模型选择缺少成本证据 | 建立成功任务成本表 |
治理的目标不是“永远用最便宜模型”,而是让每笔 AI 花费都能解释、能归因、能优化。
第一步:建立成本归因字段
如果日志里只有模型名和总 token,后面很难做治理。建议每次请求至少记录这些字段:
| 字段 | 示例 | 用途 |
|---|---|---|
| feature | chatbot_answer | 按功能归因 |
| user_tier | free / pro / internal | 判断谁消耗预算 |
| model | claude-sonnet / gpt-4o | 模型成本对比 |
| input_tokens | 4200 | 输入成本 |
| output_tokens | 900 | 输出成本 |
| cache_hit | true/false | 缓存效果 |
| retry_count | 0/1/2 | 失败成本 |
| tool_calls | 3 | Agent 工具成本 |
| status | success/error/fallback | 成功任务成本 |
| estimated_cost | $0.012 | 预算核算 |
没有这些字段,团队只能争论“这个模型贵不贵”。有了这些字段,才能回答“哪个功能、哪类用户、哪种请求导致成本上升”。
第二步:按功能拆预算,而不是按模型拆
很多团队会说“Claude 预算每月 500 美元,OpenAI 预算每月 300 美元”。这个拆法不够,因为业务真正关心的是功能。
更好的预算方式:
功能级预算 = 请求量 × 单次成功成本 × 安全系数
示例:
| 功能 | 每日请求 | 单次成功成本 | 安全系数 | 月预算 |
|---|---|---|---|---|
| 客服问答 | 5,000 | $0.004 | 1.3 | $780 |
| 文档总结 | 600 | $0.035 | 1.5 | $945 |
| 代码审查 | 200 | $0.08 | 1.5 | $720 |
| Agent 自动排查 | 100 | $0.15 | 2.0 | $900 |
这里的“单次成功成本”比“每百万 token 价格”更有用,因为它包含重试、失败、fallback 和人工修正。
第三步:建立模型路由规则
模型路由不是越复杂越好。最小可用规则可以这样设计:
| 任务类型 | 默认模型 | 升级条件 | 降级条件 |
|---|---|---|---|
| 分类/路由 | 低成本模型 | 置信度低 | 批量任务 |
| 摘要 | 中档模型 | 文档长、需要结构化 | 只要短摘要 |
| 代码审查 | 高质量模型 | 涉及安全/核心逻辑 | 只做格式检查 |
| RAG 问答 | 中档模型 | 答案冲突或召回差 | 简单 FAQ |
| Agent 任务 | 高质量模型 | 多工具、多轮 | 只读分析 |
关键是把路由规则写进代码或配置,而不是每次靠人工临时决定。
第四步:给 RAG、Agent、批处理单独设上限
普通聊天成本相对容易估算,真正容易失控的是三类任务。
RAG
限制:
- 最大检索 chunk 数
- 每个 chunk 最大字符数
- 最大历史轮数
- 是否允许长文档全文进入上下文
Agent
限制:
- 最大轮数
- 最大工具调用次数
- 写操作是否需要人工确认
- 失败重试次数
- 单任务预算上限
批处理
限制:
- 每批数量
- 最大并发
- 失败是否重跑整批
- 是否允许高质量模型处理低价值任务
这些限制最好在上线前就配置,不要等账单异常后再补。
第五步:每周账单核对流程
每周固定看这 6 个问题:
- 哪个功能成本最高?
- 哪个功能环比增长最快?
- 哪个模型的成功任务成本最高?
- 哪些请求重试率异常?
- 哪些用户或任务触发了超长输出?
- 缓存命中率是否低于预期?
推荐输出一张表:
| 指标 | 本周 | 上周 | 变化 | 下一步 |
|---|---|---|---|---|
| 总成本 | - | - | - | - |
| 单次成功成本 | - | - | - | - |
| 输出 token 占比 | - | - | - | - |
| 重试率 | - | - | - | - |
| 缓存命中率 | - | - | - | - |
| Agent 工具调用均值 | - | - | - | - |
如果某项增长无法解释,就不要急着降模型,先看日志归因。
第六步:异常告警和回滚
AI 成本告警至少需要三层。
| 告警 | 触发条件 | 处理方式 |
|---|---|---|
| 日预算告警 | 今日成本超过预算 70% | 降低非核心功能模型档位 |
| 请求异常告警 | 单次请求成本超过 P95 | 截断输入或停止生成 |
| 功能异常告警 | 某功能成本环比增长 50% | 检查发布变更和 prompt |
回滚方式也要提前定义:
- 切回旧 prompt
- 降级模型
- 关闭长输出模式
- 限制免费用户次数
- 暂停 Agent 自动执行
第七步:上线前成本评审清单
新 AI 功能上线前,至少确认:
- 有功能级预算
- 有单次成功成本样本
- 有模型路由规则
- 有输入/输出 token 上限
- 有重试上限
- 有用户级额度
- 有异常成本告警
- 有 fallback / 降级策略
- 有上线后一周复盘计划
如果这些都没有,上线就是在赌账单不会失控。
常见错误
只看模型单价
单价低不代表成功任务成本低。低价模型如果反复失败、输出冗长或需要人工重写,最终可能更贵。
把缓存收益写进默认预算
缓存命中率没验证前,不要把它当成确定节省。先按无缓存预算,上线后再用真实命中率修正。
Agent 没有停止条件
Agent 最容易把一次任务变成多轮循环。必须设置最大轮数、工具调用上限和人工接管点。
FAQ
AI 成本治理是不是只适合大团队?
不是。小团队也需要最小治理:按功能记录成本、设置预算上限、每周看一次异常。只是流程可以更轻。
成本治理会不会降低模型质量?
不应该。正确做法是把高质量模型用在高价值任务,把低成本模型用在低风险任务,而不是全站一刀切降级。
什么时候需要 AI FinOps?
当 AI 成本开始进入产品毛利、客户定价或团队预算讨论时,就需要把 FinOps 思路引入 AI 调用链路。
总结
AI 成本治理的核心不是省每一分钱,而是让每笔 AI 花费都能解释、能预测、能调整。先建立成本归因字段,再按功能拆预算,最后用模型路由、限额、告警和复盘把账单变成可控系统。