孟任巍
返回

可解释创新引擎:把RAG从“找证据”升级到“造方法”

用“方法节点 + 双树索引 + 策略合成 + 验证剪枝”的Agent-RAG框架,把创新过程变成可追溯、可调控、可验证的闭环。

可解释创新引擎:把RAG从“找证据”升级到“造方法”
2025年9月1日OngoingFirst author
RAGAgentKnowledge GraphHierarchical RetrievalExplainabilityVerificationScientific Discovery

这篇研究想解决什么:让AI不止“会答题”,还要“会创新”,并且能解释

如果你用过传统 RAG(Retrieval-Augmented Generation),大概会有一种既安心又抓狂的感觉:

  • 安心:它至少会“去查资料”,不完全靠拍脑袋。
  • 抓狂:它查回来的 chunk 像碎纸屑——拼一拼能答,但很难“推导”、更难“复用方法”,更别提“在证据链上发明新方法”。

我这篇工作想做的事情很直白:

把 RAG 从“检索几段文本给模型看”升级成“检索一套可复用的方法单元”,让 Agent 能在可解释链条上组合出新方法,并通过验证/评分把垃圾创新剪掉。

最后得到一个可以持续生长的系统:它不是一次性回答问题,而是能把好结论“写回知识库”,让自己越用越强。


为什么传统RAG不够:它检索的是“文本碎片”,不是“方法结构”

主流 RAG 典型流程:

  1. 文档切成 chunk
  2. 向量检索 top-k
  3. 把 chunk 拼给 LLM
  4. 生成答案

问题在于:chunk 不是方法
你问一个需要“结构化推导”的问题时(比如数学、系统设计、严谨论证),chunk 容易把关键依赖切碎:

  • 上下文依赖断裂:方法的前提在上一章,结论在下一章
  • 全局覆盖差:top-k 可能只代表局部相关,不代表整体语义结构
  • 复用困难:你很难把 chunk 作为“可组合的知识模块”反复使用

已有工作其实已经指出方向了,比如:

  • RAPTOR:用递归聚类+摘要搭树,解决长文档检索的“全局结构”问题
  • GraphRAG:用图结构做社区摘要,支持更全局的综合

它们的共同启示:检索需要结构


workflow

我的核心想法:把知识单位从“chunk”升级为“方法节点(methods-as-nodes)”

我做了一个非常“工程化但很学术”的替换:

证据不再是文本段落,而是“可复用的方法节点”。

一个方法节点可以是:

  • 一个模型结构 / 训练范式 / 推导技巧
  • 一个定理 / 引理 / 证明策略
  • 一个实验设计模式
  • 一个“哲学方法论算子”:归纳/演绎/类比/溯因……

然后我把整个知识库组织成两棵树(双树结构):


1) 方法溯源树 TMT_M:把“方法如何产生方法”显式化

  • 节点:方法节点(Method Node)
  • 边:前置方法 → 后置方法(贡献关系)
  • 边权 w[0,1]w \in [0,1]:贡献度(LLM先给1-5离散分,再映射到0-1)
  • 真实世界其实是 DAG(多父贡献),但为了检索效率和可视化:
    我选择“最大贡献”的父节点作为主父边形成树骨架,其他边作为“旁证边”。

一句话:这棵树告诉你:这个方法从哪里来、怎么来的、谁贡献最大。


2) 聚类摘要树 TCT_C:从“高层主题”导航到“底层方法”

这棵树更像“目录”和“地图”。

  • 叶子:方法节点
  • 中间层:聚类簇(cluster)
  • 每个簇有一个 LLM summary(相当于“该簇的主题描述”)
  • 层层聚合,越往上越抽象,越往下越具体

这棵树解决两个痛点:

  • 先用摘要层快速定位方向(省时间)
  • 再逐层下钻到具体方法(找得到细节)

workflow


在线推理:漏斗式检索 + 策略合成 + 验证剪枝 + 写回

当用户提问时,系统不是“一次检索一次生成”,而是一个闭环。

Step A:漏斗式检索(Funnel Retrieval)

TCT_C 顶层摘要开始,计算 query 与 summary 的相似度,选 top-k 簇下钻。

关键点:越往下选择的簇越少,用一个递减预算控制指数爆炸:

  • 上层宽(多选一点保证 recall)
  • 下层窄(减少计算与噪声)

Step B:溯源追溯(从叶子方法往上找祖先)

拿到叶子方法集合 Mq\mathcal{M}_q 后,我不是简单加个固定深度 m,而是做一个更“聪明”的版本:

边权越大,沿这个方向追溯越远

直觉:贡献强的链条更值得看更久;弱贡献链条快速停止。

这会让上下文更“干净”:不是盲目加长,而是把最关键的推导链补齐。

Step C:策略 Agent 负责“怎么创新”

我把创新过程拆成“可控算子库”:

  • Deduction(演绎):规则 → 应用
  • Induction(归纳):多个例子 → 一般规律
  • Analogy(类比):跨域迁移结构
  • Abduction(溯因):从现象反推最可能机制

策略 Agent 会根据用户意图选择算子,并生成 j 个候选新节点:

  • 每个候选必须输出:摘要、父节点归因、差异、新颖性、适用边界、验证计划
  • 同时记录一条可审计轨迹(auditable trajectory)

Step D:Verifier + Scorer:把垃圾创新剪掉

创新很容易“看起来很美”,所以必须有筛选:

评分维度(核心就是:创新是否只是改写、推导链是否闭合、是否能验证、是否有边界、是否对齐任务)

  • Novelty
  • Consistency / Explainability
  • Verifiability
  • Applicability boundary
  • Goal alignment

低于阈值就删掉;通过的节点写回知识库。

在数学/几何这种强形式化领域,还可以接入 Lean/Isabelle,走“可机检”验证路径(这也是我下一步想把它做强的方向)。


实验:它真的比“普通对话”更强吗?

我做了一套偏系统论文的评测方式:专家盲评

  • 6 个领域:数学、物理、计算机、生物、化学、社会学
  • 每个领域 100 个问题(总 600)
  • 每题对比 Agent-RAG vs 普通客户端 baseline(同底座模型)
  • 指标:新颖性、正确性、实用性、可解释性(加权综合)

主要发现(很有趣)

  • 绝对分数:社会学最高,数学最低

    • 社会学更适合语言组织与框架性论证
    • 数学对推导精度要求太苛刻,baseline 也更容易跳步
  • 相对提升:数学提升最大

    • 因为 baseline 在数学最容易“断链”
    • 我的系统强制溯源链 + 剪枝,改善最明显

也就是说:

你最难的领域,反而最吃“结构化方法链”和“验证剪枝”的红利。


消融实验:哪些模块真的有用?

我最喜欢的部分:把模块一个个关掉,看系统怎么“掉血”。

  • 去掉哲学方法论算子库 Φ\Phi
  • 去掉祖先追溯(只看叶子)
  • 追溯深度固定(不做自适应)
  • 去掉剪枝阈值(不过滤新方法)

结果很“符合直觉但也很漂亮”:

  • 社会学最敏感 Φ\Phi(方法论算子对框架性论证帮助大)
  • 数学最敏感“祖先追溯 + 剪枝”(断链与错误筛除是关键)

成本与时效:能不能调控?会不会太慢?

我不想做一个“只在论文里能跑”的系统,所以专门研究了:

  • 检索层数 nn
  • 每层选择数 k1k_1
  • 候选结论数 jj

这三者增大当然会提高质量,但我发现:

质量提升会很快饱和,而 token 成本近似线性增长。

因此你可以画出“质量-成本曲线”和 Pareto frontier,选择一个“性价比最高”的工作点:
这就是可调控系统的意义


无监督自进化:AI 的科学世界会长成什么样?

我做了一个非常“好玩但也很危险”的实验:让 Agent 不给任务,自我提出问题、自我构建RAG、自我写回。

观察到一种“科学史味道很浓”的现象:

  1. 长期停滞:反复组合旧结论,没有大突破
  2. 偶发突破:一旦出现关键新节点,增长速度暴涨
  3. 最大风险:缺乏证伪机制
    一旦错误结论写回,它会在后续层层堆叠放大,越来越难纠正(这就是我下一步要加的 falsifier 模块)

顺便一提:如果不给伦理约束,系统很快会提出很多不合伦理的生物实验——这说明“纯优化”会把伦理视为阻碍,而不是原则。


这项工作到底贡献了什么?(一句话版)

我把 RAG 从“检索文本碎片”升级为“检索与组合方法结构”,并用双树索引、策略合成、验证剪枝与写回闭环,让创新过程变得可解释、可控、可验证、可持续生长


下一步我准备怎么做(以及欢迎合作)

我最想补强三件事:

  1. 证伪模块(Falsifier Agent):主动找矛盾、周期性复核、纠错写回
  2. 更强的形式化验证:把数学/几何真正做成“可机检创新”
  3. 更严格的可复现评测:加入 chunk-RAG / RAPTOR / GraphRAG 等强 baseline,并公开问题集与标注

如果你也对“让AI创新但不黑箱”感兴趣,欢迎交流~