> 自媒体 > (AI)人工智能 > “两周时间,我体验了 GPT-4 从编程‘神器’变成编程‘智障’!”
“两周时间,我体验了 GPT-4 从编程‘神器’变成编程‘智障’!”
来源:CSDN
2023-06-03 22:28:57
382
管理
GPT-4 的出现,令许多程序员直呼“解放双手”,但随着功能需求的逐渐增多,它的编码能力似乎没那么强了。

原文

链接:https://klaviyo.tech/gpt-4-from-strong-pair-coder-to-annoying-pair-coder-6e2d202d8bc0

未经授权,禁止转载!

作者 | Eric Silberstein

译者 | 弯月 责编 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

两周前,我让 GPT-4 从头编写一款应用程序。由于这段经历感觉良好,当时我认为 GPT-4 是非常强大的编程伙伴。然而,上周末我让 GPT-4 扩展这款应用程序,却有了完全不同的体验。

因此,我想通过本文记录整个过程,并分享一些心得和技巧。

我的这款应用程序主要是为了帮助用户学习音程:

▶ 如想尝试这款应用,可前往:https://ericsilberstein.github.io/gpt4-interval-trainer/interval-trainer.html

▶ 如想查看源代码,可前往:https://github.com/ericsilberstein/gpt4-interval-trainer

我询问了 GPT-4 关于如何扩展这款应用程序的想法。

看到了吗?有经验的人应该一眼就能看出这段代码中存在两个问题:

▶ 首先,它想让我在 中添加元素,但 HTML 中并没有这个 div。

▶ 其次,它想让我更新函数 handleIntervalButtonClick,但实际上这个函数也不存在。

无效技巧 2:提醒代码

后来,我尝试了不同的技巧,“提醒”它一些代码。

可是这并没有用。而且很奇怪的是,它似乎知道代码前后要保持一致,但并没有理解我希望它完成的功能(添加计时功能)。

无效技巧 3:要求它倒退一步

来回折腾了很多遍,它仍未能生成可以运行的代码,这感觉就好像我在带实习生一样,最后我只好要求它倒退一步。

无效技巧 4:开启一个新的聊天会话

接下来,我尝试开了一个新的聊天会话。因为我认为,当前的这段聊天太长了,涉及太多上下文,如果它能专注于需求和当前代码,也许就可以解决问题。

我使用了与两周前一模一样的提示,但额外提供了功能、需求和源代码文件。

无效技巧 5:要求它加倍小心

我要求它加倍小心,集中注意力解决它生成的代码中的一个问题:start 调用 startTimer,startTimer 调用 start,但依然没有用。

无效技巧 6:人为介入,重构代码

在我看来,GPT-4 似乎不“理解” start 函数。按照最初它编写代码的方式,start 将在用户开始练习以及用户点击“下一个音程”时调用——但它在告诉我如何添加计时功能时,却假设 start 只会被调用一次。如果人类程序员不仔细阅读代码,可能也会做出这样的假设。

所以,我尝试手动重构,可能起一个更好的名字,它就会明白了。

我将 start 分解成了两个函数:start 和一个新函数 nextInterval。GPT-4 似乎很“喜欢”这个名字,因为在之前的反复中它就调用了这个函数。为了尽可能避免混淆,我开启了一个新的聊天会话,并提供了需求和新代码。

但依然没有任何效果。我反复尝试了几次,它甚至生成了一个新版本,却莫名地将 JavaScript 移到了 HTML 中。

我放弃了:如果对方是一个人类,我会认为这个人头脑不清醒、粗心大意、心不在焉、能力不足,或者四者兼而有之!

初次建立这个项目时,我与 GPT-4 的交互体验与现在截然不同。是不是因为该模型可以“思考”的代码量很有限,而我已经触及上限了?不过至少对人类而言,计时功能与添加其他功能(示例歌曲、统计数据)一样简单,甚至更简单,所以我感觉应该是代码量的问题。

有用的技巧:要求它给函数写文档

经过这件事后,我经常在想:如果代码中的函数非常清晰且文档齐全,GPT-4 是否能胜任更高级别的抽象工作,而不需要“思考”每个函数的代码?如果有明确的文档说明,它是不是就不会在意那么多细节了?因为人类就是这样,我们大脑能够承受的复杂度是有限的,我们也是通过这种方式构建大型系统的。

于是,我做了一些测试,要求它为代码生成文档。

它给了我如下带有文档说明的函数:

我将这些函数的文档复制到了源文件中,并在新的聊天中重复了之前的操作,不过 ChatGPT 抱怨我的请求太长,所以我删除了 CSS 文件。

这次它终于成功地生成了代码!虽然用户界面需要完善,但基本要素齐全:你可以选择是否启用计时模式,你可以指定秒数,它会显示一个倒计时,还会在倒计时结束时强制停止练习,并告诉你一共答对了多少道题。

最后一次,ChatGPT 终于生成了可以正常运行的代码,但原因是什么呢?是因为文档,还是因为没有了 CSS,它需要处理的代码量减少了?为了弄清楚,我进行了一些实验,最后发现似乎仅删除 CSS 是不够的。

我们需要反复尝试,才能学会如何与这个外星人(ChatGPT)一起工作。我想知道其他人是否也遇到过这类问题,以及它们如何打破这些限制的。

0
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
关于作者
呼唤(普通会员)
文章
389
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40329 企业收录2981 印章生成186746 电子证书796 电子名片49 自媒体20815

@2022 All Rights Reserved 浙ICP备19035174号-7
0
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索