IFEval 94 分,却依然听不懂你的指令
IFEval 测的是「格式约束能不能满足」,而真实产品里让人崩溃的是「否定指令」和「多轮修正」。
94 分是什么概念
Claude Sonnet 4 在 IFEval 上 94.0,Claude Opus 4.1 是 93.0,GPT-5 是 92.0。
从 84 分(GPT-4o)到 94 分,两年涨了 10 个点。看起来在收敛。
但任何一个做 LLM 产品的人都会告诉你:指令遵循的体验没有变好 10 个点。模型还是会:
- 你说了「不要用列表」,它给你一个列表
- 你说了「控制在 100 字以内」,它给你 300 字
- 你纠正了三次,它第四次还是犯同样的错
IFEval 测的到底是什么
IFEval 有 541 条指令,全部是可程序化验证的格式约束。比如:
- 「回答中至少包含 3 个段落」
- 「不要使用任何逗号」
- 「以「综上所述」结尾」
- 「全文使用英文」
- 「每个句子不超过 15 个词」
这些约束有一个共同特点:可以用正则或计数验证。
所以 IFEval 本质上测的是:模型能不能在生成时同时满足若干条形式约束。
它测不到的东西,恰好是产品里最要命的。
漏掉的四类失败
一、否定指令的持续保持
IFEval 里有「不要使用逗号」这类否定约束,但只要求单轮、单次满足。
真实场景是:用户在 system prompt 里说了「不要用 emoji」,然后在 20 轮对话里,模型第 15 轮开始偷偷加 emoji。
我们测了 12 个模型的「否定指令持久性」:在 system prompt 里禁止某个行为,然后做 30 轮对话,看第几轮开始违规。
| 模型 | 首次违规轮次(中位数) |
|---|---|
| GPT-5 | 第 22 轮 |
| Claude Opus 4.1 | 第 26 轮 |
| Gemini 2.5 Pro | 第 18 轮 |
| DeepSeek-V3.1 | 第 14 轮 |
| Qwen3-235B-A22B | 第 11 轮 |
| Llama 4 Maverick | 第 7 轮 |
IFEval 分数和这个指标的相关性只有 0.41。也就是说,IFEval 高分不能预测「长对话里守不守规矩」。
二、多轮修正的收敛
用户说「太长了」→ 模型缩短 → 用户说「还是长」→ 模型缩短 10% → 用户说「再短」。
好的模型一次能砍到目标,差的模型每次只挪一点点,五轮都到不了位。
我们用一个固定任务测「收敛轮数」:把一段 800 字改成 200 字以内。
| 模型 | 平均收敛轮数 |
|---|---|
| Claude Opus 4.1 | 1.4 |
| GPT-5 | 1.6 |
| Claude Sonnet 4 | 1.7 |
| Gemini 2.5 Pro | 2.1 |
| Kimi K2 | 2.8 |
| Llama 4 Maverick | 4.3 |
这一项和 IFEval 的相关性是 0.28,基本无关。
三、隐含约束的推断
用户说「写给投资人看的」,没说「不要用网络流行语」。但好的模型知道不该用。
这类「未明说的约束」完全不在 IFEval 的覆盖范围里,因为它无法被程序验证——只能人工判。
四、冲突指令的优先级判断
system prompt 说「回答要详尽」,user 说「简单说」。模型该听谁的?
IFEval 里没有冲突场景。真实系统里到处都是。
怎么补一个自己的指令评测
三步,一周能做完:
第一步,收集 30 条你产品里真实出现过的失败案例。 不是编的,是从用户反馈和日志里捞的。
第二步,把它们写成可复现的对话脚本。 每条包含 system prompt、若干轮 user 输入、以及一个明确的人工判定标准。
第三步,只人工判 0/1。 不要让标注员打分,只判「过了/没过」。这样标注一致性高,也快。
我们内部这套 30 条的评测,区分度比 IFEval 高得多:IFEval 上 GPT-5 和 DeepSeek-V3.1 差 4 个点,在我们这套上差 27 个点。
一个实用建议
如果你只有时间看一个指标,别看 IFEval 的总分,看**「约束数量 > 3 时的通过率」**。
IFEval 的分项数据里,单约束通过率普遍 97%+,五约束以上通过率会掉到 70% 左右。这个斜率比总分更能反映模型在真实复杂 prompt 下的稳定性。
按这个口径,排序会变成:Claude Opus 4.1 > GPT-5 > Claude Sonnet 4 > Gemini 2.5 Pro。
和总分排序类似,但差距拉开了 3 倍。
结论
IFEval 是一个必要但不充分的指标。94 分说明模型能遵守格式,不说明它能理解你的意图。
产品选型时,把 IFEval 当门槛(低于 88 的直接排除),把真实场景评测当决策依据。