随着越来越强大的AI编程工具的普及,软件开发的成本似乎变得低廉——但这是否就意味着传统软件公司将会被淘汰?分析人士指出,“借助智能编码(vibe coding),初创企业可以复制复杂的SaaS平台功能。”这样的观点引发了担忧和声明:软件公司将无法幸免。
对于使用代理来弥补长期资源不足的开源软件项目来说,他们本应是受益者之一。然而,在实践中,AI编程工具对开源软件的影响远比人们预想中的复杂。行业专家表示,这些工具有时解决问题,有时也会带来麻烦。
尽管AI编程工具易于使用且普及度高,但这也导致了一大堆糟糕的代码泛滥成灾,威胁到了项目的进行。开发新功能变得更加容易,但维护起来却同样困难,并且可能会进一步分裂软件生态系统。
结果就是,开源世界的繁荣景象远比简单的软件丰富要复杂得多。或许,人工智能时代软件工程师的“末日”宣告还为时尚早。
总体而言,项目代码开放的组织都注意到提交的质量有所下降,这很可能是由于AI工具降低了门槛所致。“对于那些新加入VLC代码库的人来说,我们看到的合并请求质量令人失望。”视频软件VLC的负责人Jean-Baptiste Kempf在最近的一次采访中如是说。尽管整体上持乐观态度,Kempf认为这些工具有利于经验丰富的开发者。
对于3D建模工具Blender来说,也有类似的问题。Blender基金会CEO Francesco Siddi指出,“由大型语言模型(LLM)辅助的贡献通常浪费了审查者的时间并影响了他们的积极性。”Blender目前仍在完善与AI编程工具相关的政策,并表示这些工具既不强制也不推荐用于贡献者或核心开发者。
合并请求之多已经变得难以管理,开源开发者们正在开发新的工具来应对这一问题。本月早些时候,开发者Mitchell Hashimoto推出了一套系统,限制GitHub中的贡献仅限于“认证用户”,实际上关闭了开源软件的开放大门。“AI消除了默认信任OSS项目的自然门槛。”Hashimoto在公告中写道。
同样的现象也出现在漏洞赏金计划中。该计划向外部研究人员提供了一个报告安全漏洞的机会。最近,开源数据传输程序cURL暂停其漏洞赏金计划,创始人Daniel Stenberg称这“是AI造成的混乱”。他说:“在过去,有人会投入很多时间来撰写安全报告。但现在做这个几乎不需要任何努力。”
尽管如此,许多开源项目也看到了AI编程工具带来的好处。Kempf表示,这些工具有助于高级开发人员编写新代码。然而,对于那些没有经验的人来说,管理起来就困难多了。
更大的问题是开源项目的优先级不同。Meta等公司重视新代码和产品,而开源软件工作则更多关注稳定性。“从大公司的角度来看与开源项目所面临的问题是不同的,”Kempf评论道,“在大型公司中编写代码会被鼓励,而在开源项目中则更看重维护。
AI编程工具的到来正值一般软件特别碎片化的时刻。开源投资者Konstantin Vinogradov指出,AI工具正在应对开源工程中的长期趋势:“一方面,代码库的规模和相互依赖关系都在以指数级增长;另一方面,活跃维护者的人数却并未跟上这一速度。”他补充道,“在AI出现后,这两方面都加速了。”这是一种思考AI对软件工程影响的新方式——一个充满警示意义的观点。
推荐意见