深夜调试已不再是偶发的边缘情况,而是当代码审查跟不上提交量时必然发生的常态。这正是为什么代码审查流程必须理解跨仓库上下文,而不仅仅是盯着眼前的差异对比。
Qodo联合创始人兼CEO Itamar Friedman在接受The New Stack采访时表示,单体应用架构已经让位于多仓库骨架,成为现代企业应用的主流形态。而由仓库间互联引发的应用脆弱性和问题,最终承受代价的是人,而不是流水线。
他举例说,一名软件工程师可能要花两天时间"排查一次传递性版本升级",而这次升级恰恰破坏了某个下游服务。
"某个仓库里的一行改动,悄无声息地违反了另一个团队所依赖的架构不变式(程序在某个特定点始终为真的条件),没有人发现,因为审查者在自己的截止日期逼近时,只是粗略扫了一眼500行的代码差异,"Friedman说。
随着生成式AI不断涌入更多、更大的拉取请求,Friedman认为"影响范围只会越来越大"。
AI智能体从根本上改变了软件的构建方式,而企业为人工节奏开发所建立的治理体系,根本没有为智能体软件开发生命周期做好准备。根据"Google DORA 2025 AI辅助软件开发现状"报告,高度采用AI的团队提交的拉取请求规模已大154%,审查时间延长91%,同时还多出9%的缺陷。
对此,Qodo希望帮助软件工程团队在这一背景下保持掌控力。该公司于本周一宣布推出三项新平台能力:跨仓库代码审查(Cross-Repo Code Review)、自定义规则挖掘器(Custom Rules Miner)以及技能审查标准(Skill Review Standards)。这些新能力旨在填补AI生成代码达到企业规模后所暴露出的治理空白。
多仓库架构的拥护者谈到,将软件按不同功能域拆分所带来的关注点分离(例如身份验证放在一处、搜索放在另一处),或者按技术栈层次拆分(数据库驱动程序在一处、用户界面控件在另一处),乃至按团队归属进行拆分,都能带来明确收益。
这种做法有助于隔离变更,有时也有助于合规,但异构代码环境同样带来了复杂度提升、可导航性降低以及维护成本增加等代价。如今AI又在持续产生新的代码流,多仓库架构在不远的将来很可能会愈加普遍。
这背后的运作机制意味着:随着软件工程团队不断壮大,最重要、影响最深远的缺陷很少局限于单一仓库;更多情况下,它们触角延伸到多个地方。对共享库、导出API、数据模式或基础设施文件的变更,可能在数十个下游服务中引入破坏性变更,而在合并时根本不会有任何警告。
由于编码规范往往散落在文档Wiki、开发者注释以及资深工程师的经验积累中,Qodo自定义规则挖掘器正是为打破这一现状而设计的。它不要求团队在规范落地执行之前先行定义标准,而是从现有代码库行为和拉取请求历史中自动发现编码模式,并将其转化为Qodo平台内可结构化执行的规则。
"这类标准此前根本无法执行,原因就在于它们要么存在于人们的脑子里,要么横跨没有任何单一工具能统观全局的系统边界:跨仓库的架构不变式、资深工程师的主观经验积累,以及游离于任何组织可见性与管控之外的AI智能体工作流,"Friedman解释道。
Qodo的技能审查标准服务旨在将标准化流程正式化并简化。当软件团队使用智能体技能来编码开发工作流和最佳实践时,同样需要管理这些技能,这本身就形成了一项治理挑战。Qodo现在为包含代码审查指令、编码规范和工程最佳实践的技能提供集中管理,平台可跨仓库发现技能,并在专属门户中进行呈现,让团队能够管控并衡量其影响。
Friedman分享了一个他个人颇为印象深刻的代码质量检查失误案例,主角是代码覆盖率——这个衡量自动化测试运行时有多少代码被执行的指标,许多人认为它不过是一个代理指标,甚至是虚荣指标。
他的一位朋友需要达到80%的代码覆盖率。某天他查看其中一个仓库,发现覆盖率已达到85%,"他当时非常自豪",直到他发现代码中根本没有任何断言(断言是一种自动化验证测试,用于检查代码是否产生了预期结果)。
"他们完美地刷了指标,却什么都没测试,"Friedman略带些许戏谑地回忆道。"这是经验积累的双重失败:真正的标准(测试必须验证行为)只存在于某位资深工程师的脑海中,从未被编码固化,于是整个组织优化的是代理指标,而非真正重要的事情。这正是Qodo规则系统填补的空白——通过学习优秀工程师的真实工作模式,将其变为可执行的规范。"
"没有独立验证的速度,不是真正的交付效率,而是乔装打扮的技术债。"
这里有很多需要改变的地方:新工具、新工作流(包括重新设计人工编写的流程和AI生成的流程),以及新的工作场所实践。我们正处于一个拐点,正在见证从无状态AI工具向具有持久组织记忆的有状态系统的转变。
Friedman认为我们可以充分利用这一趋势。他表示,随着AI生成代码的数量迅速超越人工审查的承载能力,能够学习、记忆并执行组织标准的治理系统,正在从未来的愿景变成近在眼前的必需品。
"跨仓库审查和集中式智能体管理固然重要,但没有记忆,它们依然是无状态的。没有强大的上下文引擎,就无法做好代码审查,而记忆正是那个引擎,"他总结道。
Qodo的核心结论是:开发者应该意识到,不能信任写代码的那个通用模型来客观评价自己的作品。我们已经知道,大语言模型会自信地告诉我们代码可以运行,即便实际上并不能。
Friedman给出的一句话总结是:没有独立验证的速度,不是真正的交付效率,而是乔装打扮的技术债。随着AI生成代码的数量已经超过人工审查的节奏,当务之急是通过机器可读的标准、验证闭环和跨系统可见性,将治理能力嵌入开发系统本身,让人类能够监督整个过程,而不必逐行检查每一行代码。
Q&A
Q1:Qodo跨仓库代码审查功能是什么?解决了什么问题?
A:Qodo跨仓库代码审查是一项能够理解多个代码仓库之间上下文关联的审查功能。它解决的核心问题是:在多仓库架构下,单个仓库中的一行改动可能悄无声息地破坏其他仓库依赖的架构规则,而传统审查工具无法跨仓库发现此类问题,导致缺陷悄然流入生产环境。
Q2:为什么AI生成的代码会让代码审查变得更困难?
A:根据Google DORA 2025报告,高度采用AI的团队提交的拉取请求规模比以前大154%,审查时间延长91%,同时多出9%的缺陷。AI智能体大幅提升了代码产出速度,但原有的治理体系是为人工节奏设计的,根本跟不上这种体量,导致审查质量下滑、缺陷增多。
Q3:Qodo自定义规则挖掘器是如何工作的?
A:Qodo自定义规则挖掘器不需要团队事先手动定义编码规范,而是自动分析现有代码库的行为模式和拉取请求历史,从中发现实际使用的编码规律,并将这些规律转化为平台内可结构化执行的规则,从而将过去只存在于资深工程师脑海中的隐性知识变为可落地执行的标准。