0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我体验了GPT-4从编程‘神器’变成编程‘智障’!

vliwulianw 来源:CSDN 2023-05-06 10:10 次阅读

两周前,我让 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 关于如何扩展这款应用程序的想法。

f2ff8a18-eb7b-11ed-90ce-dac502259ad0.png

我提问:接下来,我们应该添加哪些功能?

GPT-4 回答:

下面是你可以考虑添加到音程听力训练应用功能的一些想法:

1. 自定义音程范围:允许用户选择练习的音程,而不只是练习八度以下的所有音程。

2. 上行、下行以及和声音程:添加分别练习上行、下行以及和声音程或混合模式的选项。

3. 旋律练习:添加生成具有多个音程的短旋律练习功能,供用户辨别。

4. 和弦识别:扩展应用,添加和弦识别练习,允许用户练习通过听力判断和弦。

5. 一段时间内的进度跟踪:实现一个功能,允许用户保存自己的进度,并记录一段时间内的进步程度。

6. 计时练习:添加计时模式,允许用户挑战在规定时间内识别尽可能多的音程。

7. 排行榜和社交功能:创建一个排行榜,鼓励用户之间的友好比拼,允许他们在社交媒体上分享进度。

8. 自定义音频设置:允许用户选择不同乐器或音频播放的声音设置。

9. 移动应用:开发移动应用,方便用户随时随地练习听力。

10. 集成音乐理论课程:提供额外的教学内容,或集成已有的音乐理论课程,帮助用户更好地理解音程的理论知识。

以上是可以考虑的一些想法。你可以根据该应用的规划随意选择,另外你也可以大胆地提出能够改善用户体验和功能的其他意见。

这些想法都很不错。最终我选择采纳第 6 条建议。

f30bc71a-eb7b-11ed-90ce-dac502259ad0.png

我提问:我们来试试看第 6 个吧,你可以添加这个功能吗?

GPT-4 回答:

当然可以。下面,我们为你的音程听力训练应用添加计时功能。添加这个功能后,用户就可以在规定时间内识别尽可能多的音程。下面,我将提供实现这个功能的代码片段。

首先,更新 HTML,添加计时控制:

f3454648-eb7b-11ed-90ce-dac502259ad0.png

接下来,更新 JavaScript,处理计时逻辑:

f3651e32-eb7b-11ed-90ce-dac502259ad0.png

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

首先,它想让我在

中添加元素,但 HTML 中并没有这个 div。

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

无效技巧 1:阐明需求

这不是什么大问题,我之前也遇到过类似的问题,只需要进一步阐明需求。

然而,与之前不同的是,仅仅阐明需求还不够。GPT-4 像一个糟糕的工程师,没有搞清楚整体状况,就根据我的反馈做出了反应,更可怕的是,它还开始随意修改一些不需要改动的代码。

下面举个例子。我指出了一个问题,它开始尝试解决,但它的 handleIntervalButtonClick() 引用了一个不存在的变量(isAnswering)和一个不存在的函数(playRandomInterval):

f3869350-eb7b-11ed-90ce-dac502259ad0.png

无效技巧 2:提醒代码

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

f392fe4c-eb7b-11ed-90ce-dac502259ad0.png

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

f3a31278-eb7b-11ed-90ce-dac502259ad0.png

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

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

f3bbd68c-eb7b-11ed-90ce-dac502259ad0.png

这次终于可以了。给出的反馈是正确的,前面对话中澄清的问题也得到了解决。然后,我再次提醒它一些代码,希望它能正确理解需求,并编写出正确的代码。

f3ce25da-eb7b-11ed-90ce-dac502259ad0.png

可惜失败了,它生成的代码和前面一样都是错的。

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

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

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

f3dde40c-eb7b-11ed-90ce-dac502259ad0.png

不过,情况似乎并没有改善。我反复尝试了很多遍,始终没能得到可以正常运行的代码。

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

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

f3fdc9a2-eb7b-11ed-90ce-dac502259ad0.png

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

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

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

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

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

f42109b2-eb7b-11ed-90ce-dac502259ad0.png

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

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

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

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

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

f43004c6-eb7b-11ed-90ce-dac502259ad0.png

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

f43a13d0-eb7b-11ed-90ce-dac502259ad0.png

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

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

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

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

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTML
    +关注

    关注

    0

    文章

    273

    浏览量

    29296
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66809
  • 应用程序
    +关注

    关注

    37

    文章

    3136

    浏览量

    56405
  • GPT
    GPT
    +关注

    关注

    0

    文章

    302

    浏览量

    14870

原文标题:两周时间,我体验了 GPT-4 从编程‘神器’变成编程‘智障’!

文章出处:【微信号:软件质量报道,微信公众号:软件质量报道】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GPT-4发布!多领域超越“人类水平”,专家:国内落后2-3年

    电子发烧友网报道(文/吴子鹏)北京时间3月15日凌晨,人工智能研究公司OpenAI正式发布了其下一代大型语言模型GPT-4。目前,ChatGPT的Plus订阅用户已经可以使用GPT-4,其他用户需要
    的头像 发表于 03-16 01:58 4083次阅读
    <b class='flag-5'>GPT-4</b>发布!多领域超越“人类水平”,专家:国内落后2-3年

    ChatGPT升级 OpenAI史上最强大模型GPT-4发布

    ChatGPT升级 史上最强大模型GPT-4发布 OpenAI正式推出了ChatGPT升级版本,号称史上最强大模型GPT-4发布。OpenAI期待GPT-4成为一个更有价值的AI工具。 GPT
    的头像 发表于 03-15 18:15 2422次阅读

    Open AI团队发推正式宣布:GPT-4来了!

    对于 GPT-4 的实际能力,团队也给大家提前打了一针强心剂,即便 GPT-4 在许多现实世界场景中能力不如人类,但在各种专业和学术基准上的表现,还是超过了人类的平均水平。
    的头像 发表于 03-16 11:10 1698次阅读

    关于GPT-4的产品化狂想

    GPT-4是条件,而不是结果
    的头像 发表于 03-26 10:48 2596次阅读
    关于<b class='flag-5'>GPT-4</b>的产品化狂想

    GPT-4是这样搞电机的

    GPT-4写电机基础程序没问题
    的头像 发表于 04-17 09:41 675次阅读
    <b class='flag-5'>GPT-4</b>是这样搞电机的

    GPT-4 的模型结构和训练方法

    GPT-4 的发布报道上,GPT-4 的多模态能力让人印象深刻,它可以理解图片内容给出图片描述,甚至能在图片内容的基础上理解其中的隐喻或推断下一时刻的发展。
    的头像 发表于 05-22 15:21 2012次阅读
    <b class='flag-5'>GPT-4</b> 的模型结构和训练方法

    GPT-4处于一个什么样的编码地位

    Greg Brockman 演示了 GPT-4 将一张手绘草稿架构图变成一个现实可滑动的网站;同时,它也能帮助我们直接生成代码,甚至当我们把代码运行报错的界面截一个图发给 GPT-4 时,它就能给出相应的解决
    的头像 发表于 06-16 10:42 441次阅读
    <b class='flag-5'>GPT-4</b>处于一个什么样的编码地位

    GPT-4已经会自己设计芯片了吗?

      GPT-4已经会自己设计芯片了!芯片设计行业的一个老大难问题HDL,已经被GPT-4顺利解决。并且,它设计的130nm芯片,已经成功流片。 GPT-4,已经可以帮人类造芯片了! 只用简单的英语
    的头像 发表于 06-20 11:51 610次阅读
    <b class='flag-5'>GPT-4</b>已经会自己设计芯片了吗?

    OpenAI宣布GPT-4 API全面开放使用!

    OpenAI 在博客文章中写道:“自 3 月份以来,数百万开发者请求访问 GPT-4 API,并且利用 GPT-4 的创新产品范围每天都在增长。” “我们设想基于对话的模型未来可以支持任何用例。”
    的头像 发表于 07-12 14:55 882次阅读

    gpt-4怎么用 英特尔Gaudi2加速卡GPT-4详细参数

    介绍GPT-4 详细参数及英特尔发布 Gaudi2 加速器相关内容,对大模型及 GPU 生态进行探讨和展望。英特尔发布高性价比Gaudi2加速卡GPT4详细参数分析。
    发表于 07-21 10:50 627次阅读
    <b class='flag-5'>gpt-4</b>怎么用 英特尔Gaudi2加速卡<b class='flag-5'>GPT-4</b>详细参数

    GPT-4没有推理能力吗?

    今年三月,OpenAI 重磅发布了 GPT-4 大模型,带来了比 ChatGPT 背后 GPT-3.5 更强的推理、计算、逻辑能力,也引发了全民使用的热潮。在各行各领域研究人员、开发者、设计师的使用过程中,「GPT-4 是最为领
    的头像 发表于 08-11 14:20 673次阅读
    <b class='flag-5'>GPT-4</b>没有推理能力吗?

    谷歌Gemini被曝算力达GPT-4五倍,手握TPU王牌碾压OpenAI

    根据Patel和Nishball的说法,此前屡屡被爆料将成为GPT-4大杀器的谷歌Gemini,已经开始在新的TPUv5 Pod上进行训练了,算力高达~1e26 FLOPS,比训练GPT-4的算力还要大5倍。如今,凭借着TPUv5,谷歌已经成为了算力王者。
    的头像 发表于 09-04 16:02 590次阅读
    谷歌Gemini被曝算力达<b class='flag-5'>GPT-4</b>五倍,手握TPU王牌碾压OpenAI

    新火种AI|谷歌深夜发布复仇神器Gemini,原生多模态碾压GPT-4

    谷歌背水一战,发布Gemini,狙击GPT-4
    的头像 发表于 12-08 09:09 769次阅读
    新火种AI|谷歌深夜发布复仇<b class='flag-5'>神器</b>Gemini,原生多模态碾压<b class='flag-5'>GPT-4</b>?

    ChatGPT plus有什么功能?OpenAI 发布 GPT-4 Turbo 目前我们所知道的功能

    OpenAI 发布 GPT-4 Turbo 目前我们所知道的功能分析解答 在最近的OpenAI DevDay上,该组织发布了一项备受期待的公告:推出GPT-4 Turbo,这是对其突破性AI模型
    的头像 发表于 12-13 09:19 606次阅读
    ChatGPT plus有什么功能?OpenAI 发布 <b class='flag-5'>GPT-4</b> Turbo 目前我们所知道的功能

    微软Copilot全面更新为OpenAI的GPT-4 Turbo模型

    起初,Copilot作为Bing Chat AI助手推出,初期采用GPT-3.5模型,随后升级至GPT-4取得显著进步,如今再次更新至性能卓越的GPT-4 Turbo模型,这无疑将使得Copilot功能再上新台阶。
    的头像 发表于 03-13 13:42 252次阅读