最近几天大家都在玩 ChatGPT,真的非常厉害,虽然不是万能的,但是这是第一个让我感受到不像人工智障的 AI 对话系统,对指代、记忆上下文等难题处理得也非常好。尤其是在编程问题方面,有时候比 StackOverflow 还好用。如果我的候选人表现成这样,我肯定会优先录用的。

目前 ChatGPT 主要的缺点是:

  1. 知识库更新不足、覆盖度不够全,不能回答最近发生的事件,不能回答比较偏门的知识。建议与搜索引擎或者知识图谱相结合,先用 prompt 词搜索出一些结果,然后再用 NLP 的方法把搜索结果整合起来。据说有一些研究团队已经在这个方向上努力了。
  2. 逻辑推理能力不足,稍微复杂一点的逻辑就很容易搞错,而且搞错了还回答得一本正经。如何解决任意复杂的逻辑问题是一个很大的挑战。能识别看上去正确但实质上荒谬的回答就更难了。
  3. 目前还只支持文本,不支持多模态。目前已经可以让 ChatGPT 生成 prompt,再输入到 DALL-E 里面生成图片。未来,支持多模态输入和多模态输出的生成模型将使人机交互更自然,可能成为下一代的人机交互范式。
  4. 单次回答的成本目前较高,需要数美分,显著高于一次 Google 搜索的成本。如果能通过算法或硬件的改进降低成本,或者与推荐、广告相结合产生新的商业模式,就能够有商业盈利的空间。

今年可以说是 AI 生成内容的 “元年” 了。前几个月我们都被 CV 领域的 DALL-E 2 震撼了,现在 ChatGPT 又为 NLP 设立了新的 SOTA。

能跟人自然交流的智能助理是无数科幻电影中的场景,也是各大公司 20 年前就设立的 vision,今天终于看到了变成现实的曙光。智能助理可能孕育出下一个万亿美金级别的产业,就像移动互联网颠覆 PC 互联网、视频颠覆文字一样,成为新的人机交互范式,深刻改变人类的工作和生活。

以下是我在 ChatGPT 中尝试的一些例子:

gRPC 编程

  1. 在 Protocol Buffers 里面写一个地址簿的 demo,根据需求增加字段,改写成 Flat Buffers,然后写个 gRPC 服务来查询和删除联系人,包括使用流式 API。

三点共线算法题

  1. 三维空间中的 N 个点中是否存在三点共线,分析算法复杂度,最多有多少个点共线,有多少三点对共线,都能给出暴力解法和优化后的解法。

二进制表示算法题

  1. 0,1,…,N 的二进制表示中有多少个 1,用 Go、JavaScript、Rust、Haskell、Swift、PHP 分别实现,美中不足的是只知道暴力,想不到优化算法。

栈溢出漏洞分析

  1. 栈溢出漏洞的分析,漏洞利用 PoC,生成 ROP 代码示例,ROP 的防御方法。

找代码 bug

  1. 解释正则表达式;找排序代码中的 bug;用 OpenSSL 建 TLS socket 示例,配置证书和 cipher。

写小说(1)

  1. 给定一部小说的背景,要求写小说的前言、章节结构和每章的内容提要。第一个故事背景是病毒席卷世界。ChatGPT 可以理解并重述(不是逐字抄袭)我给出的背景,并且像模像样的生成一个故事,故事中的一些细节可以认为是它根据领域知识补充出来的。

我每次重新运行 ChatGPT,它输出的故事都是不同的,但是剧情梗概类似,因此可以认为是它模仿了语料库中现有的故事,但在细节上有一定的创造力。但是目前 ChatGPT 还没有能力补充故事更多的细节,也就是还不能真的写小说。

写小说(2)

  1. 第二个写小说的例子是 AI 掌控世界,最后一名 Python 程序员如何夺回对地球的控制权。

算错的计算题

  1. 在 1 Mbps 的网络上传输 2 GB 的文件需要多长时间?好多候选人都需要很久才能回答出来哦。当然,ChatGPT 也少算了一个数量级。

算错的奥数题

  1. 大家可能看到了 ChatGPT 可以做一些简单的数学题,比如鸡兔同笼。我这里列的都是一些典型的小学奥数题,ChatGPT 的基本思路都是对的,但算出来结果都是错的,因此它的逻辑推理能力还有待提升。

Comments