Datasette 创始人西蒙·威利森宣称说:"现在是学习编程的最佳时机。"这并不是因为人工智能会帮你完成编码工作。事实上,情况恰恰相反。威利森认为,"大型语言模型拉平了学习曲线",让年轻的开发者更容易上手。但我们绝对不能也绝不能忘记如何编码。相反,我们可以使用生成式人工智能来增强开发人员的经验,无论他们的经验水平如何。
颂扬”学习意志“
我喜欢读威利森关于生成式人工智能的想法。他是这方面最有思想的开发者之一。另一位伟大的读者是 O'Reilly Media 的 Mike Loukides。关于生成式人工智能和编码、 Loukides 提醒我们写出真正好的提示比想象中更难。他认为:"要想成为真正优秀的提示者,你需要发展提示内容方面的专业知识"。
换句话说,你需要成为一名优秀的程序员。
"如果你屈服于诱惑,认为人工智能是人类不可能获得的专业知识和智慧的宝库,那么你将永远无法有效地使用人工智能,"Loukides 建议道。要想有效地使用 AWS CodeWhisperer 或 Google Codey 等编码工具,你真的需要指导它们实现你所期望的输出。要一步步告诉人工智能如何解决你的开发问题,你首先需要深入了解问题,以及如何促使人工智能做出反应。
开发人员还需要能够评估人工智能何时出错。同样,这也需要一定水平的专业知识。是的,我们希望编码助手能帮助我们在所承担的项目中变得更加雄心勃勃,但是,它们根本无法让开发人员不再需要琢磨代码。我们也不应该希望他们这样做,这又回到了威利森的第一点。
利用人工智能学习编码
对于许多新开发人员或刚刚接触特定语言、框架、数据库等的资深开发人员来说,学习曲线可能非常陡峭。例如,“他们可能会漏掉一个分号,从而得到一个奇怪的错误信息,他们需要花两个小时才能重新找到正确的方法,”Willison说。毫不奇怪,这可能会导致他们放弃,认为自己不够聪明,学不会编程。
这就是人工智能助手可以发挥作用的地方。威利森说:“你没必要让计算机科学学位的人来用计算机做一些你需要完成的繁琐事情。ChatGPT和其他由LLM支持的助手可以自动完成这些乏味的工作。”GitHub工程师Jaana Dogan强调说人们太专注于代码生成,完全忽视了LLM在代码分析等方面的作用。我们不需要人工智能来完成所有工作。根据威利森的论点,我们只需要它来自动完成离散、枯燥的任务,这些任务不会影响应用程序的成败,但如果开发人员被迫学习并完成编程的所有方面,而编码助手却可以解决这些乏味的垃圾工作,那么开发人员的信心就会受到打击。
与以往一样,开始使用生成式人工智能和软件开发的方法就是入门!从小处着手,自动完成那些你能理解但不一定想反复编写的简单任务。由于节省了时间,您就能专注于学习如何解决代码中更棘手的难题,这样随着专业知识的增长,您也能更好地实现自动化。
原文作者:Matt Asay