技术深度解析
RAG的根本缺陷
RAG系统基于一个简单但强大的原理:将文档嵌入向量空间,检索与查询语义最相似的文本块,并将其作为上下文输入LLM。这种方法对于事实性问题(如“法国的首都是哪里?”)效果良好,但在因果性查询(如“罗马帝国为何衰落?”)上则彻底失败。原因在于结构性的:RAG没有因果关系的表征。它将所有检索到的文本视为同等有效的证据,即使事件之间的因果关系复杂且非线性。
因果图:另一种架构
因果图,也称为有向无环图(DAG),将变量表示为节点,因果关系表示为有向边。例如,一个供应链的因果图可能包含“供应商交货时间”、“库存水平”、“需求预测”和“缺货风险”等节点,边表示“供应商交货时间”因果性地影响“库存水平”,进而影响“缺货风险”。这种结构允许智能体执行干预操作(将节点设置为特定值)并模拟下游效应。
因果图如何与LLM集成
集成通常采用两阶段流水线:
1. 图构建: 因果图可通过专家知识、数据驱动的因果发现算法(如PC算法、快速因果推断)或混合方法构建。开源工具如`causal-learn`(Python包,GitHub约4k星)提供了这些算法的实现。
2. 推理循环: 当智能体收到查询时,它首先识别因果图中的相关变量,然后利用图结构推理干预和反事实。LLM用于解释自然语言查询、将其映射到图节点,并生成因果推理路径的人类可读解释。
因果图与RAG的基准测试对比
最近的基准测试揭示了显著差异。由MIT和微软研究人员开发的CausalBench数据集,评估模型在因果推理任务上的表现。基于RAG的系统在简单检索任务上得分很高,但在因果问题上表现急剧下降。
| 任务类型 | RAG (GPT-4 + 向量数据库) | 因果图 + LLM | 提升幅度 |
|---|---|---|---|
| 事实检索 | 92% | 88% | -4% |
| 简单因果 (X导致Y?) | 65% | 94% | +29% |
| 反事实 (若非X,则Y?) | 38% | 91% | +53% |
| 多步因果链 | 22% | 85% | +63% |
数据要点: 该表表明,虽然RAG在纯事实检索上仍略有优势,但基于因果图的系统在需要因果理解的任何任务上都表现卓越。差距随任务复杂度增大而扩大,这表明对于智能体应用,因果图不仅是更好的选择——它们是必要的。
值得关注的GitHub仓库
- causal-learn (4.2k星):一个全面的Python包,用于因果发现和推断,实现了PC、FCI、GES和LiNGAM算法。
- DoWhy (微软出品,7.1k星):一个因果推断框架,与图模型集成,为识别、估计和验证提供统一API。
- CausalNex (Quantexa出品,2.3k星):一个用于因果推理和贝叶斯网络的库,注重可解释性。
关键玩家与案例研究
微软研究院:DoWhy生态系统
微软一直是AI因果推理的领先倡导者。他们的DoWhy库,结合用于异质性处理效应的EconML包,为因果推断提供了强大的技术栈。微软已将这些工具集成到Azure机器学习中,使企业客户能够为营销归因、A/B测试和供应链优化构建因果模型。他们的研究表明,将因果图与LLM结合,通过减少因果查询上的幻觉,提高了智能体工作流的可靠性。
CausaLens:企业级因果AI
CausaLens是一家总部位于伦敦的初创公司,围绕因果AI构建了商业平台。其产品CausalOS允许组织无需深厚的统计学专业知识即可构建和部署因果模型。该公司已融资超过4500万美元,客户包括主要金融机构和制药公司。其方法值得注意之处在于,将自动化因果发现与人在回路验证相结合,解决了从观测数据构建准确图的关键挑战。
开源替代方案:causal-learn vs. DoWhy
| 特性 | causal-learn | DoWhy | CausalNex |
|---|---|---|---|
| 主要焦点 | 因果发现 | 因果推断 | 贝叶斯网络 |
| 算法支持 | PC, FCI, GES, LiNGAM | Do-calculus, IV, DML | 结构学习, MLE |
| LLM集成 | 有限 | 强 (通过Azure) | 中等 |
| 易用性 | 中等 | 高 | 高 |
| GitHub星数 | 4.2k | 7.1k | 2.3k |
数据要点: Do