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