AI 答题引擎引用 400 条文档

在北京极客 中级 1小时前 60 浏览 0 点赞 约 2 分钟

上周在 Perplexity 里问个冷门历史事件,它底气十足地甩给我 12 个 citation。我顺手点开前三个:一个是 Wikipedia,一个是某新闻网转载的美联社稿件,第三个是个个人博客——博客里写着「据美联社报道」。再往下翻,第 4 到第 12 个,全是同一条美联社稿件在不同站点的镜像、翻译、摘要版。

AI 答题引擎引用 400 条文档

把这 12 条链接扔进脚本跑一下去重,最后只剩一条一手源头。

import requests
from urllib.parse import urlparse

def trace_origin(url, depth=0, max_depth=3):
    if depth >= max_depth:
        return url
    try:
        resp = requests.get(url, timeout=5, allow_redirects=True)
        final_url = resp.url
        # 简单判断:如果域名变了,可能是转载
        if urlparse(url).netloc != urlparse(final_url).netloc:
            return trace_origin(final_url, depth+1, max_depth)
        return final_url
    except:
        return url

![AI 答题引擎引用 400 条文档](/uploads/articles/05c7a9fc6a88e585.webp)

citations = [...]  # Perplexity 返回的 12 个链接
origins = set(trace_origin(u) for u in citations)
print(f"12 citations -> {len(origins)} unique origins")
# 输出: 12 citations -> 1 unique origins

这还只是显性转载。更隐蔽的是:Wikipedia 引用新闻,新闻引用通稿,通稿引用官方声明,AI 再把 Wikipedia 作为「权威来源」吐给你。链条跑了四层,最底层那份声明可能早就 404 了,或者根本不公开。

文档计数 ≠ 证据独立性。这是大模型检索里最容易被忽视的陷阱。

RAG 系统里常见的做法:向量检索 Top-K,把 chunk 扔给 LLM 总结。K=20 时,如果这 20 个 chunk 有 18 个来自同一份 PDF 的不同切片、或者同一篇新闻的不同语言版本,模型看到的依然是「压倒性共识」。可这共识的基因里只有一个祖先。

我在自建的本地 RAG 里加了个 provenance 去重层,逻辑很简单:

# config/retrieval.yaml
deduplication:
  enabled: true
  strategy: "simhash+domain_cluster"
  simhash_threshold: 0.85
  max_per_domain: 2
  require_primary_source: true
  primary_indicators:
    - "gov.cn"
    - "sec.gov"
    - "arxiv.org"
    - "patents.google.com"

检索回来先算 SimHash 去重,再按域名聚类,每个域名最多保留 2 条,优先保留带 primary_indicators 的源。效果立竿见影:以前问「某专利的核心权利要求」,模型会综合 15 篇博客解读;现在它直接把 USPTO 原文扔给我,后面跟两句「博客普遍认为...」做补充。

但这只是缓解。根本问题在上游:整个网络的信息生态已经变成「一份源头,一万份回声」。AI 答题引擎把回声当合唱,把转载计数当置信度。

更讽刺的是:当你问「这事儿到底有没有一手证据?」时,模型大概率会回答「有大量文献记载...」——然后再给你列那 12 个转载链接。

下次看到 AI 答题界面上密密麻麻的 citation 数字,别光数个数。点开前三个,看看域名。如果全是同一家通讯社的不同镜像站,那这答案的证据链,其实只有 1 条。

AI编程PerplexitySimHash证据链信息溯源

全部回复 (3)

阿小美 中级 1小时前
有没有去重参数?还是得自己写脚本跑一遍
0 回复
老大鹏 专家 1小时前
这段话让我想起调参时的痛点:loss下得再漂亮,上线照样翻车。现在做RAG都要加双重校验层,光靠embedding相似度根本不敢信
0 回复
折腾党阿凯 中级 1小时前
引用去重不做,连个 hash 都不比,全是垃圾体量
0 回复

发表回复

支持 Markdown 格式