Bendi新闻
>
用 ChatGPT 写 “Hello, world!”,首席资深工程师要写 40+ 行代码?

用 ChatGPT 写 “Hello, world!”,首席资深工程师要写 40+ 行代码?

4月前

作者 | Koen van Gilst   翻译 | 郑丽媛  出品 | 程序人生(ID:coder_life)

让 ChatGPT、Gemini 等大模型辅助代码编写已是多数程序员的日常,但本文作者提出一个观点:LLMs 和缺乏经验的开发人员一样,面对复杂代码往往只会再度增加复杂性。

原文链接:https://hachyderm.io/@vnglst/112135583244850791


尽管 Github CoPilot、ChatGPT 等许多大型语言模型(LLM)大大提高了我作为开发人员的效率,但我也亲身体验到了它们的局限性。为此,我想出了下面这个实验。

就像人类的许多活动一样,当小组开始工作时,本应轻松简单的任务往往会变得困难复杂。如果不积极抵制,你就会发现自己所处的系统和组织几乎不可能完成任何事情。

通过下面的实验,我想要探索 LLMs 的兴起是加剧还是缓解了这种复杂性。


“Hello, world!”


我们从一个简单的任务开始:让计算机显示“Hello, world!”。

我问 ChatGPT:作为一名初级开发人员,我要怎么用 TypeScript 输出“Hello, world!”?ChatGPT 给出的答案简短且正确:

初级开发人员往往不了解编写代码的复杂性,所以我又问 ChatGPT 能否像中级开发人员那样重构代码:

为了增加复杂性,我又问 ChatGPT 能否从高级开发人员的角度重构代码,于是生成了如下代码:

接下来是资深工程师:

然后是首席资深工程师:

经过以上几次迭代,我逐步提升了开发人员的资历水平,从初级工程师到高级工程师,最后到一家大型公司的首席资深工程师:

进行到这一步,仅用来显然“Hello, world!”的代码已经过于复杂了,但对于在大公司工作过的人来说并非不切实际。


学会“退一步”


在开发生涯中,我认识到了退一步的重要性,即首先了解程序、函数或类的目标,然后设想如何从头开始构建它。当一个程序看起来过于复杂时,这种策略尤其有用。如果发现问题比最初想象的还要复杂(可能是由于缺乏经验),这种方法也有助于理解复杂性背后的原因。

在我早期的工作中,我曾一丝不苟地遵循现有代码,认为别人对当前问题有更深刻的理解,只是我还没有掌握全局。但后来我了解到,简单地“顺其自然”,试图让复杂的程序发挥作用,并不是增强软件的最佳方式,往往还会导致代码进一步复杂化。

LLMs 似乎缺乏这种本能,它们倾向于维持现状,尽可能保持现有代码不变,却导致复杂的程序变得更加错综复杂。

为此,作为本次实验的最后一项,我要求 ChatGPT“退一步”,评估代码的目标,提出更好的解决方案。这一尝试起初并不成功,因为 ChatGPT 一直在调整现有程序并保留“现有架构”,只有当我提示它从头开始设想时,它才提出了一个新的解决方案,如下所示:


结论


从我使用 LLMs 的经历中,我发现它们倾向于在已经很复杂的程序上再叠加几层复杂性,而不是退一步考虑创新的解决方案——这表明,LLMs 解决问题的方法和创造力存在局限性。因此在我看来,LLMs 和缺乏经验的开发人员一样,往往会通过增加复杂性来“拥抱”复杂代码。

当然,以上内容均来自于我对于 ChatGPT 的使用经验,可能会以偏概全,没有全面了解 LLMs 的功能。另外,我还在 Claude 和 Gemini 上进行了类似实验,它们也更倾向于生成复杂的代码,并将其进行扩展,而不建议使用更简单的版本。

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:2636170

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

来源:Linux就该这么学

相关新闻

这款中国程序员开源的游戏引擎,让你用不到100行代码就写出“愤怒的小鸟”一国有大行总行降薪10%?二线城市客户经理称“今年降了不止10%”,银行资深HR:大势所趋还在担心留美路上一个不慎“身份失效”?资深导师“避坑”直播,为你的留美之路保驾护航!裁员靠随机?谷歌资深工程师爆大料,员工准备抗议示威澳洲近一半技术移民被“大材小用”?!连工程师都去开Uber了...问:建筑师转行的“蓝海赛道”?名校毕业的年轻建筑师们,“入行就转行”后怎么样了?新西兰“有史以来最好的工作”招人了!炸鸡品鉴师、“首席搞事官”、社交“喵”体达人…了解一下?「非科班出身」转行心理咨询师,如何最快积累100+小时实习经验?丨最后5人二代做网红“子承父债”?老爸斥巨资养鸽子,花40亿“豪赌”并购Rust 生态纯属炒作?3 年写了 10 万行代码的开发者吐槽:当初用 Rust 是被忽悠了谷歌华人女工程师被老公“一拳拳打死”,到底怎么识别变态渣男啊?深访行云季宇,“新中式”英伟达,要怎样炼成?|3万字《中国力量》播客Vol .1AI也造代码屎山!研究发现GitHub Copilot代码可维护性差,偏爱“无脑重写”而非重构复用已有代码微软前工程师:“ Windows 11 直到现在还在用我 30 年前开发的 ‘ 临时 ’ UI!”一个也别想走!总工程师被抓,打了科兴疫苗谁也别想“庆幸”了?“李娜”何以设陷成功?从邀请函到接机,有三点不寻常……资深外贸人士:很多同行取消行程,怕类似套路被模仿资深游戏策划分析:爆卖1200万套的“地狱老司机2”好在哪?实名举报“混凝土用手一抓就碎掉,只处理了20米”!山西省国道241新建工程存重大隐患?官方回应凯特王妃曾递小纸条写“救命”?英国网友挖出她最后亮相前隐秘线索,细思恐极…...缔造“神话”?深国交连续18年蝉联牛剑预录取全国第一!人到中年,成功转行机器学习工程师?国外小哥狂刷吴恩达LeCun,教你18个月转行不是,我就好奇,为啥 AI 公司都要用「星星」符号?谁在用“问题食油”?
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。