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 |
|---|---|---|
| 短请求 | 500 | 200 |
| 中等请求 | 2000 | 500 |
| 长请求 | 8000 | 1000 |
然后按比例估算。例如 70% 短请求、25% 中等请求、5% 长请求。
第四步:乘以请求量
请求量可以按产品阶段估算:
| 阶段 | 日活用户 | 人均请求/天 | 月请求数 |
|---|---|---|---|
| 内测 | 20 | 5 | 3000 |
| 小规模公开 | 200 | 5 | 30000 |
| 增长阶段 | 2000 | 5 | 300000 |
很多成本问题不是发生在内测,而是发生在增长阶段。
降低成本的 8 个方法
- 减少无意义上下文:不要每次都带完整历史。
- 先分类再处理:简单任务用小模型,复杂任务用强模型。
- 缓存重复问题:FAQ、固定解释、重复摘要都可以缓存。
- 限制输出长度:明确要求“200 字以内”或“只输出 JSON”。
- 清洗输入:去掉 HTML、签名、日志噪音和重复内容。
- RAG 控制召回数量:不要无脑塞入 20 段资料。
- 异步处理长任务:后台任务可以排队,不一定实时完成。
- 监控异常用户:防止单个用户上传超长文本导致成本异常。
不要过早优化,但要提前监控
原型阶段不需要为了省几块钱牺牲验证速度。更好的做法是:
- 先把功能做出来
- 给每次请求记录 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、价格、限制或供应商能力等易变信息。正式上线前需要以官方文档或当前测试结果复查。