氛围编码:AI如何重塑软件开发

根据Harness报告,63%的软件工程师已使用AI工具生成代码。英国政府数字服务试验显示,AI编码助手每日可节省56分钟工作时间,但自然语言编程仍存在语义模糊等挑战。

根据Harness发布的《软件工程AI现状报告》(基于Coleman Parker对美、英、法、德900名软件工程师的调查),近三分之二(63%)的受访者已在代码生成中使用人工智能工具,略超半数(51%)预计AI工具将显著影响代码创建速度。

AI正被用于帮助开发者加速编码。9月,英国政府数字服务报告了AI编码助手试验结果:使用此类工具后,参与者平均每个工作日节省56分钟。其中代码创建和分析环节节省时间最多,日均达24分钟。

政府数字服务发现,超过半数试验用户表示在信息检索、任务完成、问题解决等方面效率提升,工作满意度也更高。

但氛围编码将快速编码能力提升到新高度,允许软件工程师用自然语言描述目标。它通过Anthropic的Claude Code等生成式AI工具,使人能用自然语言查询生成软件。这有望降低软件开发门槛,但存在若干注意事项。

Azul Systems副首席技术官Simon Ritter向Computer Weekly阐述了自然语言编程的挑战。他认为程序员首先面临的问题是:多数程序用类英语的确定性编程语言编写,程序员需精确告知计算机执行内容——代码编写、计算机解释及机器码转换间不应存在歧义。编译器将源代码转换为可运行的机器码,解释器则实时转换执行。两种情况下程序员都依赖编译器和解释器准确转换。

语义开放性问题 但用自然语言描述程序目标时情况不同。Ritter以“小鸡准备好吃了”为例说明自然语言的模糊性:“是指活鸡饿了想进食?还是指从超市购买的鸡已烤熟可食用?”两种解释均合理,但含义截然不同。他指出:“自然语言在明确描述需求时存在本质缺陷。”

企业级应用局限 氛围编码依赖AI模型训练,使其适用于部分编程任务。理想用例之一是企业软件定制化开发——当原开发商不愿或高价提供额外功能时,内部团队可通过氛围编码轻松添加。但Ritter指出,AI代码生成器通常未针对需定制的企业应用进行专门训练:“如何让模型理解特定应用并做出恰当修改?”除非软件供应商提供专用AI模型,否则第三方AI工具很难实现企业应用定制。

另一企业用例是软件集成,例如需协调多个应用完成工作。这类企业IT常见问题曾由机器人流程自动化工具解决。但Ritter认为,通过观察数百名用户操作不同应用的AI,能为氛围编码驱动的企业应用集成提供丰富训练数据。

适用场景与责任归属 尽管存在局限,Ritter认为氛围编码适用于非关键任务代码开发,包括创建电子表格宏自动化、数据报告生成等简单场景。政府数字服务在指导文件中指出,AI编码助手可生成确定性强且可测试的输出,这意味着氛围编码生成的源代码易于验证。

回到“小鸡”示例:若因AI误解英语指令导致输出异常,程序员可要求重试直至获得可用代码。这意味着程序员需对氛围编码生成的代码负责。政府指南明确要求:程序员必须理解生成代码,并对所有修改承担全部责任。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计