什么是氛围编程?为什么值得关注?

人工智能正在彻底改变软件开发方式。"氛围编码"是一种新兴的编程方法,它侧重于软件的整体"氛围"而非具体代码。开发者通过概念性指导与AI互动,迭代完善功能。这种方法可能会显著提高开发速度,增加客户端功能,但也带来了一些关于代码理解、测试和质量保证的新挑战。企业需要密切关注并适应这一趋势,以保持竞争力。

AI 正从根本上改变着软件的开发方式。过去独自面对空白编辑器、一行行编写代码的时代已经过去。虽然 AI 助手现在已经很普遍,许多强大的工具都提供了这样的功能,像 ChatGPT 这样的模型也提供了越来越强大的代码生成能力,但下一步会是什么?这就引出了氛围编程 (Vibe Coding)。

AI 如何改变编程 AI 对编程产生了根本性的影响——只需一段文字提示就能生成代码。在 AI 之前,代码生成工具主要是结构化和领域特定的。例如,在 AI 领域,可以指定一系列操作,让 AI 将预先编写的模块串联起来,添加适当的配置和链接。现在,通过简单的文字问题,像 ChatGPT 这样的 AI 就能选择合适的开源模块,弄清如何将它们连接在一起,并为你提供可直接运行的代码和详细解释。随着这些 AI 的不断更新,代码的功能也在不断改进。

什么是氛围编程 氛围编程这个术语由 Andrej Karpathy 提出,它进一步推动了这一趋势。特别是,氛围编程关注软件的"氛围",而不是代码本身。使用英语 (书面或口头) 来指定需要编写的代码的概念仍然存在,但重点现在转向了正在创建的整体产品,以及人类在通过一系列概念性指导 AI 的过程中的角色,这些指导让 AI 不断完善、修复和添加代码功能。正如 Andrej Karpathy 在 X 平台上的原始消息中指出的重要转变是,人类甚至可能不会阅读这些代码版本——而是通过 AI 按照人类要求运行的测试来评估它们的行为。这一观察还指出,代码可能很快就会超出人类的理解范围。

举个例子 这里是我用来生成化学反应模拟器的过程。我有一周的实验数据和化学过程的名称。我将这些信息提供给 AI。它能够找到正确的数学方程来描述这个过程,并使用这些方程在 Python 中构建模拟器。

在第一次迭代中,模拟并没有很好地捕捉到实验数据中的行为。我通过 AI 探索了几个可能影响结果的实际复杂因素。经过几次迭代后,我利用领域知识选择了一些常见的复杂因素,要求将这些因素添加到模拟中。

这个过程持续了 10-15 次迭代,直到我觉得模拟代码充分捕捉到了物理实验的复杂性,模拟结果越来越接近实验结果。在每次迭代中,AI 都负责生成和测试代码,并根据请求提供概念建议。我作为专家指导,在选项之间选择并做出最终决定。我每隔几次迭代才阅读一次代码,而不是每次都读。

对企业的意义 不管氛围编程是否会成为这一趋势的最终名称,但很明显这个整体趋势会持续下去。Y Combinator 报告称,超过 25% 的创业公司现在有 95% 的代码库依赖于 AI,而 Google 最近报告称约 25% 的新代码是 AI 生成的。这一趋势对企业有重要影响,引发了以下问题:

企业是否应该接受投入使用没有任何员工理解的代码?在许多情况下,复杂的代码库在公司存续的时间远超过编写它们的人——所以拥有没人理解的代码并不罕见。然而,这样的代码之所以继续存在,通常是因为它经过时间的检验。全新的、没人理解的代码这个概念是新的。

超快速原型开发?也许最好的初始价值/风险平衡是将这种开发方式用于极速原型开发。也许我们已经达到了这样一个阶段:产品开发不仅仅由商业案例启动,还可以通过快速原型验证客户互动,在正式开发开始之前就几乎完整地存在。

对代码量意味着什么?氛围编程和相关趋势都意味着代码量 (需要存储、版本控制和在知识产权上下文中保护) 正在急剧增长。企业需要将这一点纳入其软件开发实践中。

测试、质量、安全性等问题怎么办?生产代码的要求不会因为 AI 生成大部分代码而改变。然而,当开发人员只能谈论代码的功能而不是实现方式时,他们能在多大程度上为安全性和测试审查做出贡献?

未来的软件工程团队是什么样的?很明显,这些趋势有利于高级工程师,他们有知识选择要构建什么,并且有足够的直觉在不阅读代码的情况下检测测试中的问题。然而,这确实提出了一个问题:如果我们的学习路径 (编写小段代码、算法正确性测试) 不再是他们工作描述的一部分,未来的工程师将如何达到这个知识水平来有效地进行氛围编程。我个人不认为这一趋势意味着软件工程师的终结 (尽管这个问题已经被提出)。但我确实认为这标志着从编码向软件开发的转变,其中整体产品 (功能) 和复杂系统的行为优先于谁/什么写了特定的代码。

企业应该做什么? 以下是企业应该做的几件事:

- 确保软件开发经理定期学习氛围编程等新趋势。

- 鼓励讨论如何将这些方法推广到团队中,包括制定适合企业的指导方针来处理上述问题。

总结 像氛围编程这样的趋势有很大潜力提高软件开发速度和客户端功能开发的数量,这使得企业必须跟进并适应以保持竞争力。上述指导方针可以帮助你实用且安全地"驾驭" AI 驱动的软件开发浪潮。

来源:Forbes

0赞

好文章,需要你的鼓励

2025

03/31

10:00

分享

点赞

邮件订阅