vscode-templete/.claude/skills/auto-wiki-cn/references/fact-check.md

5.1 KiB
Raw Blame History

数据校验协议

防止错误数据污染 wiki。可验证的数据必须验证不可验证的必须标注。

核心原则

Wiki 是知识资产,不是垃圾桶。 错误数据进入 wiki 后会被后续 query 引用、被其他 ingest 当作"已有结论"比较,错误会 compound。必须在入口把关。

校验时机

在 ingest 流程中,读取源文件之后、写入 wiki 之前插入校验步骤:

读源文件 → 提取关键声明
    ↓
分类:可验证 vs 不可验证
    ↓
可验证 → 用工具交叉验证 → 通过/不通过/无法验证
    ↓
写入 wiki带校验标注

可验证数据的识别

以下类型的声明应该尝试验证。具体用什么工具取决于用户环境中可用的 MCP/工具——下表是常见映射,不是硬性要求:

数据类型 示例 常见验证工具(视环境而定)
上市公司财务数据 营收、净利、ROE 金融数据 MCP如 tushare、ifind、wind
基金/年金规模 管理规模、份额 金融数据 MCP
宏观经济指标 GDP、CPI、PMI 金融数据 MCP
监管文件编号 人社部发2026XX 号 WebSearch
公司基本信息 成立时间、注册资本、法人 金融数据 MCP / WebSearch
行业统计数据 市场规模、增速、份额 WebSearch / 行业数据 MCP
日期和事件 "2026年3月发布" WebSearch

工具发现Agent 在首次 ingest 时通过环境检查(见 source-validation.md)确认可用工具。没有对应工具时,该类数据标注 verified: false,不阻塞 ingest。

不可验证的声明:观点、分析、预测、推断、主观评价。这些跳过校验,按 source-validation.md 的来源分级标注。

校验流程

Step 1: 提取可验证声明

从源文件中识别包含具体数字、日期、文号的事实性声明:

源文件原文:
"截至2024年底中国企业年金基金累计规模达到3.2万亿元覆盖企业12.8万家"

提取出 2 个可验证声明:
- 声明 A企业年金累计规模 3.2 万亿(截至 2024 年底)
- 声明 B覆盖企业 12.8 万家(截至 2024 年底)

Step 2: 尝试验证

按优先级使用可用工具:

1. 专业数据 MCP如金融、医疗、法律等领域数据接口有接口 → 直接查
2. WebSearch搜索官方发布的同期数据
3. Wiki 内交叉:看 wiki 中其他页面是否有相关数据
4. 无可用工具:跳过,标注 unverified

Step 3: 判定结果

结果 处理 frontmatter 标注
verified — 工具返回数据一致(误差 < 5% 正常 ingest verified: true
disputed — 工具返回数据不一致 暂停,展示差异,让用户决定 用户确认后标注 verified: user-confirmed
unverifiable — 没有工具或数据源不覆盖 正常 ingest verified: false
partial — 部分声明验证通过,部分未验证 逐条标注 混合标注

disputed 时的用户交互

以下示例以金融领域为例,实际执行时替换为用户的目标领域和工具:

⚠️ 数据校验发现差异:

声明:"XX 基金累计规模达到 3.2 万亿元2024 年底)"
数据工具查询结果3.58 万亿元2024 年底)
差异:-10.6%

可能原因:
- 源文件数据有误
- 统计口径不同
- 数据工具更新延迟

请选择:
1. 使用工具验证数据3.58 万亿)→ 替换源文件数据后 ingest
2. 使用源文件数据3.2 万亿)→ 标注 user-confirmed 后 ingest
3. 两者都记录 → 以 contested 方式 ingest
4. 放弃本条 → 跳过此声明

页面中的校验标注

在实体/概念页面中标注验证状态:

## 基金规模

截至 2024 年底XX 基金累计规模达 3.58 万亿元。
✅ verified数据工具 2025-01-15 查询)
(来源:[[2026-04-06-source-doc]],原文数据 3.2 万亿经工具校正)

## 历史

- ~~累计规模 3.2 万亿元~~(来源:[[2026-04-06-source-doc]] 原文,经工具校正为 3.58 万亿)

工具可用性

场景 有工具时 无工具时
专业领域数据 对应 MCP 自动验证 标注 unverified建议用户手动确认
公开信息 WebSearch 交叉验证 标注 unverified
内部数据(口述/会议) 无法验证 标注 source_type: 口述confidence: medium

Skill 在被动模式(无搜索工具)下:所有数据标注为 verified: false,依赖 source-validation.md 的来源分级作为可信度参考。不会阻断 ingest但会在每个数字旁标注"未验证"。

与 ingest-protocol 的关系

校验插入在 ingest-protocol.md 的 Step 1 和 Step 2 之间:

Step 1: 读取源文件,提取关键信息
Step 1.5: 【数据校验】提取可验证声明 → 工具交叉验证 → 判定结果
Step 2: 搜索已有 wiki
Step 3: 逐页比较新旧
...

如果 Step 1.5 发现 disputed 数据并暂停,用户确认后才继续 Step 2。