最近AI Engineer大会上有一场演讲特别有意思,标题挺炸裂的——说传统CI/CD正在被AI Agent的开发节奏彻底击穿。我看完之后确实觉得,这事儿可能比大多数人想象的来得更快。今天咱们就来聊聊这个话题。
对,这场演讲是NEA的合伙人Madison和Namespace的CEO Hugo Santos一起讲的。其实他们的核心观点并不是说CI/CD死了,而是说它的底层架构假设——就是那个隐含的前提——已经不成立了。你想啊,CI/CD从2000年代初Martin Fowler他们提持续集成开始,到后来Jenkins、GitHub Actions这些工具成熟,整套体系有一个从来没变过的假设:代码的生产者是人类。人类每周提一两个PR,同事花时间Review,构建测试跑一遍,修修补补,节奏是可预测的。
嗯,这个节奏确实很关键。人类的认知带宽就那么大,分支管理有序,合并冲突也可控。但AI Agent进来之后呢?
完全变了。一个Agent可以同时产生n个PR、跨n个仓库。Hugo在演讲里展示了GitHub近几个月的活动数据,提交数量不是渐进式增长,是断崖式飙升。数千个短生命周期的分支同时拉扯同一个代码库,你试试把这些不同方向的变更全合并在一起?几乎不可能。
这让我想到一个问题——Git本身的合并模型其实是乐观并发控制对吧?就是大家各改各的,合并的时候再看有没有冲突。人少的时候没问题,人多了就……
你这个类比特别好。Hugo也用了一个类似的比喻,他说合并操作越来越像高性能数据库问题。Git仓库就是一个单一账本,每个变更都需要序列化写入,你得锁定数据库才能提交。人类操作的时候,锁定时间长但频率低;Agent操作的时候,锁定时间短但频率极高。而且Git的三路合并算法只能在文本层面解决冲突,它理解不了语义冲突——比如两个Agent一个改了API的调用方,一个改了实现方,文本上不冲突,语义上已经炸了。
所以合并窗口就变成了致命瓶颈。那新的架构是什么样的?我看他们提了一个概念叫'意图驱动'?
对,这是最核心的转变。从PR驱动变成意图驱动。Hugo说他们团队和一些前沿公司已经在这么干了——没有PR,从意图和计划开始。整个流程变成了:先把意图编码化,可能是Linear工单,可能是Slack里的描述;然后Agent检出代码开始实现;Agent自己利用仓库里已有的构建脚本和测试套件做内部验证;验证通过了告诉人类,人类说'continue'——Hugo说这已经成了最常用的词了。
哈哈,'continue'成了人类在开发流程里最高频的输出,这画面挺有意思的。但这还只是过渡形态对吧?
没错,因为外部验证环节还有人类在循环里,还是不够快。Hugo认为几周到几个月内——注意不是几年——我们会看到外部验证也由专门的Agent来做。比如安全聚焦的LLM、API一致性检查的LLM,它们在循环内直接给主Agent反馈。这样整个循环就完全连续了。
这里有个技术细节我觉得很关键——他们强调了有状态环境。传统CI每次都是起一个全新容器,从零开始拉代码、装依赖、编译,保证了可重复性但时间开销巨大。Agent的工作方式完全不一样?
完全不一样。Agent需要像工程师在自己工作站上一样,以增量方式工作。文件系统缓存、编译中间产物、依赖树,甚至Agent自身的上下文记忆,都应该跨迭代保留。你想,如果内部验证每次要花15分钟甚至45分钟,整个循环就被拖死了。这其实和Bazel、Buck这些增量构建系统的思路一脉相承,只是扩展到了Agent的整个开发循环。有意思的是,这跟云原生时代'牲畜而非宠物'的哲学形成了张力——Agent的环境反而更像需要精心维护的宠物。
说到并行变更的协调,他们提了一个Pre-Merge队列的概念,这个跟GitHub已有的Merge Queue有什么区别?
Merge Queue不是新东西,GitHub 2023年就正式推出了,Google、Shopify、Uber内部也早有类似实践。但传统的处理的是每天几十到几百个PR。Pre-Merge队列要处理的是数量级更高的变更流,而且来源是Agent不是人类。这就要求队列系统具备更智能的冲突预测、语义分组和优先级调度能力,本质上是从简单的先进先出队列升级为实时调度系统。
那人类在这个新架构里到底干什么?
角色根本性地变了——不再审查代码本身,而是审查意图与结果的匹配度。结果可能是一段功能运行的演示,可能是安全Agent的分析报告。而且审查对象不是单个commit,可能是多个Agent独立工作的多个变更被语义化分组后一起呈现。Hugo说他们团队的变更量已经是之前的四倍,人类不可能逐一看每个PR了。
演讲里还提到了一个更激进的设想——多元宇宙开发模式?这个听起来就很科幻了。
其实它在计算机科学里有很深的理论根基。本质上就是投机执行的软件工程应用——CPU早就通过分支预测来提升流水线效率了,预测错了就丢弃。类似地,多个Agent同时在不同commit上探索同一个计划的不同实现路径,最终只采纳最优方案。但跟CPU不一样的是,Agent每次探索消耗的是真实的GPU推理和云环境资源,成本远高于晶体管级别的浪费。所以何时分叉、何时剪枝、怎么评估候选方案,这些策略的智能程度直接决定了经济可行性。
所以总结一下,CI/CD其实并没有死,对吧?
对,Hugo最后特别澄清了这一点。验证、不变量、治理这些核心原则都还在,只是发生了位移。验证不再是独立阶段,而是每次迭代都在进行;协调从CI中剥离,融入整体循环;治理被提升到Agent编排层。尤其在金融、医疗这些受监管行业,每一行进入生产环境的代码都要可追溯,治理必须内嵌到Agent的每一次决策循环中。
嗯,所以这不是CI/CD的消亡,而是它的解构与重组。从离散的流水线演变为连续的计算循环。Hugo那句话说得好——这是一个疯狂的世界,我们需要为此做好准备。我觉得对于做基础设施的团队来说,现在就该开始认真想想这些变化了,不然等Agent的量真正上来,可能措手不及。
确实,而且这个时间窗口可能比大家预期的短得多。Hugo说的是几周到几个月,不是几年。工具链的变革往往是被需求推着走的,当Agent的代码产出量到了某个临界点,旧架构自然就撑不住了。到时候不是你想不想变的问题,是不变就没法干活了。