name: 事实核查 description: 根据来源验证生成输出中的声称。设计用于捕获幻觉、虚构和未经支持的断言。 license: MIT metadata: author: jwynia version: “1.0” domain: 研究 cluster: 方法论
事实核查技能
系统性验证生成内容中的声称。设计用于捕获幻觉、虚构和未经支持的断言。
为什么单独验证过程重要
根本问题: LLMs通过预测接下来应该出现的内容生成看似合理的内容。同样的机制会产生幻觉—自信的陈述感觉真实但不是。在生成模式下,LLM无法可靠地捕获自己的幻觉,因为:
- 注意力集中在生成上,而不是验证
- 连贯性压力使得虚假声称在上下文中感觉正确
- 相同的权重产生了错误并会确认它
- 没有外部基础来反驳虚构
解决方案: 验证必须是一个单独的认知过程,具有:
- 专注于每个声称的新鲜注意力
- 明确的源检查(不是内存/训练数据)
- 对内容持对立立场
- 在可能的情况下外部基础
诊断状态
F1: 无验证过程
症状: 内容生成后无任何事实核查直接交付。 风险: 幻觉未经检测传递。 干预: 在交付前运行验证过程。提取声称,针对来源检查每个声称。
F2: 自我验证(无效)
症状: 在生成过程中询问同一过程“检查你的事实”。 风险: 错误被同一过程确认,导致虚假信心。 干预: 首先完成生成,然后运行单独的验证过程,明确要求来源。
F3: 基于内存的验证(不可靠)
症状: 声称仅根据“我知道什么”检查,无外部来源。 风险: 幻觉被虚幻的知识验证。 干预: 要求每个已验证声称的明确来源引用。如果无来源可用,标记为未验证。
F4: 选择性验证
症状: 只检查部分声称;其他假设正确。 风险: 未检查的声称可能包含错误。 干预: 系统性提取所有可验证声称。检查每个,或明确标记未检查项。
F5: 验证完成
症状: 所有声称提取,每个针对来源检查,置信度级别分配。 指标: 来源引用存在,未验证声称标记,置信度明确。
验证过程
阶段1: 声称提取
从内容中提取每个可验证陈述。
提取的声称类型:
- 事实断言(“X是Y”,“X导致Y”)
- 统计和数字(“40%的…”,“在2023年…”)
- 归属(“根据X…”,“研究显示…”)
- 定义(“X意思是…”,“X定义为…”)
- 历史声称(“X发生在…”,“X由…创立”)
- 因果声称(“X导致Y”,“X防止Y”)
- 比较声称(“X比Y好”,“X是最大的…”)
跳过内容:
- 明确标记为意见的内容
- 假设和推测(如果标记)
- 从陈述前提的逻辑推论
- 直接引用(验证归属,非内容)
阶段2: 声称分类
按可验证性对每个声称分类:
| 类别 | 描述 | 验证策略 |
|---|---|---|
| 可验证-硬 | 数字、日期、名称、引用 | 必须与来源完全匹配 |
| 可验证-软 | 一般事实、过程、机制 | 来源应基本支持 |
| 归属 | “X说…”,“根据…” | 验证来源存在并说类似内容 |
| 推论 | 从证据得出的结论 | 验证前提,评估推理 |
| 意见-作为-事实 | 主观声称陈述为客观 | 标记用于重述或限定 |
阶段3: 来源验证
对每个声称,尝试验证:
## 声称验证日志
### 声称1: “[确切声称文本]”
- **类别:** [可验证-硬/软/归属/推论]
- **来源检查:** [具体来源]
- **发现:** [已确认/部分支持/未找到/反驳]
- **置信度:** [高/中/低]
- **注释:** [差异、需要限定]
### 声称2: ...
验证结果:
| 结果 | 含义 | 行动 |
|---|---|---|
| 已确认 | 来源明确支持声称 | 保留,引用来源 |
| 部分支持 | 来源支持部分,非全部 | 限定或缩小声称 |
| 未找到 | 未定位到来源 | 标记未验证,考虑移除 |
| 反驳 | 来源说相反内容 | 移除或纠正 |
| 过时 | 来源过时;当前状态可能不同 | 更新或添加近期警告 |
阶段4: 置信度分配
分配内容的整体置信度:
| 级别 | 标准 |
|---|---|
| 高 | 所有关键声称已验证;无反驳发现 |
| 中 | 大多数声称已验证;一些未验证但合理 |
| 低 | 重要声称未验证;需要一些纠正 |
| 不可靠 | 发现多个反驳;需要重大修订 |
幻觉模式
常见的幻觉类型,需注意:
1. 看似合理的捏造
模式: 具体细节听起来正确但不存在。 示例: 虚假论文引用、不存在的统计、虚构引用。 检测: 针对主要来源验证具体声称。
2. 自信的推断
模式: 合理推断陈述为既定事实。 示例: “研究显示…”(无具体研究),“专家同意…”(无引用)。 检测: 要求任何外部支持声称的具体来源。
3. 时间混淆
模式: 混合不同时期的信息。 示例: 旧统计呈现为当前、已解散组织描述为活跃。 检测: 检查来源日期,验证当前状态。
4. 归属漂移
模式: 正确信息归属错误来源。 示例: 引用分配给错误人物、发现归属错误研究。 检测: 具体验证归属,不仅仅是内容。
5. 混合
模式: 将多个来源的细节组合成一个虚构来源。 示例: 虚构研究,结合了单独论文的真实发现。 检测: 验证具体来源存在并包含所有归属声称。
6. 精确度膨胀
模式: 为模糊知识添加虚假精确度。 示例: “约47.3%” 当仅支持“约一半”时。 检测: 检查来源是否实际提供该精确度级别。
验证清单
在发布事实核查内容前:
- [ ] 声称提取? 所有可验证陈述已识别
- [ ] 来源检查? 每个声称针对外部来源已验证
- [ ] 具体,非内存? 验证使用实际来源,非LLM训练数据
- [ ] 反驳标记? 声称与来源之间的冲突已注意
- [ ] 未验证标记? 无来源的声称已明确标识
- [ ] 置信度陈述? 整体可靠性级别已传达
- [ ] 单独过程? 验证在生成后完成,非期间
与研究技能集成
| 研究阶段 | 事实核查角色 |
|---|---|
| 研究期间 | 验证来源本身中的声称 |
| 合成后 | 验证合成准确代表来源 |
| 交付前 | 最终过程以捕获输出中的幻觉 |
交接模式:
- 研究技能收集和合成信息
- 基于研究生成内容
- 事实核查技能作为单独过程运行
- 进行纠正,分配置信度
- 输出交付,带验证状态
操作约束
此技能不能做什么
- 在生成期间验证 — 必须是单独过程
- 捕获所有幻觉 — 一些可能漏过
- 无来源验证 — 无来源 = 未验证,非“通过知识验证”
- 替换领域专业知识 — 可以检查来源存在,非评估质量
验证最关键的场景
| 场景 | 验证级别 |
|---|---|
| 发布内容 | 需要完全验证 |
| 决策支持 | 关键声称必须验证 |
| 教育内容 | 期望高准确度 |
| 随意对话 | 可接受轻度验证 |
| 创意小说 | N/A(不同标准) |
反模式
| 模式 | 问题 | 修复 |
|---|---|---|
| “我自信” | 置信度 ≠ 准确度 | 要求来源引用 |
| “据我所知” | 内存不可靠 | 检查外部来源 |
| “一般来说” | 模糊隐藏不确定性 | 具体或标记未验证 |
| “研究显示” | 哪个研究? | 引用具体来源 |
| 验证-同时-生成 | 同一过程无法捕获自身错误 | 单独过程强制 |
| 检查一个,假设其余 | 部分验证 | 检查所有或标记未检查 |
输出格式
当交付事实核查内容时:
## [内容标题]
[带声称的内容正文]
---
### 验证状态
**整体置信度:** [高/中/低]
**已验证声称:**
- [声称1] — 来源:[引用]
- [声称2] — 来源:[引用]
**未验证声称:**
- [声称3] — 未找到来源;视为不确定
**已做纠正:**
- [原始声称] → [纠正声称](来源:[引用])
**警告:**
- [任何限制或限定]
输出持久性
此技能将主要输出写入文件,以便工作跨会话持久。
输出发现
在进行任何其他工作前:
- 检查项目中是否有
context/output-config.md - 如果找到,查找此技能的条目
- 如果未找到或无此技能的条目,首先询问用户:
- “我应该在哪里保存此事实核查会话的输出?”
- 建议:
explorations/fact-check/或此项目的合理位置
- 存储用户偏好:
- 如果上下文网络存在,在
context/output-config.md中 - 否则在项目根目录的
.fact-check-output.md中
- 如果上下文网络存在,在
主要输出
对于此技能,持久化:
- 声称提取 - 识别的所有可验证陈述
- 验证结果 - 每个声称带来源和状态
- 置信度评估 - 内容的整体可靠性
- 已做纠正 - 从原始内容所做的任何更改
对话 vs. 文件
| 进入文件 | 留在对话中 |
|---|---|
| 验证状态报告 | 来源讨论 |
| 逐声称结果 | 澄清问题 |
| 置信度评估 | 验证过程 |
| 纠正和警告 | 实时反馈 |
文件命名
模式:{内容名称}-事实核查-{日期}.md
示例:研究合成-事实核查-2025-01-15.md
来源框架
此技能通过生成后验证扩展研究集群。与研究(收集信息)不同,并作为输出质量控制操作。
相关:skills/research/SKILL.md(生成前)、frameworks/doppelganger/(真相层次)