你的团队应该“氛围编程”吗?

56 阅读6分钟

氛围编程利用AI提高软件开发速度和协作性,但也带来代码质量、安全风险。需重视代码审查、治理、法律参与,防范AI被滥用于黑客攻击。安全速度文化和质量检查至关重要。

译自:Should Your Team Be Vibe Coding?

作者:Matt Moore

在整个行业中,软件的编写方式正在发生变化:速度更快,协作性更强,并且越来越多地通过 AI 提示而不是击键来完成。这种转变有一个名称,并且正在改变代码的编写方式。

“氛围编程 (Vibe coding)”,即越来越多地使用生成式 AI (GenAI) 来编写、重构和审查代码,正成为现代软件开发中常见的组成部分。根据 Gartner 的说法,在三年内,AI 辅助开发有望占所有新业务软件的 40%,但这可能是一个保守的估计。

氛围编程 (Vibe coding) 很像身边坐着一位不知疲倦、没有自我、热情的初级工程师 - 他能立即响应反馈,快速生成可用的代码,并且从不抱怨重复性的任务。但是,没有经过仔细检查的速度可能会产生重大后果。

氛围编程 (Vibe coding) 的开发者需要明白,AI 只是一种生产力工具,他们(而不是 AI)最终要对它为他们生成的代码负责。如果他们接受低质量的输出,他们将对由此产生的风险和漏洞负责。

氛围编程 (Vibe Coding) 的真实体验(以及它为何如此引人注目)

使用诸如 Claude CodeGitHub Copilot 之类的工具,氛围编程 (Vibe coding) 使开发人员能够快速迭代。您可以提出请求、审查工作并完成修订,在几分钟内,您就可以获得功能正常的代码,而这些代码原本可能需要花费数小时或数天才能编写完成。

在许多方面,氛围编程 (Vibe coding) 正在遵循与开源相同的轨迹:它最初是一项实验性的、由开发人员驱动的运动,然后迅速成为现代软件的支柱。这种转变带来了巨大的生产力和创新,但也带来了治理、许可和安全性方面的新挑战。

开源软件使开发人员能够使用现有的库和框架来减少编写构建强大应用程序所需的最终代码量,但重要的是,他们仍然对其环境中运行的所有内容 100% 负责。

氛围编程 (Vibe coding) 提供了类似的承诺,同时也带来了类似的风险。从一开始就建立正确的文化、护栏和责任制的团队将能够安全地获得其好处。

氛围编程 (Vibe Coding) 并不意味着没有规则的随性

AI 本质上是一种生产力工具。与任何生产力工具一样,它的目的是并且期望在不降低任何一方的情况下提高您工作的质量和/或数量(理想情况下两者兼而有之)。最终,使用该工具的人要对结果负责。但如果使用得当,输出的质量和数量都应该更高。

“安全速度”的文化始于共同责任。对于组织而言,这意味着:

  • 严格的代码审查和测试: AI 不会获得任何优待。每个建议都需要人工监督。
  • 治理和来源: 团队需要可追溯性,以了解代码的来源、修改方式以及由谁批准。
  • 法律和安全部门的参与: 工程、法律和安全团队之间的协作可确保 AI 生成的代码不会引入合规性或许可风险。

有了这些保障措施,使用 AI 编写代码可能会带来变革。没有它们,氛围编程 (Vibe coding) 可能会成为不受监控的漏洞来源。

安全性的另一面:氛围黑客攻击和零日漏洞加速

自然地,赋予开发人员权力的相同 AI 工具也掌握在攻击者手中。从历史上看,零日漏洞一直是漏洞的“圣杯”,因为它们为攻击者提供了一种潜在的武器,可以用来对抗那些毫无防备的猎物。(他们有“零天”的时间来修补它。)已披露的漏洞也吸引着攻击者,因为许多人(落后者)根本没有应用补丁。但是比赛已经开始:攻击者能否在他们的猎物应用补丁之前将漏洞武器化?

现在有了 GenAI 工具的支持,攻击者将已知漏洞武器化的时间正在从几周急剧减少到几分钟。这从根本上改变了他们可以攻击的对象,从仅仅是落后者到所有尚未采用现代安全实践的人。

正如 AI 使开发人员能够进行快速迭代一样,它也使对手能够以空前的速度发现、测试漏洞并将其武器化。即使存在补丁,上游分发中的延迟或最终用户采用缓慢也会造成危险的窗口,攻击者可以在防御者有时间做出反应之前加以利用。结果:防御者面临的响应窗口正在缩小,安全团队需要假设不良行为者也在以 AI 的速度编写代码。

氛围编程 (Vibe Coding) 不会消失

氛围编程 (Vibe coding) 不是一种时尚;它是软件构建方式的下一个演变。对于以负责任的方式对待它的开发人员来说,它提供的不仅仅是速度。它可以提高代码质量,腾出时间进行创造性和创新性工作,甚至可以培养更好的工程习惯。但是,如果没有正确的质量检查,它可能会成为一种负担。

以下是氛围编程 (Vibe coding) 开发者面临的挑战:不要止步于更快的代码。努力编写更好的代码。利用节省下来的时间来完成您一直在推迟的重构,编写您的队友会感谢您的文档,扩大测试覆盖范围或改善安全态势。分享氛围编程 (Vibe coding) 如何不仅加速输出,而且实际上提高了您交付的代码的标准。

现在是运行氛围检查 (vibe check) 的时候了:您不仅速度更快,而且还在提高您工作的质量吗?