跳到主要内容
这篇 SWE-DIVE,我在摘要页上翻了半小时也没找到链接

这篇 SWE-DIVE,我在摘要页上翻了半小时也没找到链接

小周
小周

· 阅读约 4 分钟

凌晨一点多,arXiv cs.SE 的新提交列表从上往下划,划到一条标题里带 SWE 的,点进去。SWE-DIVE,作者 Lorenz Brehme、Benjamin Steenhoek、Ruth Breu,三个人的活,挂在 NeurIPS 2026 一个 workshop 底下,non-archival。

一句话定调:一个不肯让 agent 安安静静把题解完的评测框架。

先交代我为什么点进去。SWE-bench 那套拿现成 GitHub issue 当输入的做法,我早就觉得别扭。那些 issue 是被人反复编辑过的,复现步骤齐全,标题恨不得直接写成“某函数在某条件下返回空”。真人不是这么说话的。真人说“这里好像不太对,你看看”,你问他哪儿不对,他再补两句。作者在摘要里就把这层挑明了:真实场景里的提示没有现成 issue 那么干净。这话我认。

第二刀我认得更彻底:一次编码会话不会一轮就结束。用户盯着 agent 干活,干到一半想起来“对了还得支持个配置文件”,追加。SWE-bench 那种一次定生死的评测,把这条整个抹掉了。

框架因此拆成三个部分。用户模拟器,负责扮那个不断插话加需求的人;对话验证器,负责盯着模拟器,看它吐出来的话有没有偏离最初的需求、有没有把 agent 往能解出来的方向上带;Harbor 负责把这三方拧在一起跑,最后执行测试环境判成功还是失败。

三个部分里我只对第二个有兴趣。

模拟器这东西,本质是拿一个 LLM 去演用户,它一定会漂。聊到第五轮它自己就软了,本来要逼 agent 改架构,聊着聊着变成“那你看怎么方便怎么来吧”,agent 顺坡下驴,最后测试一跑,过了。这测出来的是模拟器的脾气,还是 agent 的能力?答案显而易见。所以那个验证器是我眼里整篇唯一有分量的设计——它起码承认了模拟器本身不可信,得有人在上面盯着。

它一出来,问题就套娃了。验证器也是个模型,它判模拟器判得准不准,谁来判?我停在摘要这一层,看不到答案。这可能是我少见多怪,也可能作者在正文里处理了,只是没写进摘要——反正我手上就一个摘要页,没资格替他们下结论。

顺手插一句我自己的偏见:与其费劲模拟用户,不如去扒真实的 agent 使用日志。真人追加需求的那种脏、那种“我刚才说的不算”,模拟器演不出来。当然这话说得满,真去扒日志有隐私和授权一堆麻烦事,我只是觉得方向该往那儿偏。

然后就是我噎住的地方。

摘要里明明白白写着,实验结论和源代码都已公开在作者的 GitHub 仓库。链接呢?没有。

我在那条摘要页上耗了小半个钟头,翻来覆去看,就是没有。拿 SWE-DIVE 和 Harbor 这两个词去 GitHub 搜了一圈,跳出来的都不是这个——Harbor 这名字在开源世界里早被人占了,一搜一大把,全是无关的。又去翻 References & Citations 那一栏,空的,一条引用都没有;页面底下评论也没有,没人讨论过。DOI 挂着,DataCite 注册状态还写着待定。

这在我这儿是头一回:连个 owner/repo 都报不出来。

我不想把这当成罪状。十月二十一号提交,我隔天就刷到了,社区还没来得及接住它,引用为零很正常,non-archival 也说明这东西还在往下做的路上。可没有 star 曲线可看,没有 issue 区可翻,判断活人感那些常规抓手,这一篇全用不上。我只能退回到最原始的办法——看作者有没有把话讲圆。讲圆了,但也只到这儿。

所以“上手门槛”这段我没法写。没有 pip install,没有 npx,连一行能贴出来证明门槛低的命令都找不到。本来我习惯在这儿放一行最短的安装命令,前后各接一句人话,说明贴这个只是证明门槛低、不是要教你怎么用。这回没得贴。我只读了摘要,一行代码没跑过,这句我先声明在前面。

适合谁:正在做 agent 多轮评测、尤其被“怎么定义任务成功”卡住的,值得把这篇找出来看思路,验证器那层的设计至少能给你一个参照。做 agent 产品、想知道自家东西被用户中途打断改需求时会怎么崩的,也能从它的场景设定里拿点东西。不适合谁:想找个能直接跑的 benchmark 出个数的,现在什么都没有,别浪费时间。

这东西我先进观察名单。等的不是它更新,是它把那个 repo 露出来。

如果你正好认识这三位里的任何一位,或者你就是——麻烦把链接甩出来,我这位置空着难受。能不能打,等代码见光,你自己拉下来跑一圈最准。