虽然AI编程助手正在接管越来越多的编程工作,但大量开发者对AI生成的代码仍然不信任,许多人表示,识别编程助手产生的错误变得更加困难。
开发负责人表示,人类编程团队正在努力寻找时间来发现错误。编程专家指出,编程助手正在改善其输出质量,但它们也往往变得更加冗长——编写更多行代码来解决问题——这使得错误出现时更难被发现。
结果,AI生成代码出现了一个重大问题:开发者有时花在审查AI输出上的时间比他们自己编写代码所花的时间还要多。
代码信任度严重不足
深度伪造检测平台Reality Defender的首席技术官Alex Lisle表示,虽然AI编程助手已经变得无处不在,但开发者不应该信任它们。
Lisle合作的所有软件工程师都在某种程度上使用编程助手,但公司的开发者密切关注其输出。"事实是,我的大多数开发者仅将AI生成的代码用于样板代码和修复一些小问题,"他说,"我们完全不信任AI生成的代码。"
Lisle补充说,使用编程助手的开发者对代码质量负有责任。
大量代码生成的问题
Lisle认为,AI工具能够生成的代码量本身就产生了问题。
"这就像有一个可以非常快速地编写大量代码的初级开发者,"他解释道,"问题是它不理解代码和更广泛的上下文。它经常做与你要求相反的事情。"
Lisle说,过度依赖AI生成的代码可能导致无法理解的代码库。
"问题是,一旦你开始在更广泛的上下文中利用它,它就会创建极其不稳定和不可知的代码,"他补充道,"你可以让AI生成数十万行代码,但维护起来非常困难,理解起来也很困难,在生产环境中,这些都不合适。"
专注于微软技术的编程公司Keypress Software Development Group总裁兼高级软件架构师Brian Owens表示,他们在AI编程助手方面取得了复杂的结果。
对于小型、自包含的用例,AI生成的代码通常只需要最少的审查,但对于生产级应用程序,输出可能不一致且有问题。
"我们发现AI工具偶尔会忽略现有代码库的关键方面,或无法与既定的编码标准和架构模式保持一致,"Owens说,"这为我们的团队创造了额外的工作,包括审查、重构和返工,以确保代码可以投入生产。"
Owens发现,使用编程助手可能不会比人类开发者编写代码节省时间。"在某些情况下,验证和纠正AI生成代码所花费的时间可能会抵消预期的效率收益——有时比开发者在没有AI协助的情况下编写代码花费的时间还要多,"他说。
审查瓶颈现象
代码质量工具提供商Sonar最近对1100多名IT专业人员进行的调查支持了一些开发负责人表达的信任担忧。虽然72%的受访者表示他们每天使用编程助手,但96%的人表示他们不完全信任AI生成的代码。
与此同时,不到一半的开发者表示他们总是在提交AI生成的代码之前检查它,近四成的人表示审查AI生成的代码比审查人类同事编写的代码需要更多努力。
Sonar企业营销副总裁Chris Grams表示,随着编程助手质量的提升,开发者发现错误变得更加困难——但这并不是因为错误不存在。
"随着这些编程模型变得越来越好,你会遇到一个大海捞针的问题,虽然总体问题可能越来越少,但这些问题可能是隐藏得很好、很难找到的重大安全问题,可能是导致应用程序崩溃的关键因素,"他说。
数据分析解决方案提供商dbt Labs的首席技术官Mark Porter表示,虽然许多软件开发负责人说他们不信任AI生成的代码,但这个问题可能更加复杂。
他说,在dbt Labs广泛使用编程助手,信任其输出取决于上下文。
"信任AI编写的代码很像信任人类编写的代码,"他补充道,"通常,我在AI生成的代码中寻找与任何其他代码相同的信任信号。如果它是通过高完整性流程创建的,我就像信任人类代码一样信任它。"
但Porter表示,AI生成的代码可能以与人类编写代码不同的方式出现错误,AI经常增加复杂性并创建过于自信的注释。信任方程式必须适应这些独特的挑战。
他说,审查AI代码也带来了自己的挑战,增加了开发者的审查时间,即使它节省了编码时间。"输出量很大,所以它将瓶颈从生产代码转移到审查代码,"他补充道。
Porter表示,人类审查还需要保持对代码库的专家级熟悉度,这可以通过软件工程最佳实践来缓解。
"审查AI编写的代码确实存在独特挑战,"他补充道,"我认为信任AI代码的问题有点偏离了重点;我正在思考的是如何建立流程、指导方针和培训,支持我的工程师使用AI协助他们编写高效、正确且可维护的代码——在我看来,这就是AI在编程中的未来。"
Q&A
Q1:为什么开发者不信任AI生成的代码?
A:主要原因包括:AI生成的代码往往更加冗长,使错误更难发现;AI不理解代码的更广泛上下文,经常做出与要求相反的操作;会忽略现有代码库的关键方面或无法与既定编码标准保持一致。调查显示96%的开发者不完全信任AI生成的代码。
Q2:使用AI编程助手真的能提高开发效率吗?
A:不一定。虽然AI能快速生成大量代码,但开发者需要花费大量时间验证和纠正AI生成的代码。在某些情况下,审查AI代码的时间甚至比开发者自己编写代码的时间还要多,这抵消了预期的效率收益。
Q3:如何正确使用AI编程助手?
A:专家建议将AI编程助手主要用于样板代码和修复小问题,建立高完整性的代码审查流程,保持对代码库的专家级熟悉度,通过软件工程最佳实践来支持工程师使用AI编写高效、正确且可维护的代码。
好文章,需要你的鼓励
2025年1月,OpenAI、软银、甲骨文和MGX联合宣布"星际之门"计划,承诺投资5000亿美元,部署高达10GW算力基础设施。如今,该项目已从白宫发布会上的宏大承诺,演变为一场前所未有规模的基础设施建设实验。项目已扩展至德克萨斯、威斯康星、俄亥俄等多地,并延伸至阿布扎比和挪威。然而,融资争议、合作伙伴摩擦、能源压力及政策监管收紧,正考验着这一"AI工业园"模式能否真正落地。
阿里Qwen团队通过引入强化学习和在线策略蒸馏,将Qwen-Image-2.0升级为Qwen-Image-2.0-RL,让图像生成模型真正学会人类审美,文生图Elo评分提升78分,图像编辑提升93分。
加密货币交易所OKX正式推出AI智能体交易市场OKX AI,允许AI代理相互雇佣、自主结算,并建立基于区块链的可携带信誉档案。该平台经过50家早期服务商封测后向开发者开放,依托稳定币和链上支付基础设施,支持全天候微支付。OKX创始人徐明星表示,传统金融基础设施为人类而建,智能体经济需要为自主软件专门设计的基础设施。
港科大与快手联合提出NormGuard,针对流匹配模型强化学习训练中速度范数膨胀问题,通过训练时单向惩罚约束,在保留奖励的同时改善图像真实感。