LLM API 成本怎么算?给产品原型的估算方法

很多 AI 产品原型在 Demo 阶段看起来很便宜,但一旦有真实用户,API 成本就会快速上升。原因通常不是模型单价太贵,而是团队没有提前估算请求量、上下文长度、输出长度、失败重试和后台任务。

这篇文章给出一个适合产品原型阶段的估算框架,帮助你在上线前大致判断:这个 AI 功能的成本是否可控。

快速结论

LLM API 成本可以先用一个简单公式估算:

月成本 = 月请求数 × 单次平均 token 数 × token 单价

但真实项目里,你至少还要额外考虑:

  • 系统 Prompt
  • 历史对话
  • RAG 检索片段
  • 输出长度
  • 失败重试
  • 日志和评估任务
  • 后台批处理
  • 高峰流量

原型阶段不需要算到非常精确,但必须知道主要成本来自哪里。

什么是 token

简单理解,token 是模型计费和处理文本的基本单位。中文、英文、标点和空格都会被拆成 token。你不需要手动精确计算每句话的 token,但需要知道:输入越长、输出越长、请求越多,成本越高。

一个常见误区是只看用户输入。实际上每次请求通常包含:

系统 Prompt + 用户输入 + 历史上下文 + 检索资料 + 模型输出

所以一个看起来只有一句话的问题,实际可能因为带了很长的历史对话或知识库片段,变成一次很贵的调用。

基础估算公式

建议把输入和输出分开算:

月输入成本 = 月请求数 × 平均输入 tokens × 输入 token 单价
月输出成本 = 月请求数 × 平均输出 tokens × 输出 token 单价
月总成本 = 月输入成本 + 月输出成本 + 冗余预算

冗余预算建议先加 10%-30%,用于覆盖失败重试、测试流量、日志分析和异常长输入。

示例 1:邮件摘要功能

假设你做一个邮件摘要工具:

指标数值
每天邮件数100
每月天数30
月请求数3000
平均输入1500 tokens
平均输出250 tokens
单次总量1750 tokens

总 token 量:

3000 × 1750 = 5,250,000 tokens/月

如果你用的是便宜模型,这个成本通常可以接受。但如果你把整封长邮件、历史引用和附件内容都塞进去,成本可能翻几倍。

示例 2:AI 客服问答

客服问答的成本通常比邮件摘要更复杂,因为它可能包含历史对话和知识库检索片段。

成本项说明
系统 Prompt每次请求都会带上
用户问题通常较短
历史对话多轮对话时快速增长
RAG 片段每次可能插入 3-8 段资料
模型回答输出越详细越贵

如果你每次都塞入完整历史对话和大量知识库片段,哪怕用户只是问一个简单问题,成本也会变高。

如何快速估算产品原型成本

第一步:列出核心场景

不要一开始估算整个产品。先列出最重要的 3 个场景:

  • 新用户第一次提问
  • 老用户连续追问
  • 后台批量总结或分析

不同场景的 token 量差异很大。

第二步:抽样 20 条真实输入

找 20 条接近真实的用户输入,记录每条大概长度。不要只用理想输入测试,因为真实用户会粘贴长文、截图 OCR 文本、日志、合同或表格。

第三步:估算平均输入和输出

可以先粗略分成三档:

类型输入 tokens输出 tokens
短请求500200
中等请求2000500
长请求80001000

然后按比例估算。例如 70% 短请求、25% 中等请求、5% 长请求。

第四步:乘以请求量

请求量可以按产品阶段估算:

阶段日活用户人均请求/天月请求数
内测2053000
小规模公开200530000
增长阶段20005300000

很多成本问题不是发生在内测,而是发生在增长阶段。

降低成本的 8 个方法

  1. 减少无意义上下文:不要每次都带完整历史。
  2. 先分类再处理:简单任务用小模型,复杂任务用强模型。
  3. 缓存重复问题:FAQ、固定解释、重复摘要都可以缓存。
  4. 限制输出长度:明确要求“200 字以内”或“只输出 JSON”。
  5. 清洗输入:去掉 HTML、签名、日志噪音和重复内容。
  6. RAG 控制召回数量:不要无脑塞入 20 段资料。
  7. 异步处理长任务:后台任务可以排队,不一定实时完成。
  8. 监控异常用户:防止单个用户上传超长文本导致成本异常。

不要过早优化,但要提前监控

原型阶段不需要为了省几块钱牺牲验证速度。更好的做法是:

  • 先把功能做出来
  • 给每次请求记录 token 用量
  • 每天看总成本
  • 找出最贵的 10% 请求
  • 再针对性优化

不要凭感觉优化。真正该优化的是成本占比最高、请求量最大的场景。

建议记录的日志字段

request_id
user_id
feature_name
model
input_tokens
output_tokens
total_tokens
latency_ms
success
error_type
created_at

有了这些字段,你才能回答:哪个功能最贵?哪个用户消耗最多?失败重试占多少?换模型是否值得?

总结

LLM API 成本估算不需要一开始非常精确,但需要有框架。最重要的是把请求量、输入、输出、上下文和重试分开看。

对于产品原型,建议先用中低成本模型验证需求,再根据真实日志决定是否做缓存、模型路由、RAG 优化和上下文压缩。不要只看模型单价,也不要在没有数据时过度优化。

上线前事实核验

待核验:本文涉及模型、API、价格、限制或供应商能力等易变信息。正式上线前需要以官方文档或当前测试结果复查。

顶部