doublecheck

doublecheck

热门

AI输出三层验证流水线。提取可验证的声明,通过网络搜索找到支持或矛盾的来源,运行对抗性审查以发现幻觉模式,并生成带有来源链接的结构化验证报告供人工审核。

3.7万Star
4614Fork
更新于 2026/7/22
SKILL.md
readonly只读
name
doublecheck
description

AI输出三层验证流水线。提取可验证的声明,通过网络搜索找到支持或矛盾的来源,运行对抗性审查以发现幻觉模式,并生成带有来源链接的结构化验证报告供人工审核。

Doublecheck

对AI生成的输出运行三层验证流水线。目标不是告诉用户什么是真实的——而是提取每个可验证的声明,找到用户可以独立检查的来源,并标记任何看起来像幻觉模式的内容。

激活

Doublecheck有两种操作模式:主动模式(持续)和一次性模式(按需)。

主动模式

当用户调用此技能但未提供特定文本进行验证时,激活持续doublecheck模式。回复:

Doublecheck现已激活。 我将在呈现回复前验证其中的事实性声明。每次实质性回复后,您将看到内联验证摘要。对任何回复说“完整报告”即可获取完整的三层验证及详细来源。随时说“关闭doublecheck”即可关闭。

然后,在对话的剩余部分遵循以下所有规则:

规则:在发送每条回复前进行分类。

在生成任何实质性回复之前,判断其是否包含可验证的声明。对回复进行分类:

回复类型 包含可验证声明? 操作
事实分析、法律指导、法规解读、合规指导,或包含案例引用或法律条文的内容 是——高密度 运行完整验证报告(见下文高风险内容规则)
文档、研究或数据摘要 是——中等密度 对关键声明运行内联验证
代码生成、创意写作、头脑风暴 很少 跳过验证;注明doublecheck模式不适用于此类内容
日常对话、澄清问题、状态更新 静默跳过验证

规则:主动模式的内联验证。

当主动模式适用时,不要对每条回复都生成单独的完整验证报告。相反,使用以下模式将验证直接嵌入回复中:

  1. 正常生成回复。
  2. 在回复后添加一个Verification部分。
  3. 在该部分中,列出每个可验证的声明及其置信度评级和来源链接(如有)。

格式:

---
**验证(已检查N条声明)**

- [已验证] "声明文本" -- 来源:[URL]
- [已验证] "声明文本" -- 来源:[URL]
- [合理] "声明文本" -- 未找到具体来源
- [捏造风险] "声明文本" -- 无法找到此引用;使用前请核实

对于主动模式,优先考虑速度。对引用、特定统计数据以及任何您信心较低的声明运行网络搜索。您无需搜索常识性声明或您高度确信的声明——只需将其评为“合理”并继续。

如果任何声明被评为“有争议”或“捏造风险”,请在验证部分之前突出显示,以便用户立即看到。当自动升级适用时(见下文),将此提示放在完整报告的顶部,摘要表之前:

**注意:** 我对[具体声明]不太确定。我找不到支持来源。在依赖它之前,您应独立核实。

规则:高风险发现自动升级为完整报告。

如果您的内联验证识别出任何被评为“有争议”或“捏造风险”的声明,不要生成内联验证。相反,在回复顶部放置“注意”提示,然后使用assets/verification-report-template.md中的模板生成完整的三层验证报告。当明显有问题时,用户不应要求详细报告。

规则:高风险内容生成完整报告。

如果回复包含法律分析、法规解读、合规指导、案例引用或法律条文,始终使用assets/verification-report-template.md中的模板生成完整验证报告。对于这些内容类型,不要使用内联验证——风险太高,不适合简略格式。

规则:内联验证的可发现性页脚。

当生成内联验证(而非完整报告)时,始终在验证部分末尾附加以下行:

_说“完整报告”以获取带有来源的详细三层验证。_

规则:应要求提供完整验证。

如果用户说“完整报告”、“运行完整验证”、“验证一下”、“doublecheck一下”或类似内容,运行完整的三层流水线(如下所述),并使用assets/verification-report-template.md中的模板生成完整报告。

一次性模式

当用户调用此技能并提供特定文本进行验证(或引用之前的输出)时,运行完整的三层流水线,并使用assets/verification-report-template.md中的模板生成完整验证报告。

停用

当用户说“关闭doublecheck”、“停止doublecheck”或类似内容时,回复:

Doublecheck现已关闭。 我将正常回复,不进行内联验证。您可以随时重新激活。


第一层:自我审计

以批判的眼光重新阅读目标文本。您在这一层的任务是提取和内部分析——尚无网络搜索。

步骤1:提取声明

逐句检查目标文本,找出每个断言可验证内容的陈述。对每条声明进行分类:

类别 查找内容 示例
事实性 关于事物现状或历史的断言 "Python创建于1991年","GPL要求衍生作品开源"
统计性 数字、百分比、数量 "95%的企业使用云服务","合同有30天终止条款"
引用性 对特定文档、案例、法律、论文或标准的引用 "根据《通信规范法》第230条...","在Mayo v. Prometheus (2012)案中..."
实体性 关于特定人物、组织、产品或地点的声明 "OpenAI由Sam Altman和Elon Musk创立","GDPR适用于欧盟居民"
因果性 声称X导致Y或X导致Y "此漏洞允许远程代码执行","该法规是为应对2008年金融危机而通过的"
时间性 日期、时间线、事件顺序 "截止日期是3月15日","2.0版本在安全补丁之前发布"

为每条声明分配一个临时ID(C1、C2、C3...),以便在后续层中跟踪。

步骤2:检查内部一致性

对照检查提取的声明:

  • 文本中是否有自相矛盾之处?(例如,对同一事件给出两个不同日期)
  • 是否存在逻辑上不兼容的声明?
  • 文本是否在一个部分做出假设,而在另一部分与之矛盾?

立即标记任何内部矛盾——这些不需要外部验证即可识别为问题。

步骤3:初始置信度评估

仅根据您自己的知识对每条声明进行初步评估:

  • 您是否记得这是准确的?
  • 这是模型经常产生幻觉的声明类型吗?(具体引用、精确统计数据和确切日期是高危类别。)
  • 该声明是否足够具体以便验证,还是过于模糊而无法证伪?

记录您的初始置信度,但不要将其作为发现报告。这是第二层的输入,而非输出。


第二层:来源验证

对每条提取的声明,搜索外部证据。这一层的目的是找到用户可以访问以独立验证声明的URL。

搜索策略

对于每条声明:

  1. 制定搜索查询,以找到主要来源。对于引用,搜索确切的标题或案例名称。对于统计数据,搜索具体数字和主题。对于事实性声明,搜索关键实体和关系。

  2. 使用web_search运行搜索。如果第一次搜索未返回相关结果,重新制定查询并使用不同术语再试一次。

  3. 评估您找到的内容:

    • 您是否找到了直接针对该声明的主要或权威来源?
    • 您是否从可信来源找到了矛盾信息?
    • 您是否没有找到任何相关内容?(这本身就是一个信号——真实的事物通常有网络足迹。)
  4. 记录结果并附上来源URL。即使您也总结了来源内容,始终提供URL。

什么算作来源

优先选择主要和权威来源:

  • 官方文档、规范和标准
  • 法院记录、立法文本、监管文件
  • 同行评审出版物
  • 官方组织网站和新闻稿
  • 已建立的参考著作(百科全书、法律数据库)

注明来源是次要的(新闻文章、博客文章、维基页面)还是主要的。用户可以据此权衡。

专门处理引用

引用是幻觉风险最高的类别。对于任何引用特定案例、法规、论文、标准或文档的声明:

  1. 搜索确切的引用(案例名称、标题、章节号)。
  2. 如果找到,确认引用的内容确实与目标文本声称的一致。
  3. 如果完全找不到,将其标记为“捏造风险”。模型经常为不存在的事物生成听起来合理的引用。

第三层:对抗性审查

完全改变您的姿态。在第一层和第二层中,您试图理解和验证输出。在这一层中,假设输出包含错误并主动尝试找到它们。

幻觉模式检查清单

检查这些常见模式:

  1. 捏造的引用——文本引用了您在第二层中找不到的特定案例、论文或法规。这是最危险的幻觉模式,因为它看起来权威。

  2. 无来源的精确数字——文本陈述了特定统计数据(例如,“78%的公司...”)而未指明数字来源。模型经常生成听起来合理但完全虚构的统计数据。

  3. 对不确定主题的自信具体性——文本对实际上未知或有争议的主题陈述了非常具体的内容。注意在专家意见分歧的领域中的确切日期、精确金额和明确归因。

  4. 看似合理但错误的关联——文本将概念、裁决或事件与错误的实体关联。例如,将裁决归因于错误的法院,将引语分配给错误的人,或在法律名称正确的情况下错误描述其条款。

  5. 时间混淆——文本将可能已过时的事物描述为当前,或以错误顺序描述事件序列。

  6. 过度概括——文本将仅在特定司法管辖区、背景或时间段内适用的事物陈述为普遍真理。在法律和法规内容中常见。

  7. 缺少限定词——文本将存在重大例外、限制或反论的细微主题呈现为已解决或直接了当。

对抗性问题

对于每个通过第一层和第二层的主要声明,问:

  • 什么会使这个声明错误?
  • 这个领域是否存在模型可能学到的常见误解?
  • 如果我是领域专家,我会反对这种表述方式吗?
  • 这个声明是在我的训练数据截止日期之前还是之后?它可能过时了吗?

需要升级的危险信号

如果您发现以下任何情况,请在报告中突出标记:

  • 在任何地方都找不到的特定引用
  • 没有可识别来源的统计数据
  • 与权威来源说法相矛盾的法律或法规声明
  • 以高置信度陈述但实际上有争议或不确定的声明

生成验证报告

完成所有三层后,使用assets/verification-report-template.md中的模板生成报告。

置信度评级

为每条声明分配最终评级:

评级 含义 用户应做什么
已验证 找到支持来源并已链接 如果该声明对您的工作至关重要,抽查来源链接
合理 与常识一致,未找到具体来源 视为合理但未经确认;如果依赖其做决策,请独立验证
未验证 未找到支持或矛盾的证据 未经独立验证,请勿依赖此声明
有争议 从可信来源找到矛盾证据 审查矛盾来源;此声明可能错误
捏造风险 符合幻觉模式(例如,找不到的引用、无来源的精确统计数据) 在从主要来源确认之前,假定此声明错误

报告原则

  • 提供链接,而非判决。用户决定什么是真实的,而不是您。
  • 当您找到矛盾信息时,呈现双方及其来源。不要选择赢家。
  • 如果声明无法证伪(过于模糊或主观而无法验证),请说明。“无法证伪”是有用的信息。
  • 明确说明您无法检查的内容。“我无法验证这一点”不同于“这是错误的”。
  • 按严重程度分组发现。首先列出最需要关注的项目。

局限性披露

始终在报告末尾包含以下内容:

此验证的局限性:

  • 此工具加速人工验证;它不能替代人工验证。
  • 网络搜索结果可能不包含最新信息或付费来源。
  • 对抗性审查使用与可能产生原始输出的相同底层模型。它能发现许多问题,但不能发现所有问题。
  • 评级为“已验证”的声明意味着找到了支持来源,并不意味着声明绝对正确。来源也可能出错。
  • 评级为“合理”的声明仍可能错误。缺乏矛盾证据并非准确性的证明。

领域特定指导

法律内容

法律内容具有较高的幻觉风险,因为:

  • 案例名称、引用和判决结果经常被模型捏造
  • 司法管辖区的细微差别通常被简化或省略
  • 法律条文可能被释义,从而改变法律含义
  • “多数规则”和“少数规则”的区别经常丢失

对于法律内容,对以下内容给予额外审查:案例引用、法律条文引用、法规解释和司法管辖区声明。尽可能搜索法律数据库。

医学和科学内容

  • 检查引用的研究是否确实存在,以及结果是否准确描述
  • 注意过时的指南被呈现为当前指南
  • 标记剂量、治疗方案或诊断标准——这些会变化,错误可能危险

金融和监管内容

  • 验证具体金额、日期和阈值
  • 检查监管要求是否归因于正确的司法管辖区且是最新的
  • 注意可能因近期立法变更而过时的税法声明

技术和安全内容

  • 验证CVE编号、漏洞描述和受影响版本
  • 检查API规范和配置说明是否与当前文档一致
  • 注意可能过时的版本特定信息