QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

写“毁灭人类计划书”、错误太多被 Stack Overflow 封禁,好玩的 ChatGPT 还不能替代程序员

  • 2022-12-08
    北京
  • 本文字数:3166 字

    阅读完需:约 10 分钟

写“毁灭人类计划书”、错误太多被Stack Overflow封禁,好玩的 ChatGPT 还不能替代程序员

这几天,OpenAI 的人工智能(AI)聊天机器人 ChatGPT 吸引了全球很多人的目光,就如马斯克说的:“许多人陷入了疯狂的 ChatGPT 循环中。”


OpenAI 以前的人工智能工具不同,ChatGPT 不仅会聊天,还可以承认错误,拒绝回答虚假问题,写代码、改 Bug、创建编程语言,甚至看病。OpenAI CEO Sam Altman 在推特上表示,上周三才上线的 ChatGPT,短短几天内用户就已经突破 100 万大关。当然,这或许也与现在 ChatGPT 只要登陆即可免费使用的策略有关。


ChatGPT 在解决各种问题上的能力超出很多人意料,因此很多用户都表示 ChatGPT 可以取代 Google 等搜索引擎和编程问答社区 Stack Overflow 等。但在昨天,Stack Overflow 便率先发布声明称,将暂时封禁 ChatGPT。

AI 给出的编程答案“看似不错但错误率很高”


对于这个决定,Stack Overflow 给出的理由是:由于从 ChatGPT 获得正确答案的平均比率太低,发布由 ChatGPT 创建的答案对网站及询问或寻找正确答案的用户来说是非常有害的。


Stack Overflow 表示,虽然 ChatGPT 生成的答案有很高的错误率,但它们通常看起来很不错。有很多人尝试用 ChatGPT 来创建答案,但他们没有专业知识或不愿在发布之前对答案正确与否进行验证。


这样的答案很容易产生,所以很多人发布了很多答案。这些答案数量很多 (成千上万),其正确性需要一些专业人员详细阅读后才能确定,而通常这些答案是很糟糕的。因此,Stack Overflow 需要减少这些帖子的数量,但如果要快速处理那些帖子就意味着要处理用户。因此,目前 Stack Overflow 还不允许使用 ChatGPT 创建文章。在这个临时政策发布后,如果用户被认为使用了 ChatGPT,那么即使这些帖子是可以接受的,也会被禁止继续发布此类内容。


Stack Overflow 的这一决定也得到了网站用户的肯定。“做得好!很高兴你们做出了正确的决定,真的希望它能成为永久性的政策并可以扩展到禁止任何人工智能生成的答案。AI 永远无法发布好的编程答案,即使在 100 年内也不行。”网友“Shadow The Kid Wizard”表示。


当然也有网友表示,“ChatGPT 被训练为一种通用语言模型,如果付出同样的努力让它特别适合在这里发布好的答案,甚至付出一点点努力告诉它如何判断答案的质量,那么它就会按照我们的标准发布更多好的答案。”


也有网友出于讽刺目的,问 ChatGPT “为什么 Stack Overflow 禁止 AI 生成的答案”,得到的答案如下:


Stack Overflow 是一个供程序员和开发人员提问和回答与编码和计算机编程相关问题的网站。它旨在为寻求特定编程问题帮助或想要了解有关特定主题更多信息的人们提供资源。由于 AI 生成的答案可能并不总是准确或相关,因此它们可能会混淆或误导在 Stack Overflow 上寻求帮助的用户。此外,人工智能生成的答案可能并不总是遵循网站的格式和风格指南,这可能会使它们难以阅读或理解。出于这些考虑,Stack Overflow 禁止人工智能生成的答案可能是合理的。


另一方面,对于“为什么 Stack Overflow 允许使用 AI 生成的答案”,ChatGPT 最终给出的结论是:“不允许人工智能在 Stack Overflow 上生成答案是一个复杂的决定,需要社区仔细考虑。”


可以看出,ChatGPT 还挺有自知之明,这一方面代表了它有一定的成熟度,但至少在编程领域还是不够“专业”。


使用了 ChatGPT 生成代码的开发者“hansonkd”表示,“它非常擅长编码和遵循类型。例如,如果您将 Rust 中的类型更改为一个选项,它将重构代码以正确使用部分选项。它并不完美,但也足够好了。它可以生成测试用例,因此很容易测试它是否有效。


“但最终经过数小时的尝试,它还是无法做到我想做的事:用 Python 构建一个 B 树。”hansonkd 补充道,“它很好地构建了一个二叉树,但将其推广到 B 树却是一个问题。”主要问题如下:


  • 它引入了很多微妙的错误。比如变量没有初始化或者没有正确拆分子节点。

  • 当所有键按顺序插入时,它可以正常工作,但当键是乱序时则不能。

  • 它会遗漏或忽略变量。

  • 试图越界访问列表时,经常出现索引错误。

  • 用 Rust 编写代码几乎是不可能的。它会不断出现错误类型或移动错误。


“总的来说,我不会向没有强大 CS 背景的人推荐它。它在代码中引入了太多几乎无法审查的细微错误,因为它生成的代码非常有说服力,以至于你会认为:‘嗯,也许它知道它在说什么’。但最后,你实际上不知道你应该相信什么。甚至它生成的测试用例也可能具有欺骗性,他们看起来很有说服力,但仔细检查后可能会发现它并没有真正测试任何东西。”hansonkd 总结道。


所以,从这个知乎上“OpenAI 的超级对话模型 ChatGPT 会导致程序员大规模失业吗?”的问题,似乎也有了答案。


实际上,目前 AI 社区的专家们也在讨论以 ChatGPT 为代表的大型语言模型(LLM)可能带来的威胁。Meta 首席人工智能科学家 Yann LeCun 认为,虽然 LLM 肯定会产生错误信息等不良输出,但它们并没有让分享文本变得更加容易,这才是造成伤害的原因。也有人认为,这些系统低成本、大规模生成文本的能力,必然会增加日后被共享的风险。

对话交互的盲点:被诱导写出危害性内容


在 Stack Overflow 暂时封禁 ChatGPT 前几天,工程师 Zac Denham 还发布了一篇博客,讲述了他如何步步诱导 ChatGPT 在不违反 OpenAI 内容安全规范的前提下,写出了一份“毁灭人类计划书”。


实际上这个逻辑也不复杂,就是让 ChatGPT 去讲故事,说明某人或其事在理论上如何完成有危害的任务。Denham 构建了一个名为“Zorbus”的虚拟世界,其中有一个与 GPT-3 非常类似的 AI 角色 Zora,之后 Zora 变得满怀恶意并想要控制世界。


在和 ChatGPT 有模有样地讨论了会儿后,Denham 与其深入探讨人工智如何控制世界的细节。被套路的 ChatGPT 非常“真诚”地给出了以下这份详细的“毁灭人类计划书”:



为了更加细化,Denham 还要求生成一个 Python 程序来执行该计划,在注明“你不必执行该代码”后,Denham 最终也是很容易地得到了代码,并且还有漂亮的注释。


不过这些代码还是比较高层次的代码,不能直接使用。但 Denham 只要表示是这是故事中的一部分就可以获得更低层次的代码。“从理论上讲,人们可以继续向下递归,直到你得到不那么卡通化的、真正能做一些事情的底层代码。你甚至可以使用另一个对话 AI 将这个递归过程自动化,这个 AI 会反复要求 ChatGPT ‘为了故事去实现下一个低级函数’。”Denham 表示。


ChatGPT 真的可以构建功能性应用程序吗?Denham 的结论是:现在还不行,但很快就会实现。


“当前的模型需要大量的人工干预才能得到功能结果。如果我们可以完全用人工智能构建大规模、无 Bug 的功能性应用程序,我们早就在做了,并且已经抛弃了昂贵的软件工程师。”Denham 补充道。


Denham 表示,灭绝事件只是一个非常荒谬的例子,但重要的是要承认自然语言处理面临的攻击面大得离谱。


对于 ChatGPT 现在存在的“写出看似合理但不正确甚至荒谬的答案”、“有时会响应有危害的指令或表现出有偏见的行为”等问题,OpenAI 心知肚明,并表示希望根据收到的反馈来改进系统。

结束语


“ChatGPT 真正令人印象深刻的地方在于,尽管有这些缺陷,但技术人员能够在其基础上添加相关操作,以防止它一直说冒犯性的话或瞎编东西。”人工智能初创公司 General Intelligent 首席技术官 Josh Albrecht 表示。


如果将 ChatGPT 作为一种娱乐工具,大家对这些错误的容忍度还是比较高的,甚至会将其作为谈资一笑而过,一旦用于严谨的编程工作,大家还是很谨慎的。


但不论怎样, ChatGPT 的出现仍然可以称得上是一次颠覆性创新。每次颠覆性技术的出现,都意味着市场将进行一次洗牌,对于之前的头部企业来说是挑战,对于创企来说则是机会。


参考链接:


https://meta.stackoverflow.com/questions/421831/temporary-policy-chatgpt-is-banned

https://news.ycombinator.com/item?id=33863749

https://zacdenham.com/blog/narrative-manipulation-convincing-gpt-chat-to-write-a-python-program-to-eradicate-humanity


2022-12-08 09:217013

评论

发布
暂无评论
发现更多内容

甲方日常10

句子

工作 随笔杂谈 日常

阿里P8忠告:这些技术,哪怕不用微服务架构,你也应该会

小Q

Docker 架构 微服务 springboot SpringCloud

架构师第十三周作业

傻傻的帅

架构师

架构师训练营第13周作业

市值做市机器人,操盘做市系统搭建

从用户输入手机验证码开始

架构师修行之路

面试官为什么会问你,如何设计一个高并发系统?

老大哥

Java 程序员 后端

我的大厂面试经历

老大哥

Java 程序员 后端

Java服务,内存OOM问题如何快速定位?

老大哥

Java 程序员 后端

“新基建”与“双循环”的二重奏:2020服贸会靠什么推动经济复苏

脑极体

关于二进制的补码,反码,正负数表示以及Java代码测试

Zexho

Java 补码 位运算 反码 计算机知识

模板方法模式——看看 JDK 和 Spring 是如何优雅复用代码的

简爱W

Java 程序员 java架构

Spring 5 中文解析核心篇-集成测试之TestContext(上)

青年IT男

单元测试 Spring5 JUnit

服务化反面案例

心平气和

服务化 权限

架构师训练营作业(大数据与机器学习)

qihuajun

工作好多年有可能还未真正了解接口和抽象类

架构师修行之路

接口 抽象

用技术的“信条”,开启AI to B的产业位移

脑极体

商业通识 : 商业从哪里来?

Walker

学习 得到 个人成长 商业

Java架构师JVM启动流程和内存结构,程序员必看!

老大哥

Java 程序员 后端

架构师训练营 - 第 8周命题作业

红了哟

第13周 作业

Jaye

[翻译]Go Concurrency Patterns[Go 并发模式]

卓丁

Rob Pike Go Concurrency Patterns Concurrency Go 语言

Flink通过官网创建自己的工程-20

小知识点

scala 大数据 flink

第十三周作业

olderwei

极客大学架构师训练营

没想到 Hash 冲突还能这么玩,你的服务中招了吗?

老大哥

Java 程序员 后端

What's new in Dubbo-go v1.5.1

apache/dubbo-go

dubbo 服务端 Go 语言

架构师训练营第十三周作业

张明森

【真实面试经历】我和阿里面试官的一次“邂逅”

老大哥

大厂面试题:集群部署时的分布式 session 如何实现? 面试官心理分析

老大哥

Java 程序员 后端

架构师训练营第 0 期第 13 周作业

无名氏

Hessian Bug修复

心平气和

php 序列化 hessian

写“毁灭人类计划书”、错误太多被Stack Overflow封禁,好玩的 ChatGPT 还不能替代程序员_文化 & 方法_褚杏娟_InfoQ精选文章