AI助手并非适合每个开发人员
作者: CBINEWS
责任编辑: 邹大斌
来源: 电脑商情在线
时间: 2024-12-16 11:16
基于生成式人工智能的AI助手已经成为软件开发人员的主流选择。根据最近的GitHub调查,超过100万开发人员正在积极使用GitHub Copilot。更重要的是,这些开发人员越来越多地将人工智能用作“开发应用程序的新模块”。换句话说,人工智能对软件开发的重要性与Visual Studio Code等工具一样。
然而,这里有一个陷阱,因为并非每个人都能平等地从人工智能中受益。实际上,人工智能工具对经验丰富的开发人员的帮助比对初学者的帮助更大,而对于初学者要谨慎使用AI助手。

每个开发者都喜欢AI助手
对于今天的开发者而言,要不要使用AI小助手来帮助写代码早就不是问题提了,现在的问题是开发者该如何使用它们。
因为AI助手能提高生产力。如GitHub报告中所述,GitHub Copilot和类似的工具为GitHup上的代码存储库中贡献的代码占比越来越高。
“我们看到开源和公共项目的活动使用率更高。每周五天使用GitHub的开发人员中为12%到15%,每周使用GitHub一次的开发人员中为8%到15%。”
不过,尽管生成式人工智能可以作为开发的捷径,但这种捷径正在帮助更有经验的工程师,同时伤害更多的初级工程师。正如蜂巢联合创始人兼首席技术官慈善大联盟(CTO Charity Majors)所建议的那样,生成人工智能没有“帮助管理、理解或操作……代码的工作。如果有什么区别的话,它只会让艰难的工作变得更难。”
谷歌Chrome团队的工程负责人Addy Osman说,高级开发人员在使用生式人工智能工具时,可能会看起来像在表演魔术。(“在几分钟内搭建整个功能”!)但也要仔细观察他们不仅仅是接受人工智能的建议。”他说,经验丰富的开发人员一直在做一些事情,如重构人工智能生成的代码,添加人工智能工具可能遗漏的边缘案例处理等。他总结道,“他们正在应用多年来之不易的工程智慧来塑造和限制人工智能的输出。人工智能正在加速其实现,但他们的专业知识是保持代码可维护性的关键。”
简而言之,你不能简单地让人工智能工具为你做工作。如果您想要构造良好、可维护的代码,它们还不行。
像对待实习生一样对待人工智能
正确地做法是将生成式人工智能工具视为能力很强的实习生,而不是完全自主的工程师。
Osmani说:“事实上,人工智能就像你的团队中有一个非常热心的初级开发人员。他们可以快速编写代码,但他们需要不断的监督和纠正。”
正是这一点使得经验丰富的工程师更有能力使用生成式人工智能,但也有可能使经验不足的工程师能力下降:知识退化。如果开发人员不首先知道人工智能是否正确,就不能可靠地将工作分配给人工智能助理。
Osmani指出,如果没有这一点,开发人员就会陷入向前一步、向后两步的模式。“你试图修复一个小错误。人工智能建议了一个看似合理的更改。然而,该修复会破坏其他内容。你要求人工智能修复新问题,结果又会产生两个问题。结果问题越来越多。”
换句话说,如果工程师没有先掌握优秀工程师所需的调试和问题解决技能,那么AI工具带来的伤害可能会大于帮助。正如亚马逊首席执行官安迪·贾西(Andy Jassy)曾反复强调的那样,“经验没有压缩算法”。AI并没有改变这一事实。
为了确保经验较少的开发者仍然能从AI中受益,Osmani指出了他观察到的一系列团队成功运用的三种模式:使用AI完成初稿,在开发范围严格限定的领域使用AI进行“持续对话”,以及将AI作为“信任但验证”流程的一部分。根据Osmani的说法,对于所有经验水平的开发者来说,这大致可以转化为以下方法:
1. 从小处着手。审查所有AI生成的代码,并将其用于严格定义的任务。
2. 保持模块化。限制AI出错时的波及范围。
3. 相信自己的经验。使用AI来加速你的判断,而不是取代它。
这些是开始使用AI驱动开发的绝佳且可行的建议——你应该开始行动了。只是不要期望AI会取代你,无论你认为这是好事还是坏事。在我们希望通过生成式AI来增强而非取代经验的同时,经验从未像现在这样重要。
