别把代码全交给人工智能:一位哈斯克尔开发者想保留编程乐趣
Haskell(哈斯克尔)
一种写电脑程序的语言。
大语言模型
能根据很多文字写出新文字或代码的电脑系统。
Hacker News(黑客新闻)
人们分享和讨论技术消息的网站。
发生了什么
9月18日,Haskell(编程语言)社区的论坛上,用户turion发表了一篇文章,题目是《在大语言模型的世界里,怎样继续享受编程》。原文不是实验报告,而是一位开发者的个人看法。文章想回答一个问题:使用人工智能以后,人还能不能继续喜欢写程序,并且真正看懂自己做出的东西?
作者认为,大语言模型(LLM)可以很快写出代码,但大量自动生成的代码可能很难读懂。人如果不再亲手写代码,也会少一些练习。等到代码出了问题,自己可能不知道应该从哪里查起。因此,作者提出一种分工:重要代码由人来写,人工智能负责做计划、整理笔记、记录查找结果,以及处理容易检查的重复小事。
这篇文章后来被提交到Hacker News(技术新闻讨论网站),获得66分和103条评论。对应的讨论页说明它受到了社区关注。这个数字只表示有多少人注意到它,不表示文章一定正确。
背景
文章讨论的不是要不要彻底不用人工智能,而是人工智能应该放在工作中的什么位置。作者喜欢写Haskell,也担心如果把写代码的主要过程交给工具,自己会逐渐失去对程序的掌握。他建议人工智能帮助处理程序周围的工作,而不是取代人的主要思考和书写。
比如,人工智能可以把一大段讨论整理成任务清单,也可以记录调查结果。但作者提醒,不能把它找到的内容直接当成事实。人应该同时自己查找,并且理解重要决定为什么这样做。对复杂设计,作者更倾向于让人先想清楚,再让工具完成低风险的部分。
为什么重要
通常,人们把人工智能写代码看成速度问题。作者把问题换了一个角度:软件不只是最后能不能运行,还关系到谁理解它,谁能修改它,谁对结果负责。
作者还建议设置自动检查流程。人工智能写出的代码和计划,应该先经过另一个检查步骤,再交给人接受。这样做不能保证没有错误,但能让明显的问题更早出现。作者也建议把任务清单和有用资料保存在人工智能工具之外。这样,即使工具达到使用上限或暂时不能用,人仍然有事情可以继续做。
已确认的内容
原文明确提出了几条做法:继续亲手写重要代码;把计划、整理和低风险的小改动交给人工智能;调查时自己同步核对;不要让人工智能独自决定关键问题;在使用生成结果前加入检查。
作者说,这种方式让自己的工作效率提高了,可能快了大约一倍。但这只是个人估计,不是独立测量,也没有和另一种工作方式进行公平比较。文章能证明的是作者这样主张,并且认为自己从中受益,不能证明这种方法对所有人都有效。
还不知道什么
我们不知道这种分工是否适合其他编程语言、公司和团队。文章没有给出错误数量、完成时间或长期维护结果,也没有测量自动检查到底能减少多少问题。不同的人喜欢写代码的部分不同,能交给人工智能的工作也可能不同。
文章还没有回答一个实际问题:重要代码应该由人写到什么程度?如果一项工作既不危险,又很容易检查,人工智能可以帮多少?这需要每个团队根据自己的程序和责任来决定。
接下来要看什么
以后观察人工智能编程时,不能只看它写了多少行代码。更重要的是,人能不能解释这些代码,能不能测试它,出了问题能不能自己修好。团队也需要考虑人工智能暂时不能使用时如何继续工作,以及重要的设计决定和责任是否仍然清楚地留在人手中。
这篇个人文章的价值,不在于给出唯一答案,而在于提醒人们:人工智能可以减少讨厌的重复工作,但保留一部分亲手编程,可能有助于保留理解、练习和乐趣。
怎样用人工智能,又不丢掉写代码的乐趣
📰 完整报道: 别把代码全交给人工智能:一位哈斯克尔开发者想保留编程乐趣
一位哈斯克尔开发者建议,让人工智能帮忙,但不要让它包办全部工作。
Haskell(哈斯克尔)
一种写电脑程序的语言。
Hacker News(黑客新闻)
人们分享技术消息的网站。
人工智能
能帮人做一些工作的电脑系统。
💡 一句话总结
- 不要把全部代码交给人工智能。
- 重要部分由人自己写。
- 计划和重复小事可以让人工智能帮忙。
9月18日,用户turion在Haskell社区论坛发表了一篇文章。Haskell是一种编程语言。作者很喜欢亲手写它。
作者担心,如果人工智能写完所有代码,人会越来越少练习。人工智能写出的文件,也可能和人的想法不一样。这样一来,文件出了问题,人可能更难找到原因。
所以,作者提出分工。人来写重要的代码。人工智能可以整理笔记,制作任务清单,记录查找结果。它也可以处理重复的小改动。可是,重要的决定仍然应该由人来做。
作者还建议,查资料时不要只听人工智能的话。人要自己再看一遍资料。人工智能写出的代码和计划,也可以先经过自动检查。这样不能保证完全没有错误,但能早点发现一些问题。
如果人工智能达到使用上限,工作可能会停下来。因此,作者建议把任务清单放在工具之外。这样,工具不能用时,人仍然知道下一步要做什么。
这篇文章也登上了Hacker News(技术新闻讨论网站)。它有66分和103条评论。这些数字只表示它受到了多少关注,不表示它一定正确。
作者说,这种方法让自己工作得更快,可能快了一倍左右。但这只是一位作者的体会。还不能说明所有人都会得到同样的结果。真正重要的是,人能不能读懂、测试和修改人工智能写出的代码。
💬 怎样和大语言模型一起继续喜欢编程?
有人觉得模型能减少无聊工作,也有人担心它会带来人们看不懂的代码。关键是人还要检查什么、决定什么。
- 有用户说,他们让模型查看数据和日志、制作图表、写测试、阅读大型代码库;这样可能有更多时间做设计。但这些只是个人经历,不是保证。
- 有些人只把模型当作更强的搜索工具,不让它改自己的代码。也有人只把不喜欢的杂事交给模型,喜欢的部分自己写。
- 支持者喜欢把时间用在架构、接口和产品想法上,而不是样板代码和查资料。
- 批评者说,模型不像编译器。编译器按明确规则工作,模型可能每次给出不同答案,所以必须认真检查。
- 有用户担心,如果有人提交自己不懂的大量模型代码,就可能做错方向,还会留下越来越多的补丁,让之后的检查更困难。
这是评论数为194时的初期(修订2)。获取100条,并从整体抽取100条总结。内容属于HN用户自述,并非编辑部核实的事实。
人工智能帮一点,人来写重要的部分
📰 完整报道: 别把代码全交给人工智能:一位哈斯克尔开发者想保留编程乐趣
一个喜欢写电脑命令的人,想让人工智能帮忙,但不想把全部工作交出去。
AI(艾)
会帮人做一些工作的电脑系统。
Haskell(哈斯克尔)
一种写电脑命令的语言。
Hacker News(黑客新闻)
人们分享技术故事的地方。
有一个人喜欢写电脑命令。
Haskell(写电脑命令的一种语言)就是他使用的语言。
他也想用AI(会帮忙的电脑系统)。
AI可以帮他列小清单。
AI可以帮他整理纸上的字。
AI也可以做重复的小事情。
但是,重要的命令由人自己写。
这样,人更知道电脑在做什么。
人也能继续练习写命令。
AI写出的东西,要先让人看一看。
这样可以找出一些错误。
人还要留下一张要做的清单。
如果AI暂时不能用,清单还在。
这个故事也到了Hacker News(分享技术故事的地方)。
那里有66分和103条留言。
这些数字只说明有人注意到它。
它们不说明这个想法一定正确。
现在还不知道这个办法是否适合每个人。
💬 大语言模型和编程
大语言模型可以帮忙写电脑指令,但人还是要检查。
- 使用者说,人们可以让它做无聊的事,比如写测试或读很多文件。
- 好玩的部分可以自己写,不好玩的杂事可以让它帮忙。
- 使用者提醒,模型会犯错,所以人要读一读、试一试。
- 有人喜欢用模型帮忙,也有人喜欢自己写完全部代码。
这是评论数为194时的初期(修订2)。获取100条,并从整体抽取100条总结。内容属于HN用户自述,并非编辑部核实的事实。
💬 在大语言模型时代,怎样继续享受编程
Hacker News 的讨论分成两边:一边认为大语言模型能减少烦琐工作,让人专注设计;另一边担心它会制造没人真正理解的代码。共同主题是:哪些工作交给模型,以及谁承担最终责任。
这是评论数为194时的初期(修订2)。获取100条,并从整体抽取100条总结。内容属于HN用户自述,并非编辑部核实的事实。