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

作者通过实验发现,虽然LLMs如ChatGPT能提高编程效率,但在处理复杂代码时,它们往往增加而非减少复杂性,与缺乏经验的开发者相似。文章强调了退一步思考和重构的重要性,指出LLMs在解决问题时的局限性。
摘要由CSDN通过智能技术生成

3e482aabaf98dd9926f2dd4623049018.gif

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

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

作者 | Koen van Gilst 

责编 | 张红月

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

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

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

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

2c5ebddb262d63ac00c1621a1b5eac1c.jpeg

6fc1f3ef427fe5260fa89cb782eb670f.png

“Hello, world!”

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

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

2ec3855b329b1ea6d6426c4186c4f3b2.png

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

d19f93700ad6913996e44bcdde938f7e.png

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

e7a178b2d54782112f43778570465f9f.png

接下来是资深工程师:

c33ac219fa7d14ecfd43d6ba1c0aaefd.png

然后是首席资深工程师:

7344e88750101c9f97817f8cc9fea1b8.png

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

367439e1d72a0d9fa7604534e5777201.png

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

c8f1980f91682602b4ab9e8cf9f9832f.png

学会“退一步”

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

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

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

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

c6a922e26f633a3b7f6cd8723c396d78.png

7ac1b9e0973f6c3714b5f986ea3bdb76.png

结论

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

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

推荐阅读:

▶63 岁苹果老将,被曝每周工作 80 小时:内部称他为“迷你版”乔布斯

▶拥有 17 年经验的硕士码农,到了 43 岁连面试机会都没有……

▶做开源 4 年,Volar 作者被“钱”拖垮:无奈发起收费计划,竟遭恶意抨击

45e2a742a9701a2fa3e3842f58dad969.gif

4 月 25 - 26 日,由 CSDN 和高端 IT 咨询和教育平台 Boolan 联合主办的「全球机器学习技术大会」将在上海环球港凯悦酒店举行,特邀近 50 位技术领袖和行业应用专家,与 1000+ 来自电商、金融、汽车、智能制造、通信、工业互联网、医疗、教育等众多行业的精英参会听众,共同探讨人工智能领域的前沿发展和行业最佳实践。

26800131fb191596802bfde4d89e7b5d.png

  • 49
    点赞
  • 196
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值