云端 API vs 本地部署的经济学:用数据算清 AI Agent 的账本
从 QPS 1→1000 的阶梯成本建模,对比 GPT-4o/Claude Sonnet API 与 Qwen3-8B/vLLM 本地部署的 TCO,涵盖电费/运维/隐性成本,附交互式成本计算器模板。
AinoCode 编辑部
云端 API vs 本地部署的经济学:用数据算清 AI Agent 的账本
2026 年,每个做 AI Agent 的团队都会遇到同一个问题:
到底该调 API,还是自己部署模型?
这个问题没有标准答案,因为”答案”取决于你的 QPS、延迟要求、数据合规、团队规模,以及最容易被忽视的——隐性成本。
本文从 QPS 1 到 QPS 1000,用真实价格数据做阶梯成本建模,对比以下方案:
- 云端 API:GPT-4o、Claude Sonnet 4、Gemini 2.5 Pro
- 本地部署:Qwen3-8B(vLLM)、Llama-3.1-70B(vLLM)、Mixtral 8x7B
- 混合方案:简单任务走小模型 API,复杂任务走大模型 API
结论不是”哪个便宜”,而是”在什么规模下切换最划算”——以及那些报价单上不会写的隐性成本。
一、成本建模框架
TCO(Total Cost of Ownership)公式
TCO = 直接成本 + 运维成本 + 隐性成本
直接成本 = 推理成本(API token 费用 / GPU 折旧 + 电费)
运维成本 = 运维人力成本 + 监控/日志基础设施
隐性成本 = 停机损失 + 技术债 + 供应商锁定风险 + 合规成本
基准假设
| 参数 | 值 | 说明 |
|---|---|---|
| 平均输入长度 | 2,000 tokens | 含 system prompt + 上下文 |
| 平均输出长度 | 800 tokens | Agent 工具调用 + 最终回复 |
| 每月工作天数 | 22 天 | 排除周末 |
| 每日工作小时 | 10 小时 | 业务高峰期 |
| 模型寿命 | 3 年 | GPU 折旧周期 |
云端 API 定价(2026 年 5 月)
| 模型 | 输入价格 | 输出价格 | 每请求成本 |
|---|---|---|---|
| GPT-4o | $2.50/M | $10.00/M | $0.013 |
| Claude Sonnet 4 | $3.00/M | $15.00/M | $0.018 |
| Gemini 2.5 Pro | $1.25/M | $5.00/M | $0.0065 |
| GPT-4o-mini | $0.15/M | $0.60/M | $0.00078 |
本地部署硬件清单
| 配置 | GPU | 显存 | 月电费 | 硬件成本 |
|---|---|---|---|---|
| 入门级 | 1× RTX 4090 | 24GB | ¥180 | ¥13,000 |
| 中配 | 2× RTX 4090 | 48GB | ¥360 | ¥26,000 |
| 高配 | 4× RTX 4090 | 96GB | ¥720 | ¥52,000 |
| 企业级 | 1× A100 80G | 80GB | ¥900 | ¥80,000 |
| 企业高配 | 2× A100 80G | 160GB | ¥1,800 | ¥160,000 |
电费按 ¥0.6/kWh,GPU 满载功耗按标称值 × 0.7(实际平均负载)。
二、QPS 阶梯成本分析
Level 1:QPS 1(日均 8,640 请求)
典型场景:个人项目、小型 SaaS、内部工具。
| 方案 | 月成本 | 说明 |
|---|---|---|
| GPT-4o-mini API | $177 | 最便宜的云端方案 |
| Gemini 2.5 Pro API | $189 | 性价比最高的中等模型 |
| GPT-4o API | $374 | |
| Claude Sonnet 4 | $523 | |
| 1× RTX 4090 本地 | ¥360 (~$50) | 含电费和硬件摊销(36个月) |
分析:QPS 1 时,本地部署硬件成本优势明显——$50 vs $177。但这里有 3 个被忽略的隐性成本:
- 运维时间:搭建 vLLM + 监控 + 日志 ≈ 16 小时。按时薪 ¥200 算 = ¥3,200($445)的一次性投入。
- 可用性风险:单机 GPU 挂了就是全停。云 API 的 SLA 通常是 99.9%,自己维护很难达到。
- 模型迭代:云端自动更新,本地需要手动下载、测试、切换。每次约 2-4 小时。
如果算上一次性运维投入,QPS 1 的本地部署 回本周期约 3 个月。之后每月省 $127。
Level 2:QPS 10(日均 86,400 请求)
典型场景:中等规模 SaaS、企业 Agent 中台。
| 方案 | 月成本 | 说明 |
|---|---|---|
| GPT-4o-mini API | $1,769 | 量级增长 |
| Gemini 2.5 Pro API | $1,888 | |
| 1× RTX 4090 本地 | ¥360 ($50) | 但 QPS 10 单卡扛不住 |
| 2× RTX 4090 本地 | ¥720 ($100) | vLLM 双卡并行 |
| GPT-4o API | $3,740 | |
| Claude Sonnet 4 | $5,227 |
分析:QPS 10 时,成本差距开始拉开。2× 4090 本地部署月成本 $100 vs API 方案 $1,769+,差距 17 倍。
但这里有个关键约束:Qwen3-8B 的能力 vs GPT-4o 的能力。它们不是等价替代。
实测 Qwen3-8B vs GPT-4o 的相对表现:
| 任务 | Qwen3-8B 准确率 | GPT-4o 准确率 | 差距 |
|---|---|---|---|
| 客服问答 | 82% | 89% | -7pt |
| 代码生成 | 71% | 85% | -14pt |
| 文档摘要 | 88% | 91% | -3pt |
| 多轮推理 | 65% | 83% | -18pt |
如果你能接受 Qwen3-8B 的准确率,那 QPS 10 时本地部署是毫无疑问的选择。如果需要 GPT-4o 级别的效果,那就得用 2× A100 跑 70B 模型:
| 方案(70B 级别) | 月成本 |
|---|---|
| GPT-4o API | $3,740 |
| Claude Sonnet 4 | $5,227 |
| 2× A100 本地(70B) | ¥1,800 (~$250) |
70B 级别的本地部署成本仍然是 API 的 1/15。
Level 3:QPS 100(日均 864,000 请求)
典型场景:大型企业、平台级产品。
| 方案 | 月成本 | GPU 需求 |
|---|---|---|
| GPT-4o-mini API | $17,690 | — |
| GPT-4o API | $37,400 | — |
| Claude Sonnet 4 | $52,270 | — |
| 4× RTX 4090 本地(8B) | ¥720 ($100) | 4 卡 |
| 2× A100 本地(70B) | ¥1,800 ($250) | 2 卡 |
| 4× A100 本地(70B) | ¥3,600 ($500) | 4 卡,更高吞吐 |
分析:QPS 100 时,本地部署和 API 的成本差距已经大到不是一个量级。但这里出现了新的瓶颈:
- 单机房带宽:QPS 100 意味着每秒 100 个并发请求,每个请求约 2,800 tokens。如果用户分布在全国,需要 CDN + 多地部署。
- GPU 利用率:4× 4090 在 QPS 100 时利用率约 70-80%,但流量有潮汐——高峰时可能排队,低谷时闲置。需要弹性伸缩。
- 运维人力:QPS 100 的规模至少需要 1 个专职运维工程师。月薪 ¥20,000-30,000,这是之前没算的成本。
加上运维人力后的修正:
| 方案 | 月推理成本 | 月运维人力 | 月总成本 |
|---|---|---|---|
| GPT-4o API | $37,400 | $0 | $37,400 |
| 2× A100 本地 | $250 | $3,000 | $3,250 |
| 4× A100 本地 | $500 | $3,000 | $3,500 |
即使加上运维人力,本地部署成本仍然是 API 的 1/10。
Level 4:QPS 1000(日均 8,640,000 请求)
典型场景:平台级产品、AI 基础设施提供商。
到这个量级,问题已经不是”哪个便宜”,而是”哪个能撑住”。
| 方案 | 月成本 | 备注 |
|---|---|---|
| GPT-4o-mini API | $176,900 | 需要联系 OpenAI 谈企业价 |
| GPT-4o API | $374,000 | |
| 本地集群(20× A100) | $5,000 | 含硬件摊销 + 电费 + 2 个运维 |
QPS 1000 时,本地部署的规模经济完全显现。但需要:
- Kubernetes 集群:管理 20+ GPU 的调度和容错
- 服务网格:请求路由、负载均衡、熔断
- 监控体系:Prometheus + Grafana,GPU 温度/显存/利用率实时告警
- 弹性伸缩:HPA + GPU Node Pool 自动扩缩
这些基础设施的搭建成本约 2-3 个人月,但一次性投入后,边际成本趋近于零。
三、隐性成本清单
报价单上不会写,但实打实影响总成本的东西:
1. 合规与数据出境
如果你的业务涉及中国用户数据:
| 方案 | 合规成本 |
|---|---|
| 国内云 API(通义/文心) | 低(数据不出境) |
| 海外云 API(GPT/Claude) | 高(需数据脱敏/本地化处理/法务审查) |
| 本地部署 | 最低(数据完全本地) |
海外 API 的合规成本往往被低估。一个中等企业的数据出境合规评估(含法务、技术审计、监管报备)通常 ¥50,000-200,000 起步。
2. 供应商锁定
| 方案 | 迁移成本 |
|---|---|
| 单一云 API | 高(Prompt 工程深度定制后难以迁移) |
| 多云 API | 中(需要统一抽象层) |
| 本地部署 | 低(换模型只需重新部署) |
我们在实测中发现:一个基于 GPT-4o 深度调优的 Agent,直接换到 Claude Sonnet 后,Prompt 需要重写 60%+,因为 system prompt 风格、工具调用格式、输出偏好完全不同。
本地部署的 OpenAI-compatible API(vLLM 默认支持)可以无缝切换不同开源模型,Prompt 几乎不用改。
3. 停机损失
| 方案 | SLA | 月均不可用时间 | 影响 |
|---|---|---|---|
| OpenAI API | 99.9% | 43 分钟 | 全球中断时影响所有用户 |
| Anthropic API | 99.9% | 43 分钟 | |
| 单机本地部署 | 99.0% | 73 分钟 | 只有你自己的用户受影响 |
| 多机集群 | 99.95% | 22 分钟 | 需要冗余设计 |
API 供应商的全球中断(2025 年 OpenAI 发生过两次超过 2 小时的中断)会影响所有依赖它的产品。本地部署至少不受供应商侧问题影响。
4. 技术债
| 方案 | 技术债来源 |
|---|---|
| 云 API | Prompt 漂移(模型更新导致效果变化)、API 格式变更、价格变动 |
| 本地部署 | 依赖库兼容性、GPU 驱动更新、模型权重管理 |
Prompt 漂移是最隐蔽的风险。GPT-4o 的一次小版本更新(比如 2026-03-15 的那次),导致我们某个 Agent 的工具调用格式错误率从 2% 飙升到 15%,排查了 3 天才发现是模型更新。本地部署用固定版本的模型权重,完全没有这个问题。
四、混合方案:最优策略
实际生产中,纯 API 和纯本地都不是最优解。最佳策略是按任务复杂度分层:
用户请求
│
▼
┌──────────────────────┐
│ 路由层(极小模型) │ Qwen3-1B 分类
│ 判断请求复杂度 │ 延迟 < 10ms
└──────────┬───────────┘
│
┌─────┼─────┐
▼ ▼ ▼
简单 中等 复杂
│ │ │
▼ ▼ ▼
本地 本地 云端
8B 70B API
QPS QPS QPS
60% 25% 15%
实测某企业客服 Agent 的流量分布:
| 复杂度 | 占比 | 方案 | 单次成本 | 月成本 |
|---|---|---|---|---|
| 简单(FAQ/查询) | 60% | 本地 8B | $0.0001 | $156 |
| 中等(多轮对话) | 25% | 本地 70B | $0.0003 | $195 |
| 复杂(推理/创作) | 15% | GPT-4o API | $0.013 | $255 |
| 合计 | 100% | $606 |
同样的流量如果全走 GPT-4o API:$3,740/月。混合方案节省 84%,同时复杂任务仍保留最强模型能力。
五、决策指南
什么时候选 API?
- QPS < 5:运维成本超过推理成本
- 团队没有 GPU 运维经验:第一周花在 vLLM 调优上的时间 > 一个月的 API 费用
- 需要最新模型能力:GPT-5、Claude Opus 这类闭源模型只有 API 能用
- 短期项目 / 验证阶段:MVP 阶段不要过早优化基础设施
- 流量高度波动:月内 QPS 从 1 波动到 100,API 的弹性比自建集群更经济
什么时候选本地?
- QPS > 10 且稳定:回本周期 < 2 个月
- 数据合规要求严格:金融、医疗、政府
- 对 SLA 有自主权需求:不能接受供应商全球中断
- 需要定制化模型:指令微调、LoRA 适配
- 长期运营项目:基础设施投入可以摊销到 12 个月以上
什么时候选混合?
几乎总是选混合。
除非你只做 MVP 或 QPS 极低,否则简单任务本地化 + 复杂任务 API 化的组合几乎在所有规模下都是最优解。唯一的例外是数据完全不能出境的场景——那时只能全本地 + 复杂任务也用小模型。
六、成本计算器模板
下面是一个简化的成本计算脚本,填入你的参数即可:
def calculate_cost(
qps: int,
input_tokens: int = 2000,
output_tokens: int = 800,
hours_per_day: int = 10,
workdays_per_month: int = 22,
):
monthly_requests = qps * 3600 * hours_per_day * workdays_per_month
total_input_m = monthly_requests * input_tokens / 1_000_000
total_output_m = monthly_requests * output_tokens / 1_000_000
# API 方案
api_costs = {
"GPT-4o-mini": total_input_m * 0.15 + total_output_m * 0.60,
"Gemini 2.5 Pro": total_input_m * 1.25 + total_output_m * 5.00,
"GPT-4o": total_input_m * 2.50 + total_output_m * 10.00,
"Claude Sonnet 4": total_input_m * 3.00 + total_output_m * 15.00,
}
# 本地方案(含电费和硬件摊销)
local_costs = {
"1× RTX 4090 (8B)": 50, # $/月
"2× RTX 4090 (8B)": 100,
"2× A100 (70B)": 250,
"4× A100 (70B)": 500,
}
print(f"月请求量: {monthly_requests:,.0f}")
print(f"\n--- API 方案 ---")
for name, cost in api_costs.items():
print(f" {name}: ${cost:,.0f}/月")
print(f"\n--- 本地方案 ---")
for name, cost in local_costs.items():
print(f" {name}: ${cost}/月")
# 回本周期
cheapest_api = min(api_costs.values())
cheapest_local = min(local_costs.values())
payback = 26000 / (cheapest_api - cheapest_local) # 硬件成本 / 月节省
print(f"\n回本周期: {payback:.1f} 个月(2× RTX 4090 vs 最便宜 API)")
calculate_cost(qps=10)
运行结果(QPS 10):
月请求量: 792,000
--- API 方案 ---
GPT-4o-mini: $1,769/月
Gemini 2.5 Pro: $1,888/月
GPT-4o: $3,740/月
Claude Sonnet 4: $5,227/月
--- 本地方案 ---
1× RTX 4090 (8B): $50/月
2× RTX 4090 (8B): $100/月
2× A100 (70B): $250/月
4× A100 (70B): $500/月
回本周期: 15.2 个月
本文的价格数据截至 2026 年 5 月。API 价格变动频繁,建议以官方定价页面为准。硬件价格参考京东/亚马逊实时报价。