上个月,我帮一个朋友把他的 LLM API 成本削减了 80%。
他是一个非技术出身的创业者,正在打造一个由 AI 驱动的业务。和大多数人一样,他选择了 GPT-5,因为它是默认选项:API 已经有了、基准测试数据不错、大家都在用——那还用考虑什么呢?
但随着使用量增长,他的账单也涨了。仅 API 调用费用就达到了 每月 1500 美元。
于是我们针对他的实际提示词(prompts)对 100 多个模型 进行了基准测试。很快我们发现,虽然 GPT-5 表现稳健,但几乎从不是最划算的选择——总能找到成本更低、质量相近的替代方案。找到合适的模型后,他节省了上千美元。以下是我们如何做到的。
问题:公开基准无法预测你自己的任务表现
选择 LLM 时,大多数人只是挑一个熟悉的服务商。比如我习惯用 Anthropic,根据任务选择 Opus、Sonnet 或 Haiku。稍微讲究点的,会查查各种排行榜:Artificial Analysis、LM Arena、GPQA Diamond、AIME、SWE Bench、MATH 500、Humanity’s Last Exam、ARC-AGI、MMLU……
但让我们面对现实:这些指标并不能预测模型在你具体任务上的表现。
一个在推理类 benchmark 中得分最高的模型,可能在损害费用估算上表现平平,或在多语言客服、网页数据提取等方面完全不行。
它们充其量只能作为“粗略参考”,而且完全没有考虑成本。
唯一真正知道性能的方法,就是在你自己的提示词上测试,同时考虑质量、成本和响应延迟。
自建基准测试
为了弄清楚这一点,我们自己搭建了基准系统。以下以一个客户支持场景为例:
步骤 1:收集真实示例
我们通过 WHAPI 提取了真实的客服对话:包含历史聊天记录、客户的最新消息,以及朋友实际回复的内容。他还提供了手动与自动生成的提示模板。基于此,我们选取了约 50 个聊天案例——既包括常见问题,也包含希望模型能正确应对的特殊情况。
步骤 2:定义预期输出
每个示例的“理想答案”就是朋友实际回复的内容。我们还定义了具体的评分标准,例如:
- 一个好的回答应告诉客户该产品售价为 5.99 美元,并立即提供下单选项;
- 或:一个好的回答应说明退货政策为 30 天,但客户已在两个月后才寄回货品。
这样模型评分时就能有依据。
步骤 3:构建基准数据集
至此,我们得到一个简单的数据集:输入提示(conversation + 指令) 与 期望输出(expected response)。
这个格式通用,适用于各种场景。如果某个模型表现很好,也可以用它的结果生成标准答案并微调。
步骤 4:在所有模型上运行
我们通过 OpenRouter 平台来运行这些模型,因为它提供统一 API,可以轻松切换模型:
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="<OPENROUTER_API_KEY>",
)
completion = client.chat.completions.create(
model="openai/gpt-5", # 或 "anthropic/claude-opus-4.5", "google/gemini-3-pro-preview" 等
messages=[{"role": "user", "content": "Hello!"}]
)
这让我们能用相同代码测试 50+ 模型。运行结果输出为一个 dataframe,记录每个模型的输入、期望输出和实际输出。
显然,这样的数据量太大,不可能人工评分,于是我们又让 LLM 来当评委。
步骤 5:用 LLM 作为“评审者”
我们选用 Opus 4.5 来对每条样本的模型输出进行评分——从 1 到 10 分,依据之前定义的具体标准。
有了详细标准后,LLM 评分更一致、更可靠。我们人工抽查部分结果,验证“评审”模型是否判断得当。有时因为期望答案模糊,评分会偏差,因此这一过程是迭代的。我们不仅让它输出分数,还让它说明评分理由。
这种方法在其他任务上也适用:为每个 prompt 定义标准答案,然后让“评委模型”对不同 LLM 的回答打分。
决策:选出最佳模型
现在我们拥有每个模型的质量评分。下一步要做的是——选哪个?
理想的模型应在质量、成本、延迟之间取得平衡。
在客户支持任务中,延迟非常关键。GPT-5 的回答质量很好,但上下文多时可能要等整整一分钟。而在另一个任务(损害费用估算)中,我们更关心精度,不介意多花点时间。
因此我们还需衡量:
- 成本(Cost):不仅是单价(token 费用),还包括每次调用的总花费,因为不同模型输出长度不同。
- 延迟(Latency):我们测量生成完整回答所需总时间。
最后得到每个模型的三项指标——质量、成本、延迟。通常,我们只需按质量排序,再选一个价格相对便宜、速度可接受的模型即可。
帕累托效率(Pareto Efficiency)
我们发现一个很实用的概念:帕累托前沿(Pareto Frontier)。
假设我们有 100 个模型,每个都有一个成本与质量分数。
如果某个模型 A 比模型 B 更便宜且更好,那模型 B 就没有存在价值。
筛选掉这些“被支配”的模型后,剩下的就是帕累托前沿——即“给定预算下最优的模型集合”。
在图上,横轴是价格,纵轴是质量。所有蓝点代表既没有更便宜又更好的替代品的模型。连接这些点,就得到最优边界。
可见,在优化质量与成本时,其它模型都没必要再看。
通过模型切换节省每月 1000 美元
利用基准测试结果,我们找到了一些质量几乎相同、但成本低达 10 倍 的模型。朋友最终选了一个稳妥版本,也把支出减少了 5 倍——每月省下 1000 多美元。
这过程虽然有效,但太繁琐,于是我开发了一个工具。
Evalry:一个可在 300+ LLM 间自动做基准测试的工具
真正做到“为自己的任务找到最优模型”比想象的复杂得多。
要整合多家 API、设计打分逻辑、处理错误,手动测 5 个模型都得花上好几个小时。
更糟的是,新模型几乎每周发布一次,成本常被减半,根本追不上。
因此我为朋友、也为所有有同样困扰的人构建了 Evalry。
它能自动测试你实际的提示词,对比 300 多个模型 的质量、速度与成本,一键生成可视化报告——
无需编程,几秒出结果。
真正做到:不再凭感觉选模型,而是用数据驱动决策。