同一个问题问两边,真正拉开差距的通常不是「懂不懂」,而是从第几步开始丢约束。单约束、答案唯一的提问,两层级模型给出的结果经常可以互换;一旦提问里同时存在多个必须满足的条件、跨段落的长上下文,或有明确的输出格式要求,差别就会集中到指令跟随、事实密度、格式稳定、改写幅度这四类可观察行为上。所以判断多花的时间值不值,要落到同题对比的记录条目上,而不是整体印象。
适用场景:需要判断轻量模型能否接手某类日常任务。操作动作:锁定提示词与参数,只换模型名,对同一批多约束、长上下文、严格格式、需取舍、含歧义的问题各跑一遍并逐条记录。验证方式:看差异落在指令跟随、事实密度、格式稳定还是改写幅度,再决定升级还是回落。风险边界:单批样本有限,结论只对该类问题成立,换问题类型需要重新对比。
选一组能暴露差异的问题,而不是随手一问
随手一问的对比没有解释力,因为两侧可能都正确,也可能都错在同一处。建议按下面五类各准备一到两题,同一批题在两边都跑。
- 多约束:一道题里放三到五个必须同时满足的条件,比如字数上限、必须包含的字段、明令禁止出现的表达。这类问题测的是模型会不会顾此失彼。
- 长上下文:把关键约束埋在长材料的中间或末尾,再提问。测的是长文里对约束的保持能力,与摘要质量是两回事。
- 严格格式:要求输出 JSON、固定字段的表格或固定标题层级。测的是结构稳定性,以及输出能否直接交给程序解析。
- 需要取舍:给出信息不足或互相冲突的材料,要求模型取舍并说明理由。测的是会不会硬编一个答案、会不会承认不确定。
- 含歧义:提问里留一个可两解的词,不做额外澄清。测的是模型选择追问,还是替你猜一个方向再补上假设。
固定提示词和参数,只改模型名这一个变量
要让差异可归因,提示词和参数必须锁死。下面的模板可以直接改用,把角色、约束和输入替换成你自己的内容。
你是<角色>。请针对下面的输入完成任务。
硬性约束:
1) 输出不超过 <N> 字;
2) 必须包含字段:<字段A>、<字段B>;
3) 不要出现 <禁止表达>;
4) 若输入信息不足,先列出缺失项,再给出最保守的答案。
输入:
<同一段原文,长度、顺序、标点完全一致>
除模型标识外,建议保持一致的项目包括:系统提示词或开发者提示词的完整文本、温度与其他采样参数、最大输出长度、是否开启结构化输出或 JSON 模式、工具与检索开关、提问顺序与轮次、上下文裁剪长度。第一次先跑一边记下基线,再换模型名重跑一遍。参数不一致时,输出差异无法归因到模型层级。
逐条记录输出差异并归类
记录的目的,是把「感觉更好」变成可对照的条目。每条至少记下这些字段:
- 编号与任务类型(多约束/长上下文/严格格式/需要取舍/含歧义)
- 提示词版本号与两侧的模型标识
- 是否满足全部硬性约束,漏了哪一条
- 与输入材料对照后的事实错误、遗漏或凭空补充
- 输出能否被解析器直接解析,是否需要人工修格式
- 相对原文的改写幅度:只改措辞、重排结构,还是改变了原意
- 备注:主观判断的地方写清楚判断依据
归类时按行为落点,而不是按「谁更好」。例如同一条多约束题,一侧满足字数但漏掉字段B,属于指令跟随差异;另一侧字段齐全,却补上了材料里没有的时间点,属于事实密度差异;同一道格式化题,一侧返回带代码围栏的 JSON,需要剥壳才能解析,属于格式稳定差异;同一段改写题,一侧保留原文结构只调整措辞,另一侧重写成新段落,属于改写幅度差异。同一道题在两侧可能落在不同类别,这本身就是结论。
判断差异来自模型层级还是提示词
差异出现后,先不要归因到模型层级,提示词本身经常是主因。可以用三种做法依次排除:
- 同条件重跑一次:提示词、参数、输入都不动,再跑一遍。观察点在同一模型两次输出之间的差异有多大。如果同模型两次的差别不小于两侧模型之间的差别,说明结论不稳,样本还不够。
- 换提问顺序:把同一批题倒序再问一遍。观察点在某题的结果是否随前后文变化。如果某题在换了顺序之后才变差,问题更可能出在上下文里的干扰内容,而不是模型层级。
- 缩短上下文:把长材料裁到只留必需段落,同一问题再问。观察点在差异是否消失。若缩短后两侧结果接近,说明瓶颈在上下文长度与信息密度,选型时应按输入长度来分,而不是按问题难度分。
如果三种做法之后差异仍然稳定复现,并且集中在同一类行为上,再考虑它是模型层级带来的差距。
按任务类型决定默认用哪个
有了分类记录,选型可以写成默认值加切换条件,而不是每次临时判断。
| 任务类型 | 默认选择 | 切换触发条件 |
|---|---|---|
| 单轮知识问答、简单润色 | 轻量模型 | 需要引用输入中的多处细节时升级 |
| 多约束成稿(字段、字数、禁词) | 中高端模型 | 连续两次漏掉同一类约束时升级;轻量模型连续稳定通过时回落 |
| 长文档处理,需保持中间约束 | 中高端模型 | 输入被裁剪后轻量模型能稳定通过时回落 |
| 结构化输出直接喂下游 | 先看解析结果,谁能稳定通过用谁 | 解析失败、需要人工修格式时切换 |
| 信息冲突或含歧义 | 中高端模型,或轻量模型先出多个选项再人工裁 | 任务本身变成明确规则时可回落 |
建议把触发条件写进团队的任务约定里,例如多约束、长文、格式要求严格这三类问题默认走中高端模型;一旦轻量模型在同类任务上连续稳定通过,再把它移回默认。触发条件看的是行为是否复现,不是一次输出好不好看。