我是在学编程,还是只学会了向AI提问?
摘要
一位开发者反思了使用AI快速编写代码与深入理解代码之间的权衡,并质疑如何在AI辅助与真正学习之间取得平衡。
我对于构建软件仍然相当新手,AI帮助我完成了一些本需要更长时间独自完成的事情。但最近我注意到一件让我困扰的事。当时我正在构建一个小型API路由,用于创建项目并将项目保存到数据库。我让一个AI编码工具生成路由、验证请求、检查用户并插入记录。生成的代码看起来很整洁,类型看起来也正确,甚至前几次测试都能通过。然后,我更改了数据库中的一个字段,所有功能都开始出故障。错误信息提到了一个事务,响应返回了错误的状态码,一个值变成了null,尽管我认为它是必填的。我不断要求AI修复每个错误。每个回答都增加了更多代码,但每次修改后我理解的却更少了。最终我意识到自己无法解释完整的请求流程。我知道请求到达了API路由,知道发生了一些验证,也知道数据库收到了某些内容,但我无法清楚地解释这些步骤之间发生了什么,或者为什么修复能解决问题。于是我用一个更小的路由再次尝试了同样的思路。这次我只在卡住时才使用AI。我自己编写验证代码,在每一步记录数据,并查阅了数据库客户端如何处理错误的文档。这花费了更长的时间,但我确实能解释结果了。现在我不确定该如何衡量进步。使用AI,我能完成更多功能。不过度依赖AI,我完成的内容少了,但理解得更深入。两者似乎都有用,但它们不是同一种进步。也许真正的技能在于学习什么时候该向AI索要代码,什么时候应该自己努力解决问题。对于那些在学习开发过程中使用AI的人来说,你们如何阻止AI代替自己做过多的思考?你们是否有规则,规定AI可以编写代码的时机,以及强迫自己独立解决的时机?
相似文章
AI编码工具已强大到能真正交付产品,但对学习而言却成问题
一位开发者反思AI编码工具如何提升生产力,但可能阻碍深度学习——用户交付了不完全理解的代码,引发关于技能发展的疑问。
AI编程工具是在让开发者变得更好,还是仅仅加速了糟糕的判断?
一篇观点文章探讨了像Claude Code和Copilot这样的AI编程工具是否真正提升了开发者的技能,还是仅仅加速了有缺陷的决策,并强调了需要新的指标来评估工程中的人机协作。
AI代理是否让构建软件比理解软件更容易?
一位开发者反思了AI编码代理如何能够快速构建和修改软件,但开发者往往失去对代码库架构和决策的理解,从而带来新的工程挑战。
作为一名使用AI编码工具的初级开发者,我觉得理解和审查代码变更比编写代码更困难,这正常吗?
一位初级开发者反思使用AI编码工具时,感觉理解和审查代码变更比编写代码更困难是否属于正常现象。
AI辅助编码的四个阶段
对开发者在使用AI辅助编码时经历的各个阶段的反思,从最初的惊叹到平衡的理解,并担忧经验不足的开发者如何在严重依赖AI代理的情况下学会判断代码质量。