当AionClaw与原生OpenClaw对同一文档和查询返回不同答案时,必须逐层比对:先统一TaoToken生成入口,再验证RAG检索是否对齐(含OCR增强、标题锚点等),然后检查Hermes校验是否介入,最后导出并人工核对原始检索片段。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当AionClaw和原生OpenClaw对同一份文档、同一句查询返回不同答案,说明底层检索链路或模型调用环节已出现实质分歧,必须逐层比对而非直接采信任一结果。
先确认是否用了同一套TaoToken生成通道
打开AionClaw设置→「大模型」→查看当前启用的模型名称与Token来源;再打开原生OpenClaw的config.yaml文件,定位llm_provider字段和api_key路径。如果AionClaw走的是taotoken.net直连,而OpenClaw调用的是本地Ollama或自建vLLM服务,【两者根本不在同一生成基准线上,对比无效】。必须先统一为TaoToken入口——AionClaw默认已绑定,OpenClaw需手动修改配置并重启服务。
这一步跳过会导致后续所有排查白费:检索召回可能一致,但重排、摘要、格式化输出全由生成侧决定。
检查RAG检索阶段是否真正对齐
方法一:用相同PDF文档做最小复现
① 将同一份带目录的《2026年设备维保规范V3.2.pdf》分别导入AionClaw知识库(使用默认切片策略)和OpenClaw的vector_store目录(运行python ingest.py -f ./spec.pdf);
② 在两个系统中输入完全相同的自然语言问题:“第4.7条规定的应急响应时限是多少?”;
③ 分别点击「查看检索依据」按钮(AionClaw在答案右下角有小眼图标;OpenClaw需在终端日志里搜“retrieved chunks”)。若AionClaw展示3个chunk且都含“4.7”,而OpenClaw只召回1个且内容残缺,说明向量库构建参数不一致——AionClaw默认启用OCR增强+标题锚点识别,OpenClaw原生版默认关闭这两项。
方法二:强制绕过向量库,比对原始文本匹配
在AionClaw中输入指令:“不用向量检索,全文grep查找‘4.7’所在段落”;在OpenClaw命令行执行:python -c "import re; print([l for l in open('spec.pdf.txt').readlines() if '4.7' in l])"。若结果一致,证明差异出在Embedding或召回逻辑;若不一致,说明PDF解析环节已有偏差。
验证Hermes Agent是否介入了答案修正
AionClaw的Hermes模块会在生成答案后自动执行一次事实校验:它会把大模型初稿中的关键数值、条款编号、日期等提取出来,反向去原始chunk里做字符串匹配确认。而原生OpenClaw无此机制,输出即最终结果。
打开AionClaw的「调试模式」(设置→高级→开启Hermes trace),重新提问。观察日志中是否出现“[Hermes] verified ‘48小时’ against chunk #27, match=exact”这类记录。如果没有,说明当前任务被判定为无需校验;如果有且显示“match=fuzzy”,则答案已被后台悄悄修正过——此时你看到的不是大模型原生输出,而是经本地规则兜底后的结果。
【务必注意:Hermes校验仅作用于AionClaw,OpenClaw无对应功能】
导出原始检索片段做人工交叉核对
在AionClaw中长按答案区域→选择「导出引用原文」→保存为aion_chunks.json;
在OpenClaw终端中执行:python tools/export_retrieval.py --query "第4.7条" --output openclaw_chunks.json;
用VS Code并排打开两个JSON文件,逐条比对source_file、page_number、text字段。只要发现任意一条AionClaw召回的chunk在OpenClaw结果里缺失,或OpenClaw召回的chunk在AionClaw里被过滤,就立即停手——问题根源锁定在文档预处理环节,不是模型问题,是切片粒度、页眉页脚清洗策略、表格转文本方式不同导致的。


















