目录

在吉他效果器的小屏幕上,显示自己编写的程序界面。能运行起来当然令人高兴,可外观怎么看都像是 20 世纪 80 年代的产物。想把界面改得更现代一些,但 Linus Torvalds 不写 Java,因为他的专长是内核。

于是,他试着让 AI 生成代码。据他说,最初生成的结果很糟糕。即便如此,Torvalds 仍然觉得使用 AI 很有趣。因为他并不是把自己已经会做的工作全盘交给 AI,而是把它当作弥补自身短板的工具。

在捷克布拉格举行的 Open Source Summit Europe 上,Torvalds 与多年的好友 Dirk Hohndel 聊起了 AI。他认为,在 Linux 内核开发中使用 AI 需要谨慎,但对于业余编程和初学者的尝试,AI 能派上用场。从这番谈话中,可以看出一些关于 AI 适用场景和输出核验步骤的启示。

把“自己不会的部分”交给 AI#

在一个业余项目中,Torvalds 用 C 语言为吉他效果器的微控制器屏幕编写了自己的用户界面。他会写程序,但不擅长把外观调整成这个世纪的风格,也不写 Java。

于是,他请 AI 编写代码,改善界面的外观。最初的输出令他失望,但他能够判断问题出在哪里。因为对照自己编写的部分,他可以明确区分:“功能已经实现了,欠缺的是外观。”

这种用法的目的,并不是把任务全盘交给 AI,然后接收成品。而是让 AI 为专业领域之外的工作提供一个起点,再根据输出进行修改。前提是,尝试的范围应当限于自己能够核查代码内容的部分。

也能成为初学者“动手试试”的契机#

Torvalds 将 AI 视为让人体验编程乐趣的一个“契机”。过去,计算机和软件都相对简单,个人编写的小程序也更容易让人感受到价值。如今,成熟精致的商业软件随处可见,个人作品很容易显得逊色。

有了 AI,人们就更容易尝试过去因难度太高而不敢涉足的项目。即使不熟悉界面设计,也可以先做出能运行的东西,再向 AI 询问改善外观的方案。即使无法从零编写代码,也可能因此找到将想法变为现实的入口。

不过,这并不意味着可以不理解 AI 生成的代码。如果输出有误,程序不仅可能无法运行,还可能引入意想不到的问题。使用之前,应当确认改了什么,以及为什么需要这些修改。

内核开发不能照搬业余项目的用法#

Torvalds 是 Linux 内核的维护者,日常具体的开发工作由众多贡献者承担。他表示,在涉及内核的重要工作中,使用 AI 必须非常谨慎。

对于业余项目,可以试用 AI 的建议,出了问题再回退。然而,提交给内核项目的补丁和错误报告,都需要维护者检查内容、评估影响。如果大量 AI 生成的内容涌入,就会增加审核者的负担。代码即使看起来像模像样,也不一定正确。

也就是说,判断如何使用 AI,不能只考虑“用还是不用”。还需要考虑由谁验证输出,以及由谁维护最终成果。个人尝试的小制作,与众多用户依赖的内核,所需的谨慎程度并不相同。

先从小处尝试,再核查输出#

如果想把 AI 引入自己的工作,以下步骤比较切实可行。

  • 选择一个自己已经理解的小问题
  • 请 AI 处理自己不擅长的工作,或繁琐的准备工作
  • 将输出与现有代码或规格进行比较,确认修改内容
  • 运行并测试是否存在问题,不采纳不必要的修改

例如,可以从请 AI 美化简单界面,或解释现有代码开始。比起一上来就把重要功能交给 AI,更适合选择自己能够发现错误的任务。如果阅读 AI 编写的代码时遇到不理解的部分,可以要求它解释,或提供其他方案。然后,再由自己决定是否采用。

Torvalds 的意思并不是 AI 什么都能做好。借助它处理专业领域之外的工作,可以拓展自己的能力,但对于重要成果,仍然需要谨慎对待。关键在于明确交给 AI 的范围,并有人负责核查输出。

不妨先选一个小型个人项目,只把自己不擅长的部分交给 AI。阅读输出、运行测试,只采用自己理解并认可的部分。通过这样的尝试,就更容易判断 AI 是否能为自己的工作提供帮助。

来源: https://japan.zdnet.com/article/35253465/

目录