AI 不应出现在代码编辑器中
Source: Dev.to
引言
在过去的几年里,AI 已经成为一种不可忽视的技术。几乎每个人在某个时刻都曾忽视它,而现在大多数开发者已经在日常工作中——无论是专业还是个人——采用了它,包括我自己。
AI 在代码编辑器中的局限性
编码需要对每一行进行深入思考,同时保持系统的整体结构和设计。我们目前拥有的 AI 无法始终如一或深入地完成这些工作(这并不是提示词的问题)。当它直接嵌入编辑器时,主要只能帮助完成一些小的、重复性的任务,却忽视了项目更宏观的架构。
速度与质量之间的权衡
- AI 可以减少敲键时间,对于经验不足的开发者来说,它甚至可能生成比他们自己写的更好看的代码。
- 然而,它会——而且必然会——引入细微的 bug。这在速度与代码质量及安全性之间形成了权衡。
首先,敲键速度几乎从不是软件开发的瓶颈。其次,AI 节省的时间常常会被调试由生成代码引入的细微问题所抵消,而这些问题往往被开发者忽视。
对学习和知识保留的影响
对于经验不足甚至经验丰富的开发者(所谓的 “x10 开发者”),AI 可以生成新思路或更好的实现。随着项目规模的扩大,开发者可能会因为没有深入理解生成的代码而失去对实际情况的把握。这会导致更多时间花在:
- 请 AI 解释代码
- 查找文档
- 填补对算法、库或技术的知识空白,而这些知识他们从未真正学过
虽然这种学习过程并非毫无价值——它可以提升开发者的技能——但这并不需要 AI 嵌入编辑器。所有这些都可以(也应该)在浏览器中完成。
鼓励懒惰与技能退化
AI 不应出现在代码编辑器中的另一个原因是,它会随着时间的推移鼓励懒惰。即使是经验丰富的开发者也面临技能退化的风险。逐渐地,他们可能会变得和经验不足的开发者类似:依赖 AI 完成曾经掌握的任务,随后又花时间调试自己未能发现的 AI 生成的 bug。
未来展望
未来,AI 可能会或可能不会可靠地编写大型、复杂的系统。如果真的实现了这一点,我们甚至可能不再需要代码编辑器——只需要用于观察和验证输出的接口即可。
注
本文由 AI 在浏览器中审阅并重写。