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

作者通过实验发现,虽然LLMs如ChatGPT能提高编程效率,但它们往往在处理复杂代码时会使其变得更复杂,缺乏像资深开发者那样理解和创新的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bd5ab1c50753ef689684410a3053af38.gif

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

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

作者 | Koen van Gilst 

翻译 | 郑丽媛

出品 | 程序人生(ID:coder_life)

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

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

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

e377f6be7d897a8f36e47084fb6446b7.jpeg

01d1246ff6611d69bfef1ae91bffbc39.png

“Hello, world!”

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

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

fb23e70854db9e1ca313da4a52180f72.png

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

05d32deeae3feec2277c4c5909a3aa66.png

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

feaeff72314fea71eeda6a516db10d69.png

接下来是资深工程师:

1e43596cd03704e2f4769640add2e9eb.png

然后是首席资深工程师:

88ca4b4f90804ea6ce8cd47327497340.png

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

252e6e93aa14469ed5c12eaf47448df5.png

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

c2e4afb70563442fb8765c08c06c4912.png

学会“退一步”

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

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

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

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

6c1993f4ef693dfbf3d5b8d466c31dfc.png

5a6c4e21572471cabb3c508b0731ac5e.png

结论

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

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

推荐阅读:

▶神秘大模型火速“刷屏”,网友竞猜GPT-4.5要来了,奥特曼神秘莫测地只说了一句话!

▶苹果Vision Pro是一款“过度设计的开发套件”,Meta Oculus前负责人退货后发了万字长文总结!

▶第一行代码 Hello World 的背后?开发者:“一言难尽……”

7448c083bb62b82569f54463d891e722.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CSDN资讯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值