100行Python跑赢Claude Code——mini-SWE-agent与Harness工程的认知重启

你可能听过一种说法:AI编程工具越来越强,是因为它们有了更复杂的多工具系统、更精细的tool-calling、更完善的历史处理。但Princeton和Stanford那帮人最近做了一件特别反直觉的事——把SWE-agent从几千行删到大约100行Python,核心agent只有一个工具:bash。然后在SWE-bench Verified上跑了74%以上的通过率,和Claude Code、Codex基本同一个量级。

这个项目叫mini-SWE-agent,背后团队就是SWE-bench的创建者。他们在2024年做SWE-bench的时候,agent架构还很复杂——自定义工具、ACI接口、复杂历史状态管理。2025年他们重新问了自己一个问题:当语言模型已经足够强的时候,这套东西还有多少是必要的?

答案是:大多数都不是。

mini的设计哲学就一句话——模型不需要学会调用各种自定义工具,它只需要像人类工程师一样在终端里敲命令。用ls探索目录、用cat/nl/sed查看和编辑文件、用grep搜索、用python跑脚本验证,最后用一句echo COMPLETE_TASK_AND_SUBMIT_FINAL_OUTPUT提交结果。没有任何bash以外的工具,甚至不需要模型的tool-calling接口。所有动作通过subprocess.run执行,每次调用都是独立的subshell,没有有状态的上下文累积。

这样做的结果是什么?在SWE-bench Verified(500个经过人工筛选的真实GitHub Issue)上得分超过74%,而Claude Code在SWE-bench上的公开数据大约是80%。差距有,但不大——而且mini只用了100行核心代码。

这件事对整个行业意味着什么?Hugging Face最近发了一篇Agent Glossary长文,专门讲Harness、Scaffold、Agent这几个术语的边界。他们的定义是:Scaffold是围绕模型的行为层(system prompt、工具描述、输出格式、上下文管理),Harness是执行层(调用模型、处理工具调用、决定何时停止),Agent = Model + Harness。mini-SWE-agent证明了当模型足够强的时候,Harness可以极简——真正决定上限的是模型本身的能力,而不是工具链的复杂程度。

但这不代表工具链没有价值。另一个值得关注的评测基准叫CodeClash,是SWE-bench团队发布的另一个benchmark,但它测的不是「能否解决给定Issue」,而是「两个Agent在同一目标下竞争」。比如BattleSnake游戏,两个AI在同一个地图上编程、互相博弈,看谁能让自己的蛇活到最后。这把评测从「任务完成率」拉到了「目标导向的策略对抗」,更接近真实软件工程中多个系统互相竞争的场景。

从研究角度看,mini-SWE-agent的出现回答了一个关键问题:2024年那些复杂的Agent架构,有多少是真正必要的工程改进,有多少是因为当时模型能力不够所以用复杂度来补的?答案可能是后者占大头。这对接下来做Agent的人是个好消息——你的Harness工程可以大幅简化,资源投入应该更多往模型能力和Scaffold优化上倾斜。

下一步可以关注的是mini-SWE-agent的进化版ProgramBench——一个新的、更难的基准测试,专门针对真实项目中多步骤、跨文件协作的场景。GitHub: SWE-agent/mini-SWE-agent,Star 1k+,支持所有主流模型。

结论:Harness工程的价值不是把工具做多,而是知道什么可以删掉。

评论区

0 条评论

登录后可评论。

AI 论文日报 1032 阅读