大模型选型:别只看榜单,先想清楚这四个问题

能力、成本、上下文、可用性——一套可复用的选型框架,以及「只盯着排行榜选模型」为什么几乎总会翻车。

「现在哪个模型最强?」这个问题没有标准答案,因为最强的模型通常不是最适合你的模型。

选型要回答的不是「谁最强」,而是「在我的场景、我的预算、我的延迟要求下,谁够用且划算」。这篇给一套可复用的判断框架。

先想清楚四个问题

一、任务到底难在哪

把任务拆成能力维度,逐项判断:

能力 典型任务 对模型的要求
分类 / 抽取 情感分析、实体识别 小模型通常就够
改写 / 摘要 文案润色、会议纪要 中等模型足够
结构化输出 生成严格 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 验证,再考虑自部署