你熟悉的CI流程大概是这样的:代码合入主干后,云端自动跑测试,一旦挂掉,系统会给你发封邮件。这个模式为人类工程师设计,它依赖的是我们对代码库长期积累的隐性认知。新人知道自己不熟,会更加谨慎;老手则凭直觉就知道改动时要测哪些模块。偶然触发告警的通知邮件之所以还能忍受,是因为大家都以人类的速度在开发,主干暂时挂了也能接受。有些团队甚至用上了合入后自动回滚,但这会丧失事后测试的连续性价值。无论哪种,和过去那种每天跑一次构建、靠二分法定位深夜崩坏的元凶相比,都算是不小的进步。
但这套逻辑到了AI编程智能体这里,完全行不通。至少到2026年6月为止的情况,印证着两点关键矛盾。其一,代码智能体永远是这个仓库的新人。它不具备资深工程师那种植根于脑海的全局默会知识,因此在开发中会持续、高频地回归那些它完全没注意到的模块。你用智能体辅助开发,同时依赖传统CI,过程就会变得极其煎熬——你的智能体必须随时跑通全部测试,才能确认它真正读懂了当前环境。
其二,更重要的是上下文窗口的断裂。当可怜的开发者收到那封冷冰冰的自动邮件,被告知合入搞坏了构建的时候,智能体的工作上下文早已消失殆尽。你只能在它制造的烂摊子里茫然无从。正确的做法是,这个智能体应该在把问题丢给其他人之前,早就自己悄悄把坑填平。它有大把的时间,反正只要不挡别人的路就行。让机器自己驱动机器,是唯一合理的答案。
路径很清晰:你的团队需要演进到一个让智能体随时都能跑全部测试的状态。实现起来也有一条现成的路——直接用合并队列替换掉你的CI。合并队列本质上是一段脚本,你不再像过去那个全人类协作的GitHub时代一样,点一个PR界面的按钮,而是用这条脚本去推送到远程主干。
有一条铁律必须遵守:在合并队列里跑完所有的测试。不要心存侥幸地单独留下一个“慢测试”每日才跑一遭。在智能体大行其道的时代,那些测试每天都会被砰地砸碎。总得有人每天花好几个小时跟在其他同事的机器人屁股后面收拾残局。这绝不是一个团队里任何人想扮演的角色。最终你会发现,唯一比替别人善后更痛苦的事,就是替别人的机器人善后。
搭建好这条能够稳定运行的合并队列后,再给自己造第二个命令:执行合并队列的全部步骤,但去掉最后那个真正的合入动作。然后,把这个命令交给你的那些智能体。回到人类开发者的旧时光,当CI还普遍耗时漫长时,围绕是选CI还是选合并队列,总能展开很多争论,逻辑支点无非是某些测试太慢、塞不进合并路径。但到了2026年,这套论调再也站不住脚了。为了让智能体可用,你的测试本身必须很快。这条界限如今已经划死:在智能体的世界里,CI近乎无用,合并队列拥有碾压级的优越性。
实现这一切,自然需要更烧钱的算力机器来驱动你的合并队列。但这是一笔绝对值得的投入。
热门跟贴