verify-contentlisted
Install: claude install-skill Amalia6767/curator-skills
# Verify Content — 内容验证技能
对 AI 生成的内容进行**溯源标注 + 交叉验证**双重检查,识别幻觉、伪造信息和失真表述。
## 触发条件
用户在生成内容后,主动说出以下关键词之一:
- "验证" / "verify" / "核实" / "检查幻觉" / "fact check"
## 工作流程
### Step 0: 确定验证目标
1. 明确**待验证内容**:最近一次生成的文档或指定文件
2. 明确**原始资料**:生成该内容时所依据的源文件(用户提供的 PDF、DOCX、会议记录等)
3. 如果不确定,询问用户:
- "需要验证哪个文件的内容?"
- "原始参考资料是哪些文件?"
### Step 1: 溯源标注(Source Tracing)
**由当前模型执行。** 逐条审查待验证内容中的每一个事实性陈述:
1. **重新阅读所有原始资料**(使用 Read 工具),不依赖记忆
2. 对待验证内容中的每个事实性断言,在原始资料中寻找对应出处
3. 为每条断言标注以下状态之一:
| 状态 | 含义 |
|------|------|
| ✅ 有据 | 在原始资料中找到明确对应内容 |
| ⚠️ 推断 | 原始资料有相关信息,但该表述是推断或概括,非直接引用 |
| ❌ 无据 | 在原始资料中找不到任何对应内容,可能是幻觉 |
| 🔄 变形 | 原始资料有相关内容,但数字、名称或含义存在偏差 |
4. 汇总产出**溯源标注表**
### Step 2: 交叉验证(Cross Verification)
**启动一个独立子模型(subagent)执行。** 该子模型不会看到 Step 1 的结果,从而实现独立验证。
使用 Task 工具启动子模型,prompt 需包含:
```
你是一个事实核查员。你的任务是验证一份文档的准确性。
【原始资料路径】
{列出所有原始资料的文件路径}
【待验证文档路径】
{待验证文档的路径}
请执行以下步骤:
1. 使用 Read 工具完整阅读所有原始资料
2. 使用 Read 工具阅读待验证文档
3. 逐条检查待验证文档中的每一个事实性陈述(数字、名称、日期、面积、描述等)
4. 对每条陈述判断:是否与原始资料一致?是否存在偏差?是否无中生有?
输出格式:
对每条有问题的陈述,输出:
- 【原文摘录】:待验证文档中的原文
- 【问题类型】:数字错误 / 名称错误 / 无中生有 / 含义偏差 / 遗漏关键信息
- 【原始资料原文】:对应的原始资料内容(如有)
- 【说明】:简要解释问题所在
如果所有内容均准确,输出:"全部内容核实通过,未发现事实性错误。"
```
### Step 3: 合并生成验证报告
合并 Step 1 和 Step 2 的结果,生成最终验证报告:
1. 交叉比对两轮检查的发现:
- 两轮都标记有问题 → **高置信度问题**
- 仅一轮标记有问题 → **待确认问题**,列出两方结论供用户判断
- 两轮都未发现问题 → **通过**
2. 按照模板输出报告(见 [report-template.md](report-template.md))
3. 将报告保存在待验证文档的同目录下,命名为 `{原文件名}_验证报告.md`
## 关键原则
- **不信任记忆**:验证时必须重新 Read 原始文件,不能依赖之前对话中的记忆
- **独立性**:交叉验证的子模型不应看到溯源标注的结果