您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

ChatGPT无法胜任的五种编程任务

发表于:2024-01-23 作者:布加迪 来源:51CTO技术栈

作者丨Nate Rosidi

译者 | 布加迪

审校 | 重楼

出品 | 51CTO技术栈(微信号:blog51cto)

我喜欢把ChatGPT看作是StackOverflow的智能版,它大有帮助,但短期内不会取代专业人士。作为一名前数据科学家,ChatGPT问世后,我花了大量时间来试用它。其编程能力确实给我留下了深刻的印象。它可以从零开始生成非常有用的代码,可以为我自己的代码提供建议。如果我要求它帮助我处理错误消息,它在调试方面也做得非常好。

但不可避免的是,我使用它的时间越长,遇到局限性的可能性越大。下面为任何担心ChatGPT抢走饭碗的开发人员列出了ChatGPT无法胜任的工作。

图片

1、贵公司要求符合职业规范的任何任务

第一个局限性不是其功能,而是合法性。任何纯粹由ChatGPT生成并复制粘贴到公司产品中的代码都可能使雇主面临诉讼。

这是由于ChatGPT随意地从训练它的数据中提取代码片段,这些数据来自整个互联网。Reddit用户ChunkyHabaneroSalsa解释道:“我让ChatGPT为我生成一些代码,立马就看出它从GitHub代码仓库提取了一大段代码。”

最终,无法知道ChatGPT的代码来自哪里,也不知道它采用什么许可证。即使是完全从零开始生成的,ChatGPT创建的任何内容本身都不受版权保护。正如彭博法律网站撰稿人Shawn Helms和Jason Krieser所说,“衍生作品是基于一个或多个已有作品的作品。ChatGPT是使用已有作品训练的,并基于该训练生成输出。”

如果您使用ChatGPT生成代码,可能会发现自己在给雇主添麻烦。

2、任何需要批判性思维的任务

这里有个有趣的测试:让ChatGPT使用Python创建运行统计分析的代码。

它是正确的统计分析吗?可能不是。ChatGPT不知道数据是否满足测试结果有效所需要的假设。ChatGPT也不知道利益相关者想看到什么。

比如说,我可能让ChatGPT帮我弄清楚不同年龄组的满意度评分在统计上是否有显著差异。ChatGPT建议进行独立样本T测试,发现年龄组之间没有统计上的显著差异。但T测试在这里不是最好的选择,这有几个原因,比如可能有多个年龄组,或者数据不是常态分布。

图片

全栈数据科学家知道要核对哪些假设、运行哪种测试,可以为ChatGPT提供更具体的指令。但ChatGPT本身很容易为错误的统计分析生成正确的代码,从而使结果变得不可靠和不可用。

对于任何需要更多批判性思维和解决问题的问题,ChatGPT并不是最好的选择。

3、了解利益相关者的优先事项

任何数据科学家都会告诉您,工作的一部分是理解和解释项目中利益相关者的优先事项。ChatGPT或任何人工智能都无法完全掌握或管理这些优先事项。

举例说,利益相关者的优先事项常常涉及复杂的决策,不仅要考虑数据,还要考虑人为因素、业务目标和市场趋势。

不妨以应用程序重新设计为例,您可能发现营销团队想要优先考虑用户粘性功能,销售团队竭力要求支持交叉销售的功能,而客户支持团队需要更好的应用内支持功能来帮助用户。

ChatGPT可以提供信息并生成报告,但是它无法做出与不同利益相关者的不同(有时是相互竞争的)兴趣或爱好相一致的复杂决定。

此外,利益相关者管理常常需要很高的情商,即能够对利益相关者抱有同理心,从人性化的角度理解其关注点,并对他们的情绪做出反应。ChatGPT缺乏情商,无法管理利益相关者关系的情感方面。

您可能不认为这是编程任务,但目前正在为这项新功能开发代码的数据科学家知道,其中有多少与利益相关者的优先事项有关。

4、新颖的问题

ChatGPT无法提出任何真正新颖的见解。它只能将从训练数据中学到的内容重新混合、重新表述。

想知道如何改变R图上的图例大小吗?没问题。ChatGPT可以从StackOverflow上千个回答同一个问题的答案中提取内容。但是如果遇到以前不太可能遇到的情况,该如何是好?比如组织一次社区聚餐,每个人做的菜所含的配料必须以与他们姓氏相同的字母开头,以便确保菜品丰富。

当我测试这个提示时,它给了我一些Python代码,这些代码认定菜肴的名称必须与姓氏匹配,甚至没有正确获取配料要求。它还想让我想出26类菜肴,每个英文字母一类。这不是一个聪明的答案,可能由于这是全新的问题。

5、道德决策

最后但并非最不重要的一点是,ChatGPT不能合乎道德地编码。它不具备像人类那样做出价值判断或理解一段代码的道德含义的能力。

道德编码包括考虑代码如何影响不同的人群,确保没有歧视或造成伤害,做出符合道德标准和社会规范的决策。

比如说,如果您让ChatGPT为贷款审批系统编写代码,它可能会根据历史数据生成一个模型。然而,由于数据偏见,它无法理解该模型可能拒绝向边缘化社区提供贷款的社会影响。这就要求开发人员认识到公平公正的需要,寻找并纠正数据偏见,并确保代码符合道德实践。

值得指出的是,人们在这方面也不是很完美——有人编写了亚马逊有偏见的招聘工具,有人编写了将黑人识别为大猩猩的谷歌照片分类工具。但人类在这方面做得比较好。也就是ChatGPT缺乏道德编码所需的同理心、良知和道德推理。

人类可以理解更广泛的背景,认识到人类行为的微妙之处,并讨论对错。我们参与道德辩论,权衡某种特定方法的利弊,并对我们的决定负责。我们犯错误后,可以从中汲取教训,有助于提供我们的道德规范和理解能力。

6、结语

我喜欢Reddit用户Empty_Experience_10对此的看法:“如果你只做程序,你就不是一名软件工程师;是的,你的工作将被取代。如果你认为软件工程师因会写代码而拿到高薪,那你对怎样才是软件工程师存在根本性的误解。”

我发现ChatGPT在调试和代码审查方面非常出色,比搜索StackOverflow的答案要快一点。但是大量的“编码”不仅仅是敲击键盘输入Python代码,更要知道贵企业的目标是什么,明白你在处理算法决策时需要小心,旨在与利益相关者建立关系,真正了解他们想要什么以及为什么,并寻找一种方法使之成为可能。

关键在于讲故事,知道何时选择饼状图或条形图,了解数据视图告诉你的真相,旨在能够用简单的术语传达复杂的想法,以便利益相关者能够理解这些术语,并做出相应的决策。

ChatGPT做不了这些工作。只要你做得了,工作就有保障。

参考链接:

https://www.kdnuggets.com/5-coding-tasks-chatgpt-cant-do