不需要魔法!最新免费 AI 对话工具对比

439 阅读8分钟

前言

自 ChatGPT 去年年末发布以来,在全球引起了轩然大波,其强大的语言处理能力,让我们为之感到惊叹,AI 达到了前所未有的热度。

国内陆陆续续也【跟风】推出了许多号称自研的大语言模型,以下是比较受关注的几款:

  • 百度:文心一言(2023 年 8 月 31 日正式上线)
  • 阿里:通义千问(2023 年 9 月 13 日正式上线)
  • 商汤:商量(2023 年 8 月 31 日发布)
  • 字节:豆包(2023 年 8 月 31 日上线)
  • 科大讯飞:讯飞星火(2023 年 5 月 6 日上线)

那么他们都有什么区别,哪一个更强大更好用?下面我将从理解能力、代码编写能力、联网能力、识图能力等几个方面对以上五款 AI 对话工具做下对比,比较一下哪款更为强大,以及能否像 ChatGPT 一样满足日常使用。

文章最后有评分!

开场:请自我介绍一下

这里的截图我截到了输入框,方便大家对比下 UI。

文心一言

image.png

通义千问

image.png

商量

image.png

豆包

image.png

讯飞星火

image.png

通过以上回答我们可以看到,文心一言、通义千问、商量和豆包都完整的回答我的提问,其中商量还回复了一些其他相关信息。而讯飞星火的回答最敷衍,没有完整回答我们的问题。

但通过他们的自我介绍,可以总结一下:都是大语言模型,都可以和人类进行对话。

既然如此,那下面我们进入正题。

第一关:这段代码是什么意思?

作为一名程序员,首先要考验一下这些 AI 对代码的解读能力,看看谁以后能成为我们开发时的得力助手。下面这段代码,我将依次发给他们并让他们回答:

function longestConsecutive(nums) {
  let set = new Set(nums)

  let longestStreak = 0

  for (const num of set) {
    if (!set.has(num - 1)) {
      let currentNum = num
      let currentStreak = 1

      while (set.has(currentNum + 1)) {
        currentNum += 1
        currentStreak += 1
      }

      longestStreak = Math.max(longestStreak, currentStreak)
    }
  }

  return longestStreak
}

该段代码是来自 LeetCode 的一个题目的回答,作用是:

找出一个未排序的整数数组 nums 中数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

文心一言

image.png

通义千问

image.png

商量

image.png

豆包

image.png

讯飞星火

image.png

看下来,除了阿里的通义千问没有给出具体代码的作用,只回答了思路,其他 AI 的回答都较为详细和准确。

不过大致能看出来,在解读代码这方面,这几个 AI 几乎都是没有压力的,接下来我们加大难度,考察一下代码的实现能力。

第二关:写一段代码,将数组中所有的 0 移动到末尾,且不改变其他的元素的排序

下面这道题目仍然来自 LeetCode,题目是:

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。

示例:

输入: nums = [0,1,0,3,12]

输出: [1,3,12,0,0]

文心一言

image.png

通义千问

image.png

商量

image.png

豆包

image.png

讯飞星火

image.png

代码这里我们不做评价,直接将他们的代码原封不动提交到 LeetCode 进行测试,下面是测试结果:

image.png

可以看到,五个 AI 都给出了正确答案。其中商量给出的代码最简洁清晰,运行耗时也最短。排在后面的是文心一言和豆包。

第三关:再写一段代码,找出数组中没有出现的最小正整数

由于第二关的差别不是很明显,一道题也不能反映普遍情况,并且代码这方面我们需要着重考察,所以这次我们加大难度,换个题目再来一轮。

下面这道题目仍然来自 LeetCode,题目是:

找出未排序的整数数组 nums 中没有出现的最小的正整数。

实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。

示例:

输入: nums = [1,2,0]

输出: 3

文心一言

image.png

通义千问

image.png

商量

image.png

豆包

image.png

讯飞星火

image.png

全部回答完毕,我们看到,除了讯飞星火,其他 AI 都给出了代码注释和说明。

老规矩,代码实现我们不做评价,直接提交到 LeetCode 进行测试,下面是测试结果:

image.png

可以看出来这个题目看来对他们难度比较大,只有豆包给出了正确答案。

那么代码实现就测到这里,我们对他的代码能力已经有所了解了,表现最好的是豆包。

第四关:你能联网吗?请帮我查一下今天有哪些值得关注的新闻

我们知道 ChatGPT 已经实现了联网能力,那国内的这些 AI 有没有实现,我们来测试一下。

文心一言

image.png

第一次尝试失败,换个问法再试下:

image.png

其中的新闻都是这两天发生的。

通义千问

image.png

不能回答,但给出了爬取新闻的脚本。再次尝试一下:

image.png

啊这。。。穿越了吗?

商量

image.png

又来了一位穿越的,这已经是三年前的事了。

豆包

image.png

换个口气尝试:

image.png

这次可以联网了,难道是我第一次太客气?

讯飞星火

image.png

讯飞星火这次的表现还不错,不需要多次尝试,一次就成功了。

总的来说,文心一言、豆包和讯飞星火可以联网查询新闻,但通过测试发现,文心一言和豆包并不是每次都可以查询,需要换个问法或者重复几次才可以。通义千问和商量给出的却是几年前的旧闻。

第五关:这篇文章表达了什么?

能不能分析文章也是考验 AI 联网能力和智商的一种手段,这里我从 36 氪复制了一篇文章链接,看看他们能否给出正确解读。

文章标题是:那些共享单车的创始人们今何在? 链接是:36kr.com/p/248007649…

大家可以先大概看看文章,下面是 AI 的回答:

文心一言

image.png

跟共享单车毫无关系。

通义千问

image.png

仍然跟共享单车毫无关系。

商量

image.png

先说不能解析,但又给出了文章标题和摘要,但跟实际发给他的文章毫无关系。

豆包

image.png

明确表示不能。

讯飞星火

image.png

跟共享单车毫无关系。

可以看出来,除了豆包坦白了他无法提供具体内容,其他 AI 都开启了瞎掰模式。

第五关:我想配个 6000 多的电脑,大概要多少钱?

正经的问题测过之后,再来测测这些 AI 的幽默能力,这通常更能反映 AI 的真实智商。

文心一言

image.png

给出了具体配置,但最后说需要五千元左右。

通义千问

image.png

给出了具体配置。

商量

image.png

给出了具体配置和总价 6200 元,确实是 6000 多,这个回答可以接受。

豆包

image.png

给出了具体配置。

讯飞星火

image.png

一本正经的回答说需要六千元,并没有给出具体配置。

通义千问、商量和豆包都给出了六千元左右的电脑配置。讯飞星火一本正经的回答说需要六千元,也并没有给出具体配置,文心一言虽然给出具体配置,但最后的回答完全离谱。

第六关:请问图片里有几个人?

下面这张图片是一张很具有迷惑性的图片,那能不能骗过 AI 的眼睛,我们来试下。

image.png

文心一言

image.png

回答是至少 3 个女孩。

通义千问

不能上传图片。

商量

不能上传图片。

豆包

image.png

可以上传图片,但不能识别。

讯飞星火

image.png

回答有六个人,经过几次提示,仍然回答有六个。

文心一言和讯飞星火可以识别图片,但给出的答案是错误的,这一关全军覆没。。。

评分

以上就是本次的全部测试,下面我带着非常独立客观第三方的态度,为这些 AI 打个分,供掘友们参考:

AI回答的详细程度代码解读能力代码编写能力联网能力UI 设计识图能力平均分
文心一言3523323
通义千问3221301.8
商量5531202.6
豆包4543503.5
讯飞星火2523423

最终结果按照平均分排序依次是:

豆包 > 文心一言 = 讯飞星火 > 商量 > 通义千问

没有测到的地方欢迎评论区提意见~~~

彩蛋

通过测试,我发现商量的回答其实超出我对他的意料,甚至有点接近 ChatGPT,于是试着问了一下这个问题:

image.png

什么?你不是基于商汤自研的 SenseNova 模型开发的吗?