Files
myWiki/concepts/future-commit-cleanup.md

41 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Future-Commit 清理 (Future-Commit Cleanup)"
created: 2026-06-15
updated: 2026-06-15
type: concept
tags: [benchmark, evaluation, fairness]
sources: [raw/papers/zheng-claw-swe-bench-2026.md]
---
# Future-Commit 清理 (Future-Commit Cleanup)
## 定义
Future-Commit Cleanup 是在 SWE-bench 风格评测中,移除 Docker 镜像中 base_commit 之后的可达 Git 历史的操作。如果不清理agent 可以通过 `git log``git show` 检视未来的修复提交,导致**信息泄露**,破坏 patch-based 评测的公正性。
## 为什么重要
Claw-SWE-Bench 的非 Python 实例来自 SWE-bench-Multilingual其 Docker 镜像可能暴露 base_commit 之后的提交。如果不处理:
- Agent 可以"作弊"——看到正确答案
- Resolved Rate 被人为抬高
- 不同模型对信息泄露的敏感度不同,导致比较不公平
## 实验证据
在 OpenClaw × 9 模型的清理前后对比中:
- Pass@1 在清理后**从不上涨**(验证了信息泄露假设)
- Claude Opus 4.7 下降最多84.7% → 76.7%**8.0 pp**
- Kimi K2.6 下降 5.0 pp
- Qwen 3.6-flash 下降 2.0 pp
- GPT 5.5、MiniMax M2.7、Seed 2.0-mini 仅下降约 1 pp
**关键洞察:** 不同模型对信息泄露的利用程度不同——某些模型更依赖"看到未来"来解决问题。
## 实现方式
Runner 在 workspace 准备阶段移除 base_commit 之后的可达 Git 提交,使 agent 仅能在 issue 的历史边界内阅读、编辑和运行代码。
## 参考
- [[claw-swe-bench|Claw-SWE-Bench 论文]]
- [[patch-based-evaluation|Patch-Based Evaluation]]