“所有代码都是垃圾,除了我的”:一个月11000个PR,回滚率0.5%
Grok Bot团队一个月提交11000个PR,回滚率只有0.5%。Lauren Tan在AI Engineer的演讲里拆解了这套流程:Dune架构、lint规则、运行时验证、TLA+和Lean形式化验证。核心判断不复杂:AI写代码快不快不是关键,验证跟不跟得上才是。

AI Engineer频道放出了Lauren Tan(@poteto)在大会上的演讲录像,标题叫“All Code Is Slop (Except Mine)”。17分半,讲的是她在SpaceXSI的Grok Bot团队怎么用AI编程代理快速交付,同时把回滚率压在0.5%左右。
数据先摆出来:一个月11000个pull request,回滚率约0.5%。对比一下,很多团队人工写代码的回滚率都未必能做到这个数。
“所有代码都是垃圾”是演讲标题里的自嘲。意思是,在AI大量生成代码的语境下,任何人都会默认别人写的代码有问题,唯独觉得自己写的那部分靠谱。这个偏见放在AI代理身上更明显:大家天然不信任机器生成的代码。Lauren要回答的问题是,怎么让“垃圾”变成可交付的东西。
她的答案不复杂,但执行起来很重。
先讲信任金字塔。代码质量从下往上分几层:最底层是架构约束,往上是lint规则、类型检查、单元测试、集成测试、运行时验证、形式化验证。越往上,单次验证的成本越高,但覆盖的边界情况也越关键。很多团队只做下面两层就急着让AI代理疯狂提交PR,结果就是review队列爆炸,回滚率居高不下。
Dune是他们内部的一个工具,核心思路是把架构规则变成可执行的检查。模块之间的依赖方向、分层边界、哪些包不能引用哪些包,全部写成机器能验证的规则。人的记忆靠不住,注释也会过期,但CI里跑不过就是跑不过。
还有一个细节:他们用lint规则取代了大量注释。注释告诉后来的人“这里应该这样”,lint规则直接告诉机器“不这样就不让合并”。AI代理不会读注释,但会跑lint。
运行时验证和feature map解决的是另一类问题。代码编译通过、测试通过,不代表运行时行为正确。feature map把关键功能的运行时路径标出来,代理改动之后自动跑一遍对应的验证路径。
形式化验证用了TLA+和Lean。这块听起来很重,但放在“花token买确定性”的框架下就合理了。Lauren的说法是,token现在很便宜,把token花在验证上比花在生成上更划算。生成一段代码只要几秒,验证它有没有破坏系统可能要几十分钟的CI,但比起线上事故和人工回滚,这笔账算得过来。
Cursor agents和pstack是执行层的东西。代理接任务、改代码、跑验证、开PR,整个流程自动化。但Lauren反复强调的顺序是:先把软件工程的基础打好,再谈软件工厂。基础不牢,代理跑得越快,垃圾产生得越快。
演讲里有个判断值得记一下:AI编程代理的瓶颈不在生成速度,在验证吞吐量。生成侧已经足够快了,验证侧跟不上,整个流水线就会堵在review和回滚上。11000个PR配上0.5%的回滚率,说明他们把验证吞吐量做上去了。
视频在下面,17分钟,信息密度不低。
演讲者信息:
发布时间: 2026-11-15 08:28