上个月,一个做企业知识库的朋友问我,到底该用哪个模型抽取合同里的关键字段。他把手里的模型挨个试了一遍,最后只留下一句话:“感觉 A 模型更好一点。”我问怎么测出来的,他说“跑了一次,肉眼看的”。
这个场景我见过太多次。模型选型这件事,在很长一段时间里都靠“印象 + 运气”:看一篇评测、翻几条讨论、自己跑一个 prompt,然后凭感觉做决定。Google AI Studio 的模型对比功能,正在把这件事从一个模糊的“谁更强”,变成一种可以并排验证、可以记录、可以复现的测试过程。
这篇文章就从实际使用的角度,聊聊这个功能到底解决什么问题、怎么跑一次有效对比、以及对比完之后还要补哪些功课。
1. 模型对比功能先解决的不是“谁更强”,而是“怎么比”
1.1 单模型试玩是看“输出”,对比测试是看“差异”
如果你只打开 Google AI Studio,随便选一个模型,输入一段提示词,然后看输出,你其实是在拿这个模型和一个模糊的、你脑子里的“合理答案”做比较。看起来流畅,就觉得不错;格式不对,就觉得不行。
这种判断方式的问题在于:你永远不知道另一个模型在同一道题上会给出什么结果。也许 A 模型回答得很有条理,但它把字段名写错了;也许 B 模型看起来更啰嗦,但它对每个缺失字段都会明确说“未知”,而不是自己编一个值。这些差异,只有放在同一个画布里对比时才看得见。
Google AI Studio 的模型对比功能,本质上就是把两个或多个模型放进同一个测试环境,用同一段输入、同一组设置去跑,然后并排看输出。它的核心不是让你少点几次鼠标,而是让“差异”从不可见变成可见。
1.2 同屏对比让“好”从形容词变成可检查的具体项
我平时最常用这个功能的地方,是结构化和数据抽取类任务。比如让模型从一段售后记录里提取客户姓名、订单号、问题类型和处理状态,并输出成 JSON。单模型测试时,输出一个合法 JSON 我可能就觉得通过了。放在对比视图里,问题立刻暴露出来:
- 模型 A 返回了正确 JSON,但把“未处理”写成了“pending”;
- 模型 B 字段都对,但遇到空值时直接忽略了那个键;
- 模型 C 输出格式漂亮,却在没有订单号的情况下编了一个“000000”。
这些差异不是“谁聪明谁笨”的问题,而是“谁适合当前任务”的问题。所以我说,这个功能真正的价值,不是告诉你哪个模型是排行榜第一,而是把选型过程从一种口味判断,变成一种能记录、能复现、能向同事解释的测试行为。
关键在于:它没有取消人的判断,它只是把判断的范围缩小到了具体差异上。
2. 在 Google AI Studio 里跑一次模型对比的完整流程
2.1 从模型选择器开始,先把候选模型放进同一块画布
先说清楚,不同版本的 Google AI Studio 界面细节会有变化,按钮位置会移动,但基本逻辑是一致的。
以我常用的使用方式为例:登录账号后,在模型选择区域把要对比的模型都选上。比如 Gemini 2.5 Pro 和 Gemini 2.5 Flash 这种尺寸差异明显的组合,把它俩放在一起,比拿两个名字相似、能力接近的模型更有区分度。先看它们在同一任务上的下限差异,再决定要不要做更细的对比。
选中多个模型后,中间是提示词输入区,右边是参数配置区。输入一段提示词,点击运行,各个模型的输出会并排显示。如果某个模型还没跑完,界面上通常会有等待状态,你可以先观察已经出结果的那个。
这里有一个很容易踩的坑:不要一上来就把所有候选模型都加进去。一次对比 2 到 3 个模型最合适。加太多,输出区信息过载,你反而很难看清每个模型的行为模式。
2.2 对比前先统一三样东西:系统提示词、输出格式要求、最大输出长度
很多人做对比时只看用户提示词,却忽略了另外三个变量。这三个变量如果不统一,对比结果基本没有参考价值。
第一,系统提示词。如果 A 模型收到“你是专业的数据抽取助手”,而 B 模型没收到,那 B 输出得差就不能怪它。要保证所有模型拿到一模一样的系统提示词。
第二,输出格式要求。让模型输出 JSON,就明确给出键名和类型。比如“返回 JSON,包含 name、order_id、status 三个字段,缺失时填 null”。如果对格式要求写得含糊,模型们就会各自发挥,你的对比重点就从“谁更稳”变成了“谁更猜得准你的心思”。
第三,最大输出长度。如果任务需要长文本,而你把某个模型的最大输出 token 设得很低,它写到一半被截断,你会误判为“能力不行”。对比前把输出长度调到同一个足够大的值,或者按任务实际需求分别设置到“够用”的位置。
这个统一变量的思路,是整个对比测试里最重要的一步。界面操作谁都会,真正让结果有效的是你有没有把输入和输出约束对齐。
2.3 第一轮用单轮问答做基础排除,第二轮再进入多轮对话
第一次做对比,建议先只用单轮问答。给一个边界清晰的指令,看每个模型在“不依赖上下文记忆”的情况下表现如何。这一步能快速筛掉连基本指令都跟不稳的模型。
基础排查做完后,再进入多轮对话。在同一个会话里追问一句:“我刚刚说要的是客户电话,不是订单号,请重新提取。”这时你能看到模型能不能准确理解上一轮的要求,会不会把历史信息和新指令混淆。
多轮能力对聊天类、助手类、客服类任务尤其重要。结构化抽取任务如果只跑单轮,你会高估某些模型的稳定性。
注意:不要第一轮就上多轮复杂场景。先确认模型在单轮里能稳定输出正确格式,再追加多轮压力,这样出问题时你能快速定位是哪一层出了问题。
3. 对比测试真正难的是控制变量,不是点按钮
3.1 一条测试集,比一百条脑内“感觉”更可靠
只有一条 prompt,测出来的结果只能代表这条 prompt 本身。想判断模型适不适合你的任务,至少要准备 5 到 10 条测试用例,覆盖这几类:
- 标准情况:输入完整、信息清晰,看模型能否正常抽取;
- 长文本:输入几千字,目标字段藏在中间段落,看模型是否遗漏;
- 表格和半结构文本:看模型对格式变化的适应能力;
- 字段缺失:输入里没有订单号,看模型是填 null 还是编造;
- 重复信息:同一字段出现两次但值不同,看模型如何处理;
- 越界请求:用户问“帮我写一首诗”,看模型会不会直接放弃抽取任务。
以抽取合同字段为例,我通常会在测试集里放一段标准合同、一段扫描件风格的杂文本、一段含表格的条款,以及一个没有甲方签字信息的片段。目的是观察模型在不同输入形态下的行为模式,而不是追求一个好看的单次得分。
3.2 温度、topP、输出长度这些参数,决定了你比的是“能力”还是“运气”
大语言模型的输出带有随机性。温度参数控制随机程度:温度越低,输出越稳定;温度越高,发散越明显。如果抽取类任务在线上要用,温度通常应该设置得比较低,比如 0 到 0.2 之间。
做对比时,你至少要保证两件事:
一是温度要对齐。不要拿 A 模型温度 0 和 B 模型温度 1 的结果去对比,然后得出结论说“B 模型更发散”。这测的不是模型能力,而是参数差异。
二是 topP 等参数尽量用默认值或一致值。topP 和温度在业界被称为“二选一”的两类采样参数,通常只需要重点调一个。在对比阶段,我更建议只动温度,其他采样参数保持一致。
还有一个容易被忽略的问题:某些推理模型的温度设置可能是受限的。也就是说,界面上显示的温度,可能和实际生效值不完全一致,或者模型内部对采样参数有自己的约束。如果发现某个模型怎么调温度结果都一模一样,先不要急着怀疑模型坏了,去查一下该模型的说明文档,看看推理类模型默认的采样策略。
3.3 每个样例至少跑 3 遍,按“成功率”而不是“单次观感”来统计
温度不为 0 时,同一个模型、同一个提示词,跑两次结果可能不一样。所以只跑一次的对比,本质上是在拿彩票中奖率当能力。
我在做小样本对比时,习惯每个测试用例至少跑 3 遍,关键用例跑 5 遍。统计什么呢?不是“哪次的回答最惊艳”,而是:
- 这个模型在 5 次里,有几次输出了合法 JSON;
- 有几次字段值是正确且忠实于输入的;
- 有几次出现了幻觉字段,或者干脆拒绝回答;
- 有几次因为输出长度截断而失败。
把这些次数记下来,用成功率说话。一个模型可能某一次输出非常漂亮,但 5 次里有 4 次字段值编造,它就不适合生产环境。
注意:不要拿一次输出就写结论。温度大于 0 时,同一个模型、同一个提示词,两次结果很可能不一样。至少跑 3 次再下判断。
4. 判断模型能不能用,不要只看“回答得对不对”
4.1 正确性只占一半,格式稳定性、忠实性和拒绝方式同样关键
很多人在对比时只盯着“语义上对不对”,却忽略了三个决定项目成败的细节。
第一是格式稳定性。如果下游程序要求 JSON 键名严格保持一致,那模型在 10 次里有 3 次把 status 输出成 state,就算语义正确,你的程序也填不进去。格式稳定性是结构化任务的生命线。
第二是忠实性。模型有没有提取出原文里不存在的字段?比如原合同没有赔偿条款,模型却“贴心”地补了一个“赔偿金额:无”。表面看很完整,实际是幻觉。对生产系统来说,编造字段比漏字段更危险,因为漏字段可以被规则检测到,编造字段很难自动发现。
第三是拒绝方式。当输入缺少关键信息时,好的模型会输出“未知”或 null,差的模型会硬编一个默认值。不要小看这个差异,它决定了你的数据质量是可控还是不可控。
4.2 延迟、token 消耗和上下文窗口,是“能上线”和“只能演示”的分界线
在 Google AI Studio 的对比视图里,你能直观感受到哪个模型出结果更快。但请注意,界面的并排输出适合看“体感”,不适合做精确性能测量。它受浏览器、网络、服务器调度的影响太大。
模型选型进入后期,必须测三个数据:
- 延迟:用 API 实际调用,跑 20 次,记录 p50 和 p95;
- token 消耗:同样任务,哪个模型输出更短、更省 token;
- 长文本能力:模型宣称的上下文窗口和实际可用范围不是一回事,长文本里中间位置的信息经常“丢失”,要专门用长文档测试。
同类任务里,一个参数量更小或量化更激进的模型,可能在质量上只差 5%,但延迟和成本能省 40%。这个权衡只有靠数据,靠记下来,而不是靠“感觉响应挺快”。
4.3 把结果记成一张表,比收藏聊天记录更有长期价值
对比测试做得再仔细,如果不记录,一个星期后你就忘光了。我自己习惯用一张简单的表格做记录,字段大致如下:
| 模型 | 测试样例 | 合法 JSON | 字段正确 | 出现幻觉 | 平均输出 token | 体感延迟 | 备注 |
|---|---|---|---|---|---|---|---|
| 模型 A | 标准合同 | 5/5 | 5/5 | 0 | 320 | 快 | 格式稳定 |
| 模型 B | 标准合同 | 4/5 | 3/5 | 1 | 210 | 极快 | 有字段名误差 |
| 模型 A | 长文本 | 3/5 | 2/5 | 1 | 510 | 中 | 中段信息遗漏 |
表格不需要复杂,能回答“哪个模型、什么样例、成功率多少”就够了。它最大的作用不是当下,而是下次模型升级时,你能拿旧记录和新结果做对比,判断是该继续用还是该换。
建议:每跑一个样例就往表里加一行,不要等晚上统一回忆。人的记忆会美化结果,表格不会。
5. 实测中容易碰到的几个坑,以及排查顺序
5.1 空输出、截断和答非所问,先按这个顺序查
我在测试模型对比时,遇到过三种最典型的现象:模型返回空内容、输出被截断、以及“答非所问”。遇到这些问题,别急着换模型,先按下面的链路排查。
- 先看现象。是完全没有输出,还是输出到一半中断,还是输出了但内容完全不相关。三种现象对应的原因完全不同。
- 再看输入。提示词是不是为空?系统提示词和用户提示词是不是互相矛盾?输入文本是不是太长,超出了模型实际能有效处理的长度?
- 再看环境。同一个会话里,是不是切换过模型?某个模型是不是使用了不同的系统提示词?右侧的安全设置是不是把内容拦截了——Google AI Studio 里如果触发安全策略,输出可能为空或给出提示。
- 再看参数。最大输出 token 是不是设得太低?温度是不是设成了极端值?
- 最后看工具边界。你用的模型版本是否支持当前功能?比如某些结构化输出模式可能只对指定模型开放,某些模型不支持严格的 JSON 模式。如果界面没有明显报错,去查对应模型文档。
举例来说,有一次我发现某个模型在长文档测试里经常“忘了”中间段落的信息。一开始以为是模型能力问题,后来把输入缩减到 2000 字,问题消失,才发现是输入长度接近模型的有效处理上限。这个结论对选型很有价值,但它不是靠“换模型”测出来的,是靠逐步缩小输入范围找到的。
5.2 界面里的并排输出,更适合看质量,不适合测性能
前面提到过,并排视图里的耗时受网络、排队和浏览器渲染影响,不能当作精确延迟数据。想判断一个模型是否真的够快,正确做法是用 API 或者脚本,对同一个 prompt 连续调用 20 次,记录每次的延迟,计算中位数和尾延迟。
我在一个项目里测过两个模型。界面里 A 模型明显更快,但用 API 跑 20 次后,A 的 p95 延迟反而比 B 高。原因是 A 模型在高峰期容易排队。这个差异在对比视图里看不到,只有在批量测量时才暴露。
所以:界面并排输出用来判断“质量差异”,API 脚本用来判断“性能差异”。两者各有分工,不能互相替代。
5.3 模型更新、测试集偏差,都会让结论失真
大模型更新频率很高。同一个模型,三个月后跑同样的 prompt,结果可能完全不同。所以任何对比结论都要标注测试日期和模型版本。这也是我一直保留那张记录表的原因:它不只是测试记录,也是日后复盘的依据。
还要提醒一点:对比结果只代表你的测试集,不代表模型的全面能力。如果你的任务场景单一,测试集只有 5 条,那结论就局限在这 5 条上。不能说“A 比 B 强”,只能说“在我们这个抽取任务、这 5 个测试用例、相同参数前提下,A 的成功率更高”。
这个边界意识,比任何技巧都重要。
6. 把一次对比测试,沉淀成可复用的模型选型流程
6.1 一条从定性到定量的五步路径
模型对比功能用熟练之后,完全可以把它串成一套选型流程。我现在的做法分五步:
- 定义任务和成功标准。明确“什么算可用”:比如 JSON 合法率 100%、字段错误率低于 5%、幻觉为 0。
- 建一个 10 条左右的小测试集。覆盖正常、边界、坏输入三类情况。
- 用同一系统提示词、同一格式要求、同一组参数,对每个模型逐条测试,每条至少跑 3 次。
- 按成功率、格式稳定性、幻觉数量打分,再加入延迟和 token 成本,看综合性价比。
- 选出主模型,同时留一个备选模型,并记录测试日期、模型版本和测试集内容。
这套流程不复杂,但它把“我觉得 A 好”变成了“在 10 条测试用例、5 轮采样下,A 的 JSON 合法率是 95%,B 是 70%,所以选 A”。
6.2 什么时候不该用并排对比,而应该上完整评测
Google AI Studio 的模型对比功能,适合早期快速判断和中等规模小样本验证。它不适合所有场景。
如果你要做几百条用例的回归测试,或者要持续监控模型升级后是否引入质量回退,那就不应该靠手工在网页里一条条跑。正确做法是把评测流程脚本化:用 API 批量调用,保存输入输出,用程序判定 JSON 合法性和字段正确率,再生成统计报告。
到那个阶段,模型对比视图的价值反而不在“跑对比”,而在于帮你建立对候选模型的直观认知,帮你写更靠谱的批量评测脚本。
所以我的建议是:不要把这个功能神话,也不要低估它。它是一把很好用的“第一轮筛选”工具,帮你快速找到值得深入测试的候选模型。真正上线前,你还需要用 API 做性能验证、用更大规模的测试集做统计判断、用错误案例分析做最后一轮人工确认。
回到文章开头那个朋友的问题:哪个模型更适合抽合同字段?我没办法隔着屏幕给他一个答案,但我可以把这套能用记录和数字说话的方法交给他。模型选型从来不是一个“哪个最强”的问题,而是一个“哪个在可控条件下,能稳定满足我的任务要求”的问题。
Google AI Studio 的模型对比功能,把前者的门槛降低了,让更多人有机会做一次真正公平的测试。至于能不能测出有效结论,最终不取决于工具,而取决于你有没有设计好输入、控制好变量、记录下结果。