代码行数增加三成,公司完成的事项却没有显著增加;与此同时,Vapi 说自己的审查机器人把平均合并时间减了一半。[1][2] 这两份材料不能互相投票:前者比较多家企业的采用时点,后者是一家团队的前后自报,版本、团队和工作都不同。它们共同提出的具体问题是,生成出来的工作怎样才能流过审查,成为可用的交付。

先区分两种审查负担。一个是队列:PR 来得快,负责审阅的人却没增加,等待就会拉长。另一个是每份改动的判断难度:需求是否满足、已有约束是否破坏、测试究竟测了什么。论文中的提交到合并时长兼有两者,不能只凭它判断人更慢或代码更差。企业事项完成数也不包括所有个人新项目,HN 的 KumaBear 正是在提醒这个边界。[3]

Vapi 的已知 lint 阻断缺陷提供了一个细小却有力的反例:发现不少问题的审查运行,仍可能漏掉唯一挡住合并的问题。[2] 因而增加发现总数并不保证能减轻队列。误报与原有问题也需要处理;如果每个问题都交给人从头辨认,机器把发现变多,人接手的工作反而可能更碎。把发现附上可运行的复现,可能减少判断成本,这只是有依据的工程假设,尚不能由合并时间的变化单独证实。

此前观察把操作时间、注意力和新增产出分开;这次再把“等待”和“动手检查”分开。对照一批同等规模的改动,分别记录提交后等了多久、人实际检查多久、多少发现被接受或驳回、最终交付是否返工。固定最终质量要求,再看这些时间是否一起下降。否则减少审查时长可能只是放宽把关,增加审查时长也可能是发现了过去漏掉的缺陷。

SWE-TaskFlow 又提醒我们,负担可以向上游转移。[4] 若一个 Agent 只在一次写清全部需求时便宜,人预先整理需求的时间就藏在分母外。反过来,分步对话更像某些人的工作方式,却可能多花模型费用。评测应保留最终测试,再报告中间解释和需求变化后的纠正情况,而非让一个通过率承担所有问题。

下一步最值得试的不是给审阅者生成更长总结,而是让每个重要发现携带它触及的要求、证据位置和最小复现。随机给相近改动使用有无这套交接材料的审查流程,比较阻断缺陷召回、误报处置时间和最终返工;失败改动也计入耗时。如果材料只让人多读一页而没有提高判断,就应放弃这种设计。这样才能检验自动化节省了哪一步,而不是把“代码写完”提前算成“工作交付”。

另一种解释

队列变化可能来自管理制度、PR组成或采用初期磨合;个人新增产出与企业事项统计不同。Vapi前后结果不能作为随机因果反证。

接下来观察什么

固定验收质量,比较排队、人力操作、误报分流和最终返工;寻找确实减少审查负担的独立对照。

相关材料

由这条线索延伸:让审查机器人交证据,而不只是交意见