跳到主要内容

成本优化

问题

AI 应用上线后 Token 费用超出预算,如何优化成本?

答案

一、成本构成分析

消耗点说明优化空间
输入 TokenPrompt + 上下文 + 历史消息 — 压缩 Context
输出 Token生成内容中 — 限制长度
调用次数请求量 — 缓存去重
模型选择不同模型单价差异 10~100 倍 — 分级路由

二、优化策略全景

三、核心优化手段

1. 模型路由 — 按任务复杂度选模型

function selectModel(task: { complexity: string; latencyReq: string }) {
// 简单任务用小模型,复杂任务用大模型
if (task.complexity === 'simple') {
return 'gpt-4o-mini' // $0.15/1M input
}
if (task.complexity === 'complex') {
return 'gpt-4o' // $2.50/1M input
}
return 'gpt-4o-mini' // 默认走低成本
}
模型路由效果

实际项目中,70~80% 的请求可以用小模型处理,成本可降低 5~10 倍。

2. 语义缓存 — 相似问题复用

async function cachedQuery(query: string) {
// 1. 计算 query embedding
const embedding = await embed(query)

// 2. 在缓存中搜索相似问题(余弦相似度 > 0.95)
const cached = await cache.search(embedding, { threshold: 0.95 })
if (cached) return cached.answer // 命中缓存,0 Token 消耗

// 3. 未命中,调用 LLM
const answer = await llm.generate(query)
await cache.set(embedding, answer, { ttl: '24h' })
return answer
}

3. 上下文压缩

方法做法节省
历史摘要旧对话压缩为摘要60~80%
RAG 结果精简只取最相关段落30~50%
Prompt 模板优化去除冗余指令10~30%
结构化输出JSON 替代自然语言20~40%

常见面试问题

Q1: GPT-4o 和 GPT-4o-mini 成本差多少?

答案

模型输入 ($/1M tokens)输出 ($/1M tokens)差距
GPT-4o$2.50$10.00基准
GPT-4o-mini$0.15$0.60~17 倍

Q2: 如何估算月度 Token 消耗?

答案

月费=DAU×人均对话轮数×(平均输入Token+平均输出Token)×30×单价月费 = DAU \times 人均对话轮数 \times (平均输入Token + 平均输出Token) \times 30 \times 单价

例:1000 DAU × 5 轮 × (1000+500) × 30 × 0.15/1M0.15/1M ≈ **33.75/月**(GPT-4o-mini)

Q3: 语义缓存的命中率一般多少?

答案
取决于业务场景:

  • 客服问答:命中率 40~60%(大量重复问题)
  • 通用对话:命中率 10~20%
  • 代码生成:命中率 5~10%(每次输入差异大)

适合高重复度场景,低重复场景收益有限。


相关链接