【模型评测】SWE-bench Verified数据集-2-修复精度偏离

如果评测分数低于模型发布的精度,该怎么办?

可以调的参数

1. 提示词(影响最大)

可以直接修改 swebench.yaml 中的 system_templateinstance_template。项目里已经提供了不同风格的配置供参考:

配置文件 特点
swebench.yaml 简短提示词,无 step/cost 限制
swebench_backticks.yaml 详细的工作流指引,有明确的 patch 创建/提交指引,cwd: /testbed
swebench_xml.yaml XML 格式输出,适合对 XML 标签更好的模型

如果当前用的是默认的 swebench.yaml,强烈建议试试 swebench_backticks.yaml------它的提示词更详细,包含了分析问题→复现→修复→验证→提交的完整工作流指引,以及如何用 git diff 生成 patch 的具体说明。

2. 资源限制

参数 默认值 影响
step_limit swebench.yaml 为 0(无限),backticks/xml 为 250 太低会导致 agent 还没修完就被截断
cost_limit swebench.yaml 为 0,backticks/xml 为 3.0 太低会中途因预算不足退出
environment.timeout 60s 单条命令超时,长测试可能被截断

3. 输出格式

observation_template 控制命令输出如何返回给模型------超过 10000 字符会被截断,只显示前后 5000 字符。如果模型需要看到完整输出来做判断,可以调大阈值。

4. temperature

backticksxml 变体都设置了 temperature: 0.0(确定性输出),如果你当前没设置,加上可能有帮助。

排查步骤

  1. 先看失败实例的 trajectory :检查是 LimitsExceeded 退出(step/cost 不够)、格式解析失败、还是修复逻辑本身有问题
  2. 对比模型擅长的输出格式 :如果模型更擅长 XML 标签输出,用 swebench_xml.yaml;如果更擅长 markdown 代码块,用 swebench_backticks.yaml
  3. 逐步调大 step_limit 和 cost_limit,排除资源不足的干扰
  4. 针对特定模型微调提示词 :可以在 -c 参数中叠加覆盖,例如:
bash 复制代码
mini-extra swebench -m your-model \
  -c swebench_backticks \
  -c agent.step_limit=500 \
  -c agent.cost_limit=10.0

关于提示词调整的注意事项

提示词是可以改的,但需要注意:

  • SWE-bench Verified 的评测标准是测试是否通过,和提示词无关,所以调提示词不会影响评测的公平性
  • 不同模型对指令的遵循能力不同,提示词需要适配模型的风格(比如有的模型需要更明确的步骤指引,有的模型在简短提示下反而表现更好)
  • 建议先在小规模实例上(--slice :10)快速迭代提示词,确认效果后再跑全量
相关推荐
火山引擎开发者社区10 小时前
TLS for DeepSeek Harness 可观测实践:从系统总览到会话复盘
人工智能
数字融合12 小时前
透明化地铁线视频孪生综合监控项目技术
大数据·人工智能·virtualenv
鼎艺创新科技13 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
十三画者13 小时前
【文献分享】ConfRetro:融合3D构象信息的逆合成预测Transformer框架
人工智能·深度学习·数据挖掘·数据分析·transformer·数据可视化
前沿在线13 小时前
百度文心助手推出任务引擎 2.0,日活用户同比增长 83%,日均对话轮次增长超 2 倍
人工智能·ai·大模型
zandy101113 小时前
AI办公工具选哪个?千问办公、百度搭子、WorkBuddy三款高阶智能体深度拆解
人工智能·ai办公工具
mengpp_12345613 小时前
AIoT平台 vs 普通IoT平台 核心区别
人工智能
canonical_entropy13 小时前
可逆不是逆向运行:DeepSeek Harness 架构的数学本质
人工智能·架构·agent
别动我齐刘海14 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
冬奇Lab14 小时前
Code Agent 解剖(05):模型怎么知道有哪些工具可以用?Function Calling 如何实现?
人工智能·开源·agent