Tariq Shaukat:如何对 AI 生成的代码建立信心

原标题Tariq Shaukat on Building Confidence in AI-Generated Code

Sonar 首席执行官借鉴制造业的质量管理实践,提出治理和验证编码智能体所产出软件的方法。

TSTariq Shaukat讲者 · Sonar
频道
AI Engineer
发布
2026年10月29日
视频
16:34
阅读
6 分钟
幻灯片
5
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

Sonar 首席执行官 Tariq Shaukat 认为,智能体生成代码日益充裕,使验证和证据变得更加重要。他介绍人工审查与智能体的局限,随后提出 Sonar 的四部分框架并描述公司报告的客户结果。文中的研究数字和产品效果来自演讲者引用,本文没有独立核实。

  1. 1将质量融入工厂Shaukat 用汽车制造和丰田生产方式说明,质量可以从事后修补转向设计时建立。
  2. 2代码生成之后的瓶颈他引用研究称,引入异步智能体后,代码和提交数量大幅增长,但发布数量增长小得多。
  3. 3认知屈服他引用关于人们接受正确和错误 AI 建议的研究,认为仅靠人工审查可能难以扩展。
  4. 4长任务累积风险一张任务时长图和一个独立步骤的简化例子,说明他对较长工作流程中错误累积的担忧。
  5. 5信心的四个部分他的框架结合意图、引导机制、验证和证据;他认为每一项都是建立信心所必需的。
  6. 6供应商报告的结果Shaukat 描述了 Sonar 的产品结果和客户调查。演讲并没有证明所有团队都能获得相同效果。

要点建议

  1. 代码和提交数量增加,并不一定带来同比例的发布增长。
  2. 人工审查可能受数量限制,也可能受到人们接受错误 AI 建议的倾向影响。
  3. 大型代码库、累积错误和模型判断的不稳定性都会使智能体工作流更加复杂。
  4. Shaukat 提出,明确意图、引导机制、独立验证和证据是建立信心的互补要素。
  5. Sonar 的客户和产品数据是供应商报告的结果,不保证适用于所有团队。
全文

按章节阅读整理后的全文

只看原始文稿
01

从汽车工厂到软件

Shaukat 回顾汽车制造如何转向将质量融入生产过程。他将这些想法与现代软件实践联系起来。

我是 Sonar 首席执行官 Tariq Shaukat。今天我想讨论,企业如何建设真正有效的软件工厂。为了说明这个挑战,我先从实体工厂讲起:20 世纪 80 年代,即使是不错的汽车,零部件接缝也可能有明显空隙。

我记得一则 Lexus 广告:一个钢珠滚过汽车的接缝。这个画面传达了一种不同的方法:不再一味追求产量、事后修复问题,而是设计生产流程,力求一次交付正确、减少返工并提高客户满意度。

这并不是一个孤立的改变。更大的理念是为质量设计工厂:质量优先于产量,修复系统而不只是处理症状,设计能够一起制造和装配的部件,并在问题出现时解决。在这种方法中,任何人都可以叫停生产线,而不只是管理者。

我也在现代软件开发中看到了这些理念。敏捷、看板、持续集成,以及站点可靠性工程中的错误预算等实践,都体现了如何建立有效生产系统的共同问题。如今,智能体改变了这套系统必须应对的规模。

02

代码生成之后的瓶颈

他引用代码和提交量增长的数据,并讨论智能体带来的安全风险。他认为单靠人工审查未必跟得上。

引入异步智能体后的代码与提交量
幻灯片 1 / 5引入异步智能体后的代码与提交量演讲者的幻灯片将数字归于一篇 NBER 工作论文;柱形图标注为未按比例绘制。

我引用了一项异步编码智能体研究:代码行数增加了 2450%,提交次数增加了 240%。这些数字来自所引用的研究,并不意味着每个团队都会出现同样的变化。最直接的结论是,代码产出可能变得更加充裕。

我介绍了 Sonar 即将发布的开发者调查:5% 的受访者表示已经运行智能体软件工厂,34% 预计一年后会这样做;金融服务领域受访者的比例为 39%。这些是我展示的调查结果,不是对未来实际采用情况的观察。

这也涉及安全问题:帮助构建软件的智能体,同样可能帮助攻击者发现和利用弱点。我提到 Satya Nadella 关于模型相关内部风险的讨论,以及对工程化隔离、人工控制和可靠操作流程的需要。

第一个挑战是,在流程中加入人工环节,并不会自动解决规模问题。在我引用的研究中,代码量增长了 2450%,提交量增长了 240%,而发布量只增长了 30%。产生更多更改不等于安全交付更多更改;从创建到发布的路径也需要关注。

我把一个相关问题称为“认知屈服”。在我引用的一项研究中,AI 建议正确时,人们有 93% 的时间会认同它;建议错误时,约 80% 的时间也会认同。我用这些数字质疑,仅仅加入人工审查者是否就能保证独立审查;结果受该研究的具体条件限制。

人们接受 AI 建议的情况
幻灯片 2 / 5人们接受 AI 建议的情况幻灯片展示了所引用研究条件下,对正确和错误 AI 建议的接受比例。
03

复杂性、累积错误与 AI 裁判

演讲者引用关于大型代码库、长任务和模型判断差异的研究。他还主张,在利用漏洞的速度加快时加强预防。

第二,智能体可能难以应对大型、复杂的代码库。我引用一项代码翻译研究:在 1 万行代码时表现较好,到 5 万行时表现下降。另一项研究发现,完成一项任务的令牌消耗有 30 倍差异;我认为这与在陌生代码库中寻找路径所需的工作有关。

我把代码导航问题比作选择前往纽约的出发点。从附近出发比从远处出发更快、更省钱。为智能体提供有用的代码库地图,可以减少它寻找起点所需的工作。

第三,较长任务中的错误可能不断累积。我展示了一张 METR 任务时长图:其中模型约 16 小时的时长是在 50% 成功率下测得的,并不保证可靠完成。我的意思是,当要求更高的成功率时,任务时长会呈现不同结果。

成功率为 50% 时的任务时长
幻灯片 3 / 5成功率为 50% 时的任务时长METR 图表展示了 50% 成功率阈值下的任务时长;不能将其理解为有保证的表现。

举例来说,如果 20 个步骤各自独立,且每一步成功概率都是 95%,全部成功的概率约为 36%。这是一个简化的数学例子:真实步骤可能相互依赖,恢复措施或验证也可能改变结果。

第四,我质疑只让大语言模型充当裁判时判断是否一致。我引用一篇论文:根据模型和情境不同,完全相同的重复评估中,有 7% 到 17% 的判断发生变化。我还引用研究称,一个简单的追问就会让部分模型改变答案;这些数字仅适用于讨论的研究。

第五,当漏洞利用可能发生得很快时,事后响应就更困难。我认为,预防需要被设计进软件工厂,而不应完全依赖后续响应。

04

代码信心公式

Shaukat 提出四个要素:明确意图、引导机制、独立验证和证据。他描述了如何将这些要素纳入软件工厂。

我们的“代码信心公式”有四个组成部分。第一是明确意图:在智能体能够可靠地朝目标工作之前,必须清楚说明目标和标准。第二是“引导机制”;我强调它不同于只防止偏离的护栏,而是帮助智能体保持正确方向。

代码信心公式
幻灯片 4 / 5代码信心公式该框架结合意图、引导机制、验证和证据。

第三是独立、充分的验证,发现的问题应得到处理,而不是被推迟。第四是一致、可审计、可重复的证据,表明检查确实发生过。我把四个要素表示为乘积:如果关键要素缺失,我认为人们对整体结果的信心可能降到零。

当我们帮助客户和合作伙伴设计这些工厂时,会询问他们如何表达意图、引导智能体、独立验证结果并生成证据。这张图是组织这些问题的框架,而不是证明某一种工具能够保证结果正确。

05

报告的产品和客户结果

Sonar 首席执行官描述了与公司工具相关的结果及一项客户调查。他总结说,当代码变得充裕时,信心才是稀缺资源。

供应商展示的 Sonar Vortex 结果
幻灯片 5 / 5供应商展示的 Sonar Vortex 结果幻灯片称,在展示的案例中,令牌消耗最多降低 36%,问题减少 92%;这不能证明普遍效果。

随后我介绍了 Sonar Vortex,这是 Sonar 的一款产品,旨在智能体循环中结合意图、引导和验证。我报告,在展示的案例中,令牌消耗最多降低 36%,提交代码中的问题最多减少 92%。这些是公司报告的结果;幻灯片没有提供足够细节,无法推广到所有工作负载。

在验证方面,我主张结合确定性方法和智能体方法,并为每项任务选择合适的计算资源。Sonar 最初是一家验证公司,因此这也是我看待问题的角度。我介绍 SonarQube 是公司在这一领域的产品。

我描述了一项涉及 1000 多名客户的调查,比较 SonarQube 用户和非用户报告的积极影响。我引用的相对差异分别是:对安全影响的感知高 81%,上市时间高 34%,故障频率高 76%。这些是调查中报告的比较;演讲没有证明这些差异仅由产品造成。

最后,我强调证据:团队需要表明他们通过了适用的质量门槛,以及内部控制或标准。无论涉及内部控制、汽车标准还是其他要求,目的都是让验证可见且可重复。

我的结论是,代码正变得充裕,而信心仍然稀缺。未来的软件工厂应该被设计成让人们对交付结果有信心,而不只是生成更多代码。

同频道的其他文章

6 张幻灯片38:07EN → 简体中文
AI Engineer· 2026年10月29日使用 Gitar 验证拉取请求:超越代码差异Taylor Luttrell-Williams, Killian Carlsen-Phelan · SonarSonar 的 Killian Carlsen-Phelan 和 Taylor Luttrell-Williams 在一个示例应用中演示门票转让、定价规则和 CI 失败三个场景。Code review & verification智能体工程开发流程与测试+2
9 张幻灯片21:32EN → 简体中文
AI Engineer· 2026年10月29日Shy Ruparel:AI 智能体的可靠性与故障恢复Shy Ruparel · TemporalTemporal 的调查发现,频繁使用智能体与可靠部署之间存在差距。Ruparel 演示了一项模拟付款工作流如何在工作进程停止后恢复。智能体可观测性与可靠性智能体工程+2
7 张幻灯片14:50EN → 简体中文
AI Engineer· 2026年10月29日Cole Gannaway:代码审查、跨仓库风险与 AI 软件工厂Cole Gannaway · Qodo一行重命名代码可能通过本地检查,却影响远端客户端。Qodo 的 Cole Gannaway 解释如何借助审查上下文、共享规则和独立智能体发现这些风险。Code review & verification编程智能体开发流程与测试+2
5 张幻灯片11:47EN → 简体中文
AI Engineer· 2026年10月29日Revolut 的 David Abitbol:大规模自托管 AI 编程模型David Abitbol · RevolutAbitbol 分享工程交付趋势、GPU 服务成本和延迟调优经验,并介绍受监管银行运行这些工具时采用的控制措施。Local inferenceAI cost & performanceDeveloper productivity+2
4 张幻灯片21:47EN → 简体中文
AI Engineer· 2026年10月28日Patrick Smyth:AI 时代的开源供应链安全Patrick Smyth · ChainguardChainguard 的 Patrick Smyth 讨论漏洞利用加速、依赖中的恶意软件、零日漏洞,以及开发者工作流不断扩大的攻击面。CybersecurityOpen-source ecosystemsAI security+2
5 张幻灯片14:09EN → 简体中文
AI Engineer· 2026年10月28日Taylor Luttrell-Williams:用 SonarQube Hunter Agent 发现逻辑漏洞Taylor Luttrell-Williams · SonarSonar 的 Taylor Luttrell-Williams 介绍安全智能体如何梳理代码库、调查逻辑漏洞,并将验证过的发现与常规扫描结果一起呈现。CybersecurityAI securityCode review & verification+2