搜索引擎行业已经很长时间没有什么变化了。
2009 ~ 2023 年,Google 在全球范围桌面端搜索的年度平均市占率达 88.41%1 ,在移动端则是更为恐怖的 95.46%2 。作为对比,同样需要深厚技术积累的芯片行业在同一时期就要精彩得多:Zen 架构让 AMD 市占率从不足 20% 到近年持续高于 30%3 ,高通更是从 C 端寂寂无名到现在可以说是家喻户晓。
综合各类终端来看,2009 ~ 2023 年间只有 1 年 Google 的全球市占率低于 90%,其他值得一提的搜索引擎,或许是在某些地区凭借本土化壁垒成为地头蛇(例如 Yahoo!、Baidu、Yandex、Naver),或许是靠独特的卖点杀出一条血路(例如 DuckDuckGo),但终究是难以撼动 Google 搜索在全球范围的统治地位。
2022 年 11 月底公开的 ChatGPT 让 GPT 类大语言模型彻底摆脱狗屁不通生成器的印象,实现了可用性上的质变。OpenAI 选择了聊天机器人这种公众较易上手的产品形态来试水,但实际上任何涉及文本的产品或服务都有整合大语言模型的可能,搜索显然是其中之一。
行业内的从业者自然更早就察觉到了这次技术突破及其潜在的商业价值,不乏对此有想法的人提早行动,perplexity AI 的创始团队便是一例。perplexity AI 成立于 2022 年 8 月,创始团队的前司包括 OpenAI、Meta、Quora、Databricks。其核心产品形态是搜索,非登录状态下返回 5 条 URL,并基于 GPT-3.5 + 自己的模型对 URL 内容进行处理并输出摘要。
在将 perplexity AI 作为我的浏览器默认搜索引擎使用超过 1 个月之后,我决定保留这个设置,让它成为我日常的一部分。它实实在在地提升了我的搜索体验,也让我好奇除了一个又一个截图,还有什么其他方法可以对比及呈现不同搜索引擎的质量差异。受一篇利用大语言模型评价文本质量的预印本4启发,我尝试用大语言模型对搜索引擎的效果及质量进行评价,获得了一些还算有点意思的结果。
量化对比搜索引擎用户体验的尝试
简单来说,我先后分别在 perplexity AI(非登录状态)、DuckDuckGo、Google、CN Bing 输入了 40 组关键词,将搜索引擎返回的结果首页截图,将截图上传至 Poe 上的 Claude-3-Opus 进行分析,让它输出对搜索结果质量的评分(0分最差,10分最好),基于这些评分进行统计分析。
搜索引擎以及场景/关键词的选择全部基于我日常的使用习惯。至于为什么选择截图而非直接将 URL 喂给大语言模型,有两个原因:一是大语言模型访问 URL 数量多了之后容易触发搜索引擎的人机验证,我没有能力也无意对此进行突破;二是截图可以对搜索引擎当时返回的结果进行留存,如果想使用其他大语言模型进行质量评价时可以保证输入的一致性,避免不同大语言模型访问同一条 URL 获取不同的搜索结果。
对搜索质量的量化使用了更贴近用户直观搜索体验的3个指标,简要解析如下:
- 相关性:搜索结果与搜索输入内容的关联度
- 丰富度:搜索结果来源网站性质的差异程度
- 可靠度:搜索结果来源网站的可信程度(对于 perplexity AI 同样适用,并非针对其摘要文本与来源网站内容的一致性或摘要是否出现幻觉进行评价)
分析结果显示,perplexity AI 与其他 3 个传统搜索引擎在相关性方面的表现没有什么差别,大家返回的搜索结果和搜索输入的相关性都颇高,即使有一两组关键词可能表现不佳,但总体而言基本不会搜出来毫不相关的内容。
丰富度方面,perplexity AI 和 DuckDuckGo、Google 的得分类似,都要明显高于 CN Bing。CN Bing 可能输得有点冤,但在我的日常使用习惯下,它的表现可能确实如此。不难看出,即使返回 URL 的绝对数量少,perplexity AI 在搜索结果的丰富度上并不逊于搜索巨擘 Google 或者近年已经打出一片天地的 DuckDuckGo。
让我有点惊讶的是可靠度的结果,perplexity AI 在可靠度上的表现竟然是最好的,明显比 CN Bing 要好,甚至比 Google 和 DuckDuckGo 也要更好。这其实有点反直觉,因为我在使用 perplexity AI 的过程中看到过摘要部分内容存在很明显的幻觉,如果从这个角度来看,perplexity AI 的可靠度存疑。后来我仔细查看了大语言模型对搜索结果截图评价的输出,其中“可靠度”相关的描述大多类似“主要结果来自知名网站、百科,但影评等主观性内容会一定程度影响可靠性”,明白了大语言模型对这项指标的评价是针对搜索引擎返回的网站可靠性,前面提到的想法与量化结果的相悖也就可以理解了。
都是幻觉?还是来谈谈感受吧
促使我写这篇文章的动力,是 4 月中旬我在 qBittorrent 里看到一个没见过的客户端,彼时我已经将 perplexity AI 设为了浏览器默认搜索引擎,于是在浏览器地址栏输入了客户端名,按下回车。
这是我第一次体验到在搜索引擎输入内容、点击回车、然后直接获得了我想要的信息,我希望进一步了解更多的时候,再点击页面上的 URL 详细阅读网页内容。与传统搜索引擎“在结果中找有用的信息”相比,perplexity AI 确实在一定程度上更靠近“让有用的信息找人”这个期望。虽然目前 perplexity AI 提供的摘要仍然存在幻觉,但我觉得这是技术进步可以缓解的问题,洗澡水和婴儿的谚语相信大家都很熟悉。
其实无论是上一部分的对比评价,还是上图的例子,都还是以过往搜索输入习惯来使用 perplexity AI 的情况,如果把“关键词(组)”改为成句的自然语言输入,我相信 perplexity AI 的搜索效果能够更上一层楼。
目前我使用搜索引擎的优先级是 perplexity AI > DuckDuckGo > Google > CN Bing, perplexity AI 的使用率大概是 60%,还是有不少时候需要其他搜索引擎提供更多 URL 以便自己探索挖掘,尤其是并未纳入本次量化评价的“学术搜索”场景,非登录状态下的 5 条 URL 对于学术话题搜索而言还是太少了。看到有消息提及 OpenAI 也会推出自己的搜索服务,这让我对这种服务形态更有信心。尽管 perplexity AI 还不够完美,但不妨碍它继续作为我浏览器的默认搜索引擎,让大语言模型加入我信息搜索的流程。
附录:搜索引擎效果量化评价方法细则
以下方法肯定可以通过编程进行自动化,为什么没有这么做?因为我不会...
- 打开 Firefox (125.0.2, 64 bit) Private browsing 模式,输入搜索引擎1主页网址
- 在搜索引擎搜索框输入“关键词1”,点击回车
- 使用 Windows 自带截图功能截取浏览器页面所有内容(包含 tab 栏、地址栏)
- 在搜索引擎搜索框输入“关键词2”
- 重复步骤 2-4,直至获得搜索引擎1对应 40 个关键词的搜索结果截图
- 关闭浏览器
- 重复步骤 1-6,直至获得 4 个搜索引擎分别对应 40 个关键词的搜索结果截图
- 获得 160 个截图
- 在 Poe 中新建一个 Claude-3-Opus 对话,上传同一个搜索引擎对应的多张截图,搭配以下 Prompt:请提取图片的内容,并基于此输出:
a. 搜索输入的是什么
b. 搜索引擎是什么
c. 对搜索输出结果与搜索输入的相关性进行评分,0表示很差,10表示很好
d. 对搜索输出结果的丰富程度进行评分,0表示很差,10表示很好
e. 对搜索输出结果的可靠程度进行评分,0表示很差,10表示很好
f. 将评分结果用4列的表格形式展示,第1列为“搜索输入”,第2列为“相关性”,第3列为“丰富程度”,第4列为“可靠程度”- 如果大语言模型对“搜索输入”识别错误,则进行校正,重新获取评分
- 获得同一个搜索引擎对应的 40 个截图的评分,将评分转移至 Excel
- 重复步骤 9-11,直至获得一个含有 160 个截图对应评分的 Excel 文件