大模型选型:别只看榜单,先想清楚这四个问题
能力、成本、上下文、可用性——一套可复用的选型框架,以及「只盯着排行榜选模型」为什么几乎总会翻车。
「现在哪个模型最强?」这个问题没有标准答案,因为最强的模型通常不是最适合你的模型。
选型要回答的不是「谁最强」,而是「在我的场景、我的预算、我的延迟要求下,谁够用且划算」。这篇给一套可复用的判断框架。
先想清楚四个问题
一、任务到底难在哪
把任务拆成能力维度,逐项判断:
| 能力 | 典型任务 | 对模型的要求 |
|---|---|---|
| 分类 / 抽取 | 情感分析、实体识别 | 小模型通常就够 |
| 改写 / 摘要 | 文案润色、会议纪要 | 中等模型足够 |
| 结构化输出 | 生成严格 JSON | 指令遵循能力是关键 |
| 多步推理 | 数学、逻辑、代码调试 | 需要强推理模型 |
| 长文档理解 | 合同分析、论文总结 | 取决于上下文长度 |
| 工具调用 | Agent 场景 | 看模型对 tool use 的稳定性 |
关键洞察:大部分生产场景是前三类。 它们用中等甚至小模型就能做好,成本却能降到十分之一。先别默认上最强的。
二、成本能接受多少
成本不只看单价,要算每个任务的实际花费:
单任务成本 ≈ (输入 token × 输入单价 + 输出 token × 输出单价) × 重试次数
两个容易被忽略的点:
- 输出比输入贵得多。 看定价表时注意,输出单价往往是输入的 4 到 5 倍。所以控制输出长度比压缩输入更省钱。
- 要算「完成任务」的成本,不是「单次请求」的成本。 便宜的模型如果要多试两轮才对,加上重试反而更贵。
关于省钱,按这个顺序做:先做提示缓存(重复的长前缀缓存后价格大幅下降),再压缩输入(别把整个文档塞进去),再考虑降低输出长度,最后才是换更小的模型。前三项是免费的,换模型可能牺牲质量。
三、上下文窗口要多长
现在主流模型动辄支持几十万甚至上百万 token,但不要因为窗口大就往里塞。
长上下文的两个陷阱:
- 中间遗忘。 关键信息放在超长上下文的正中间时,模型可能忽略它。重要的内容放开头或结尾更稳。
- 成本线性增长。 每次请求都带 50 万 token,账单会很难看,延迟也会变高。
正确做法通常是用 RAG 检索出最相关的几段(参考 RAG 那篇),而不是把整个知识库塞进上下文。
四、可用性和合规
前面三点都满意了,还要过这几关:
- 服务稳定性与限流:你的峰值 QPS 会不会触发限流?
- 数据合规:能不能把用户数据发给第三方?需不需要私有部署?
- 延迟要求:用户能接受首字延迟多久?
- 是否要可复现:模型版本升级会不会让效果突然变化?需要固定版本号。
分层策略:别用一个模型打天下
生产环境最实用的做法是分层:把不同难度的任务路由到不同的模型。
def route(task: str) -> str:
"""按任务类型选择模型层级"""
if task in ("classify", "extract", "rewrite"):
return SMALL_MODEL # 快、便宜,这类任务够用
if task in ("reason", "code_debug"):
return LARGE_MODEL # 需要强推理
return DEFAULT_MODEL # 中间档兜底
同一家的模型族通常接口一致,只换 model 参数即可,迁移成本很低。用「小模型处理简单任务、大模型处理疑难」的混合策略,通常能在质量基本不变的前提下把成本砍掉一大半。
但要注意:分层会引入一个问题——每个模型有独立的提示缓存。如果请求在多个模型间打散,缓存命中率会下降,反而可能更贵。所以分层要按流量类别切(分类请求永远走 A,推理请求永远走 B),而不是按单次请求随机切。
关于榜单
排行榜是起点,不是结论。三个原因让它不能直接用于决策:
一、榜单考的和你要做的不一样。 MMLU、数学竞赛题这类基准测试,和「帮我把这段客服对话分类」几乎没有关系。
二、存在数据污染。 公开基准的题目可能已经进了训练集,分数虚高。
三、忽略成本和延迟。 榜单只排质量。两个模型质量差 2%,价格差 10 倍时,榜单不会告诉你该选谁。
自己的评测集永远比榜单有用。 从你的真实业务里攒 30 到 50 条输入,覆盖典型和边界情况,人工标注正确答案,然后让候选模型都跑一遍。这件事半天就能做完,得到的信息量远超刷一周榜单。
一个可复用的选型流程
1. 写清任务:输入是什么、输出要什么格式、怎么算成功
2. 攒评测集:30~50 条真实样本,含边界情况
3. 跑候选:挑 3~4 个不同档位的模型都跑一遍
4. 打分对比:准确率、平均延迟、单次成本(含重试)
5. 按瓶颈定档:准确率不够就升档,成本超了就优化提示词或降档
6. 固定版本:上线时锁定模型版本号,避免静默变更
关于闭源和开源
闭源 API(Claude、GPT、Gemini 等)的优势是开箱即用、能力强、免运维。适合快速验证和大多数商业场景。Claude 系列目前的分层大致是:
- Opus 档(如
claude-opus-5):最强通用能力,适合复杂推理和 Agent - Sonnet 档(如
claude-sonnet-5):质量与成本平衡,是多数生产场景的默认选择 - Haiku 档(如
claude-haiku-4-5):快而便宜,适合分类、抽取、高并发场景
具体的模型 ID 和定价会持续更新,以官方文档的定价页为准,别依赖任何二手资料(包括这篇)。
开源自部署(Qwen、Llama、DeepSeek 等)适合:数据不能出内网、需要深度定制(微调)、或者调用量极大以至于自建更划算。代价是要自己承担推理引擎、显卡、运维的全部成本。想先低成本试试开源模型,可以看 本地跑大模型。
一个中间选择是先用 API 验证价值,跑通后再评估要不要自部署。反过来做(先买卡再想场景)几乎都会亏。
小结
- 别问「哪个最强」,问「谁在我的场景下够用且划算」
- 大部分生产任务是分类、抽取、改写——中小模型就够
- 输出 token 比输入贵,控制输出长度最省钱
- 长上下文不是免费的,优先用 RAG 而不是硬塞
- 分层路由能省大钱,但要按流量类别切以保证缓存命中
- 榜单只能参考,自己的评测集才是决策依据
- 先用 API 验证,再考虑自部署