m209 - 推理成本控制手册
m209. 推理成本控制手册
AI 产品的成本结构与传统软件完全不同——它不是一次性投入,而是随使用量线性增长的变动成本。这直接影响产品定价、功能设计和技术选型。
2.6.1 API 计费模型深度解剖
核心公式
单次请求成本 = (input_tokens × input_price) + (output_tokens × output_price)
关键事实:output token 价格通常是 input 的 2–5 倍
| 模型 | Input($/1M tokens) | Output($/1M tokens) | 倍数 |
|---|---|---|---|
| GPT-4o | $2.50 | $10.00 | 4× |
| GPT-4o-mini | $0.15 | $0.60 | 4× |
| Claude Sonnet 4 | $3.00 | $15.00 | 5× |
| Claude Haiku 3.5 | $0.80 | $4.00 | 5× |
| DeepSeek-V3 | $0.27 | $1.10 | 4× |
价格差异的物理根源:output token 是 自回归逐个生成(受显存带宽瓶颈限制,见 c05 §5.1 Decode 阶段),每个 token 一次完整前向传播;input token 可并行处理(Prefill 阶段),效率高得多。
对产品设计的直接影响
| 设计决策 | 成本影响 |
|---|---|
| 长 system prompt + 短回复 | 成本 << 短 prompt + 长回复(output 更贵) |
| CoT 推理(见 m201 §2.1.1 CoT) | 显著增加 output token → 成本更高,PM 需判断质量提升是否值得 |
| 让用户触发”重新生成” | 双倍成本。减少重新生成率是核心优化目标 |
| 流式输出(Streaming) | 不改变总成本,但改善用户感知延迟(TPOT,见 c05 §5.1) |
| Batch API(非实时处理) | 约 50% 折扣,适合离线批量任务 |
| Agent(10 步任务) | 成本可能是单次对话的 10–30 倍(见 c10 §10.5) |
2.6.2 Prompt Caching 的产品化利用
当多个请求共享相同 prompt 前缀时,命中缓存的 input token 只收 10%–25% 价格(详见 c05 §5.3 Prompt Caching)。
Anthropic Prompt Caching 具体机制:
- 首次调用:正常计费
- 后续命中缓存:input token 只收 10% 价格
- 缓存有效期:5 分钟(从最后一次使用计时),高频调用可持续续命
产品设计启示:
正确做法:
[System Prompt(稳定,2000 tokens)] ← 命中缓存,降低 90% 费用
[RAG 检索结果(半稳定,500 tokens)]
[用户输入(动态,200 tokens)] ← 每次重新计算
错误做法:
[每次请求都重组 System Prompt] ← 缓存永远不会命中
量化收益示例:System Prompt 2000 tokens × 90% 缓存命中率,每 100 万次请求节省 1,620 美元(Claude Sonnet 价格)。
2.6.3 模型路由(Model Routing)
简单路由:
Query → 意图分类器
├── 简单任务 → 小模型(Haiku/mini)
├── 复杂任务 → 大模型(Sonnet/4o)
└── 数学/代码 → 推理模型(基于 [Test-Time Compute](/kb/基础知识库/test-time-compute/) 的 o1/R1)
级联策略(Cascade):
Query → 小模型生成 → 质量评估
├── 达标 → 返回(低成本)
└── 不达标 → 大模型重生成
成本效果估算:假设 70% 请求被小模型处理(成本 1/10),30% 升级到大模型。平均成本降为原来的 37%。
实操难点:意图分类器/质量评估器本身的准确率决定路由有效性。初期用保守策略(偏向强模型),随数据积累逐步放宽。
工具生态:OpenRouter、Portkey、Unify.ai 提供统一 API + 自动路由 + 成本追踪 + fallback 能力。
2.6.4 语义缓存
Query → 计算 [Embedding](/kb/基础知识库/embedding/) → 搜索缓存库
├── 命中(相似度 > 阈值)→ 返回缓存回答(零 API 成本)
└── 未命中 → 调用 API → 将 Query + 回答写入缓存
关键设计要点:
- 相似度阈值需仔细调优(误命中比幻觉更糟糕——用户会看到不相关的旧答案)
- 设置 TTL,特别是时效性信息(“今天的股价”不能缓存超过 1 小时)
- 用 Embedding 距离 + 关键实体匹配双重校验,减少误命中
适用场景:客服、FAQ——通常 20% 的问题覆盖 80% 的流量。
不适用场景:个性化对话、创意写作(每次输出都应该不同)。
2.6.5 对话管理与 Token 优化
| 策略 | 做法 | 效果 |
|---|---|---|
| 硬截断 | 只保留最近 N 轮 | 简单,可能丢失上下文 |
| 滑动窗口 + 摘要 | 超过 N 轮后压缩早期对话 | 平衡成本和信息 |
| 选择性注入 | 根据当前话题只检索相关历史(类似 RAG) | 最精准,实现复杂 |
| Prompt 压缩 | LLMLingua 等技术压缩冗余 | 降低 20–40% token 消耗 |
2.6.6 成本估算框架
月度成本计算公式
月度 API 成本 = DAU × 会话数/用户 × 轮次/会话 × tokens/轮次 × token 单价 × 30
完整推算示例(知识库问答助手)
基础参数:
- DAU 5,000 × 3 会话/用户 × 4 轮/会话 = 60,000 请求/天
- 每轮:input 1,500 tokens(system 800 + RAG 检索结果 500 + 用户 200),output 500 tokens
- 使用 GPT-4o
基准成本:
每天 input: 60,000 × 1,500 = 90M tokens → $225
每天 output: 60,000 × 500 = 30M tokens → $300
每天总计: $525 → 月度 ≈ $15,750
叠加优化策略:
| 优化措施 | 月节省 | 说明 |
|---|---|---|
| Prompt Caching(system 800 tokens × 90% 命中) | ~$2,400 | 降低 input 成本 |
| 模型路由(70% 用 mini,成本约 1/10) | 月度降至 ~$5,500 | 大幅降低主体成本 |
| 语义缓存(30% query 命中) | 再降 ~$1,500 | 零 API 成本命中 |
优化后月度成本:$3,500–$4,500(降幅约 70–80%)
PM 的成本直觉建立
在评估新功能时,快速估算成本变化:
| 功能变更 | 成本影响估算 |
|---|---|
| 支持用户上传图片(见 c12 §12.4) | +500–1700 tokens/图,图片多时成本可能翻倍 |
| 开启 Extended Thinking(System 2,见 c11 §11.4) | output token 可能增加 5–20 倍 |
| System prompt 从 500 → 2000 tokens | 无 Caching 时成本 +$2,000/月;有 Caching 时净增 < $200/月 |
| 引入 Agent(10 步任务) | 单任务成本可能是单次对话的 10–30 倍(见 c10 §10.5) |
| INT4 量化部署(见 c07 §7.2) | 推理成本降低 50–70%,但需要自建推理服务 |
相关概念卡:Tokenization、自回归生成、RAG、Agent、Embedding、幻觉与校准、System 2 Test-Time Compute、量化 上一章:m208 AI 基础设施 下一章:m210 数据工程流