CodeRabbit 发布 Agentic Change Management 控制层,将传统 Issue 追踪与 PR 工作流整合,试图解决 SDLC 瓶颈。
我们很高兴你在这里。你可以期待 TNS 最好的内容将在周一至周五送达,让你及时掌握最新资讯并保持领先。
查收你的收件箱,确认邮件中你可以调整偏好设置,甚至加入其他群组。
在你最喜欢的社交媒体网络上关注 TNS。
在 LinkedIn 上成为 TNS 粉丝。
在等待第一封 TNS 时事通讯时,看看最新的精选和热门报道。
AI 代码审查专家 CodeRabbit 于周三宣布推出其 Agentic Change Management 控制层。该服务旨在帮助软件工程团队理解、管理和交付由人类开发者和 AI Agent 共同创建的软件。
该公司指出,事务跟踪系统(如 Atlassian 的 Jira、GitHub Issues 或 Linear)诞生于一个更简单的时代。回顾那些美好的旧时光,产品经理和工程负责人有时间进行团队容量规划,并在将工作分配给开发人员之前,整理一份包含想法、支持请求和需求的待办清单。
CodeRabbit 首席执行官 Harjot Gill 告诉 The New Stack,如今 AI 带来了软件工程的新秩序,在这个世界里,软件开发生命周期(SDLC)的惯例和机制已不再适用。
Issue tracking is dead
"事务跟踪已死,Agent 构建软件的速度超过了团队在应该构建什么上达成一致的速度,"Gill 说道。"这使得拉取请求成为 SDLC 中最后一个真正的瓶颈,因为生命周期本身现在已经扩展到评审之外,还包括规划、优先级排序以决定发布什么,以及决定将哪些 Agent 输出推进到完成阶段。"
随着代码生产的边际成本趋近于零,Gill 强调了他的观点,并表示"传统的 SDLC 现在已经崩溃了",因为它建立在代码稀缺且昂贵的前提之上——而这一约束已不再成立。
众所周知,AI 平台和工具可以持续创建代码或开启拉取请求;这意味着代码越来越多地在团队尚未建立共识、尚未分配优先级、甚至尚未确定这项工作是否值得发布之前就已经存在。这意味着代码待办已经超越了一个位于拉取请求和工单管理之前的阶段,发展到了需要我们想办法来管控所提议代码的阶段。
"当代码变得充裕时,人类判断力就成了稀缺资源。人类现在将在更高的抽象层级上审查 Agent 输出,[并且]专注于评估意图、架构和行为。"
"当代码变得充裕时,人类判断力就成了稀缺资源,"Gill 澄清道。"不应该把它花在逐行审查代码上。相反,人类现在将在更高的抽象层级上审查 Agent 输出,以便他们专注于评估意图、架构、行为和代码执行之间的权衡……所有这些都应该超越实现细节本身。"
拉取请求现在成为可审计的决策点
这些转变也将分类、规划和管理下游化。Gill 和团队指出,拉取请求现在成为"可审计的决策点",团队在这里确定变更是否符合质量标准、承载多少风险、是否值得人类关注、对更大系统意味着什么,以及是否应该被接受和发布。
如果我们合理地认为,我们曾经了解的拉取请求已经不复存在了(自 2005 年 Linus Torvalds 在创建 Git 时发明了 ./git-pull-script 以来),我们现在可以看到代码变更指令不仅来自开发者,还来自非技术人员、编码 Agent、工单系统、支持系统,甚至可能来自一些以前从未听说过的来源,如机器发起的纠正流程、自动遥测管道或自愈运行时日志。
CodeRabbit 的 Gill 和团队指出,Agentic Change Management 将 CodeRabbit 独立的 AI 代码审查服务扩展为一个更广泛的软件变更治理系统。
在其基础上,它使用仓库范围的上下文、组织标准、合并前检查、团队知识以及来自隔离测试环境的证据,验证由开发者和 AI Agent 创建的变更。编码 Agent 可以在人工审查之前通过自动修复和再审查循环来处理发现的问题,使团队能够专注于理解变更并决定应该发布什么。
"对抗性审查 Agent 将与编码 Agent 在一个循环中协作,以完全自动化代码的审查、验证和修复。人类将转向对意图、行为、风险和结果的高阶审查,"Gill 补充道。
专有 codegraph 技术的工作原理
这里使用的技术是 CodeRabbit 在多年高级代码审查中微调的专有 codegraph 技术,将代码库分解为信任边界。CodeRabbit Security 独立地对整个代码库进行推理,以识别固定规则和文件级模式匹配无法表达的复杂漏洞。
为了澄清这里的工作原理,文件级模式匹配更像是自动拼写检查器,孤立地检查代码的各个部分。相比之下,CodeRabbit 的 codegraph 技术更像是一位调查侦探,在一套多卷 DVD 剧集中映射出故事中每个角色、地点和情节点的关联方式。
"CodeRabbit 的 codegraph 技术像一位调查侦探,在一套多卷 DVD 剧集中映射出故事中每个角色、地点和情节点的关联方式。"
"CodeRabbit 构建了一个自定义代码图,它代表了代码库的不同元素以及它们之间的关系。这是我们上下文生成管道的一部分,它指导 AI 理解代码如何相互连接,以及一个区域的变更如何影响其他区域。基于规则的模式匹配缺乏上下文,无法对代码变更进行推理,而 AI 则可以,"Gill 解释道。
控制层的三个要素
CodeRabbit Triage 将该公司独立的审查层扩展为对传入拉取请求的优先级排序和路由。它根据价值、紧急程度、风险、依赖关系、就绪状态和审查者匹配度对变更进行评分。然后将重要工作导向人工审查者,将低风险变更路由到自动化工作流,并过滤重复、不相关或未就绪的工作。这帮助团队将审查者容量集中在价值最高、风险最大的变更上。
CodeRabbit Change Stack 将该层扩展为可解释性,展示变更意味着什么。这个可解释性工具用一种引导式表示替代了传统的字母顺序文件视图,展示契约、领域行为、集成、测试和迁移。影响范围和架构分析展示了变更如何影响更大系统,以及在哪里需要更深入的审查。
CodeRabbit Security 将该层扩展到合并之后。全仓库扫描和持续监控识别生产代码中的漏洞和其他风险。它验证发现结果、对修复进行优先级排序,并通过拉取请求流程发送建议的修复方案,这样评估传入变更的同一控制层在代码发布后继续保护代码。
下一个消亡的软件要素是什么?
如果 CodeRabbit 已经扩展和增强其平台,以适应在 Agent 加速世界中的 AI 原生软件开发,那么肯定有人会想知道 SDLC 或更广泛的软件工程流程中哪个环节可能会下一个消亡。
值得庆幸的是,这个问题没有聪明的或显而易见的答案,所以下一个消亡的可能是某种以人脑为中心的代码理解概念。或者我们可能会看到文件级 diff 作为比较机制的终结——用它来逐行显示单个源代码文件版本之间的添加、删除和修改。谁知道呢。