为什么需要
出海做 AI 产品最头疼的是 LLM 幻觉——客服机器人答错、文档问答胡说、code review 编造 API。用户被幻觉坑一次就走,海外用户尤其在意准确度。传统方案是写一堆 prompt 规则让 LLM "更谨慎",效果不稳定。Reverify 的思路完全不同:LLM 负责提主张,所有主张由确定性工具(deterministic tools)对照真实数据源验证,验证不通过直接丢弃。
核心区别于 LangChain 的 self-consistency 等概率方案:Reverify 不让 LLM 投票决定答案,而是让外部工具做 ground truth 校验,比如查询数据库、调用官方 API、跑单元测试。主张 = "数据库里这条订单 status 是 paid",Reverify 会真的查一次数据库,不一致就丢弃这个主张。
怎么用
PyPI 安装:
bash
pip install reverify
嵌入到现有 LLM 调用链:
python
from reverify import Verifier
from reverify.tools import SQLTool, APITool
verifier = Verifier(
tools=[SQLTool(dsn="postgres://..."), APITool("https://api.internal/check")]
)
claims = await llm.extract_claims("用户的订单 #1234 已发货,预计明天到达")
result = verifier.check(claims)
# 返回:
# - verified_claims: 通过校验的主张列表
# - rejected_claims: 被工具否决的主张(写明原因)
# - confidence: 0-1,基于校验通过率
最终给用户回复时只用 verified_claims + confidence,confidence 太低就转人工。
使用案例
一个出海 SaaS 接入 Reverify 把客服幻觉率砍掉 80%:
- 用户问"我的订单状态",LLM 提主张 → Reverify 查数据库 → 没查到的主张直接丢掉
- 用户问"这个 API 怎么用",LLM 提主张 → Reverify 查官方文档 → 文档没写的主张标记低置信度
- 内部 code review Agent,LLM 提"这段代码有问题" → Reverify 跑测试用例 → 测试通过就不报警
注意事项
- MIT 开源,免费商用
- 需要自己定义 deterministic tools(查询、API、测试等),前期投入 1-2 天
- 不是 prompt 工程解决方案,是工程架构层解决方案
- 适合已经接 LLM 但幻觉率压不下来的团队