Harness-IF: Evaluating Instruction Following Across Instruction Surfaces in Coding Agents
Zining Huang, Haoran Que, Hong Zeng, Ge Zhang, Zuo Wang, Jin Chen, Haodong Wang, Zhongfei Hou, Changxin Pu, Shen Yan, Wenhao Huang
cs.AI
2026-08-12
字节团队建了逐条规则打分的 Harness-IF 基准,12 个前沿模型在「违背默认习惯」的规则上集体掉 3.6 到 7.4 分,总体分高估了遵循率。
coding agent 在真实工作里同时读着好几个来源的指令:系统提示、工具描述、skill 描述、CLAUDE.md 这类项目文件,加上用户当轮的请求。可是现有两类评测都量不到「它到底遵没遵守这些规则」:IFEval 一系的指令遵循基准把约束全塞在用户那一轮,SWE-bench 一系的 agent 基准只看任务最后成没成。分支命名、commit 语言、输出格式这类操作性规则,在两个体系里都没有位置。
还有一个更隐蔽的漏洞:模型遵守了一条规则,可能只是它本来就要那么做。规则要求「commit 用英文写」,而模型默认就写英文,这一分记在遵循头上就是虚的。现有基准分不清真遵循和撞上默认行为。
Harness-IF 把指令遵循变成逐条规则的测量问题,三个设计值得拆开看:
12 个模型总体正确率 72.1%85.9%,AP-Acc 全部更低:
| 模型 | Acc | AP-Acc | 差值 |
| Claude-Opus-4.7 | 85.9 | 78.6 | +7.3 |
| GPT-5.5 | 83.1 | 77.0 | +6.1 |
| Claude-Sonnet-4.6 | 82.5 | 78.5 | +4.0 |
| Claude-Haiku-4.5 | 79.0 | 71.9 | +7.2 |
| GLM-5.1 | 78.8 | 75.2 | +3.6 |
| Seed-2.0-Pro | 73.6 | 66.1 | +7.4 |
差值不是常数:3.6 到 7.4 个百分点,跨模型差两倍,做构建间对比时抵消不掉。第一名 Opus 四列全领先、名次不动,但先验控制交换了三对相邻名次。
失败分布有两个可用结论。8,440 次失败里 77.1% 是「该做没做」(规则要求行动或设下限,agent 没做到),20.8% 是做过头,两类自身失败率接近(23.8% 对 20.8%),差距来自暴露量。专抓超量输出的校验器只覆盖约五分之一的失败质量,大部分失败是遗漏。按规则族看,输出控制最难(正确率 70.9%,12 个模型里 11 个的最低分族),占失败质量 27.6%;按模态看,命令式规则最难(76.0%),偏好式最容易(90.6%)。
对部署 coding agent 的人,这份数据有两个直接用处。一是别只看总体指令遵循分:规则只要跟模型习惯相左,实际遵循率比分面低 47 个点,选型时应找带先验切分的指标。二是规则的放置位置有讲究:E0 冲突实验里,系统提示、项目文件、用户指令三者并列优先级最高,工具描述(平均秩 3.78)和 skill 描述(4.56)垫底,用户指令只并列第一,说明「放在 prompt 越靠后越管用」的直觉不成立。需要被遵守的规则,写进 system prompt 或 CLAUDE.md,别埋在工具描述里。
论文自己列得很实:86.8% 的判决依赖 LLM judge,而换 judge 后判决一致率只有 62.1%(κ=0.163),这是测量里最大的不确定性,所以作者只主张跨模型的横向规律,不主张相邻名次高低。60 个任务从 80 个候选里按区分度挑出,存在选择乐观。E0 用的是九个较旧的模型构建,合并排序在交叉 bootstrap 的 10,000 次重采样里 9,652 次保持,但九个构建里只有六个单独复现完整排序,只能算合并趋势。AP-Acc 的先验标注是行为分层,不追溯训练来源,作者也明说了。