AI 事实核查总说"有一定可信度"?我写了个技能,让它敢下结论、有据可查、还会帮你写高情商回复

3 阅读5分钟

AI 事实核查总说"有一定可信度"?我写了个技能,让它敢下结论、有据可查、还会帮你写高情商回复

问题:AI 不适合做事实核查?

让 AI 做事实核查,很多人第一反应是:它幻觉都解决不了,怎么查别人?

但换个角度想——AI 擅长的是信息检索和交叉比对,而事实核查的核心工作恰好就是这些。真正难的不是"搜索",而是输出质量控制:AI 天然倾向于讨好、模糊、和稀泥。事实核查需要的是"敢下结论、有据可查、态度鲜明"。

基于这个思路,我在 OpenClaw 上做了一个事实核查技能——Debunk。不追求 100% 准确(没有工具能做到),但追求结论明确、来源可查、结构一致。用了一个月,处理了各种假新闻、营销夸大、伪科普,效果超出预期。

先看效果

以下是对一条"Anthropic 开源代码库并更名 OpenClaude"假新闻的核查结果(实为愚人节文章被搬运成突发新闻):

可信度评级与核查清单

锐评总结

社交回复话术(高级情商版)

从上面可以看到,核查报告包含可信度评级、核查清单(每条论点有来源链接)、锐评总结、以及社交回复话术。不是冷冰冰的"这是假的",而是用事实说话的同时帮你维护社交关系。

技能架构

用户输入(链接/截图/文字)
    │
    ├─ 场景判断:自查型 or 社交回复型
    │
    ▼
步骤 1:获取内容
    ├─ 公众号 URL → Playwright 脚本(反爬兜底)
    ├─ 其他 URL → web_fetch
    ├─ 截图 → OCR
    └─ 文字 → 直接使用
    │
    ▼
步骤 2:提取核心论点(可验证的事实性声明)
    │
    ▼
步骤 3:逐一查证(web_search + web_fetch 交叉验证)
    │
    ▼
步骤 4:生成输出
    ├─ 场景 A:可信度评级 + 核查清单 + 锐评总结
    └─ 场景 B:上述 + 意图推测 + 4 种回复话术

两种场景的区分很简单:有没有社交语境。有人分享给你 → 社交回复型,自己查 → 自查型。

技术实现

基于 OpenClaw Agent 平台,核心审核流程封装在 debunk 技能,已发布到 ClawHub

第一步:安装技能

openclaw skills install debunk

技能安装后位于 ~/.openclaw/skills/debunk/,包含 SKILL.md(核查流程定义)和 scripts/fetch-url.js(反爬兜底脚本)。安装即可使用,无需额外配置。

第二步:了解输出结构

技能的输出是高度结构化的,这是质量控制的手段——固定格式比自由发挥更可靠。

可信度评级(技能自带)

用 5 星制评级,强制显示满 5 个符号,不留模糊空间:

☆☆☆☆☆  完全捏造
⭐☆☆☆☆  几乎全假
⭐⭐☆☆☆  大部分不实
⭐⭐⭐☆☆  有事实基础但被夸大
⭐⭐⭐⭐☆  大部分属实,个别措辞有营销成分
⭐⭐⭐⭐⭐  完全属实
核查清单(技能自带)

每条论点严格按以下格式输出:

**N. "原文引用的论点"**
​
✅/⚠️/❌/❓ 一句话结论。关键数据对比和实际情况说明。
​
🔍 来源名称:一句话概括该来源说了什么(`[原文](URL)`

每条论点必须有至少一个权威来源链接,不允许无来源的结论。

锐评总结(技能自带)

主观评论,可以毒舌、调侃、嘲讽。但禁止重复核查清单里的具体数据——锐评是"读后感",不是"摘要"。

回复话术(技能自带,仅社交回复型场景)

默认展示高级情商版,核心结构:

环节篇幅要求
肯定~50%肯定内容中正确的部分、对方的善意
不留痕迹引导~50%用疑问引导/补充信息/邀请验证等技法递出事实

关键原则:

  • ❌ 绝不允许只有肯定没有引导
  • ❌ 禁止用"但是""不过"等明显转折词
  • ✅ 用"对了""顺便""说到这个"自然过渡

引导技法示例:

# 疑问引导
"这个数字我看着有点奇怪,80分说的是哪个版本来着?"# 补充信息
"对了之前看到另一个测试里 Claude 还是领先两分左右"# 邀请验证
"这个数据是官方的还是媒体自己算的?回头可以找原报告看看"

第三步:了解反爬兜底机制

公众号(mp.weixin.qq.com)有反爬,web_fetch 大概率失败。技能内置了 Playwright 脚本兜底:

node ~/.openclaw/skills/debunk/scripts/fetch-url.js "<url>" --max-chars 15000

抓取优先级:web_fetch → Playwright 脚本 → 提示用户复制粘贴。这是技能内置的逻辑,不需要手动配置。

第四步:直接使用

安装完成后,直接对 Agent 发消息即可:

# 自查型
"事实核查一下这个:https://example.com/article"# 社交回复型
"朋友转发了这个,帮我查查是真的吗:https://example.com/article"# 文字输入
"帮我核查这段话:[粘贴内容]"# 截图输入
[发送截图]

技能会自动判断场景并生成对应格式的输出。

踩坑总结

坑 1:AI 不敢下结论

最初版本没有规定"必须显示满 5 个符号"的评级格式,AI 经常给出模糊的"有一定可信度"而不是明确的星级。根本原因是 AI 的讨好倾向——怕得罪人、怕判断错。

解决:规定固定格式(☆☆☆☆☆ ~ ⭐⭐⭐⭐⭐),用符号强制 AI 做出明确判断。

坑 2:社交回复只有肯定没有引导

AI 的默认行为是"你说得对,不过..."——要么全是肯定(阿谀奉承),要么用"但是"硬转折(太刻意)。

解决:设计"高级情商版"作为默认风格,规定"肯定 50% + 引导 50%"的结构铁律,提供引导技法表,明确禁止"但是""不过"等转折词。

坑 3:核查清单缺少来源链接

AI 会写"据媒体报道"但不给具体链接,或者给一个搜索结果页而不是原文链接。

解决:规定固定格式(🔍 来源名称 + 一句话概括 + [原文](URL)),明确要求"不允许无来源的结论"。

坑 4:公众号文章抓取失败

web_fetch 对公众号返回空内容或反爬拦截页。

解决:内置 Playwright 脚本 scripts/fetch-url.js 作为兜底,优先级为 web_fetch → Playwright → 提示用户手动复制。

最终效果

  • 输入链接/截图/文字,输出结构化的核查报告
  • 每条论点都有可信度评级、权威来源链接、具体数据对比
  • 社交场景下自动生成回复话术,帮你纠正错误又不伤和气
  • 公众号等反爬网站有专用 Playwright 脚本兜底

技能开源