跳转到主要内容

LLM 中的图推理缺陷:为那些令序列训练模型困惑的关系任务构建脚手架

阅读需 1 分钟Tian PanTian Pan

AI 系统设计中一个常见的错误是要求语言模型像阅读文档一样对图(graph)进行推理。模型会生成一个自信且流利的答案。但这个答案会以一种看起来正确的方式出错——它会列出真实的节点,引用看似合理的路径,并描述几乎存在的关系。接着你会发现,你的组织架构遍历幻觉出了越级经理,你的依赖项解析忽略了超过十个节点的图中的循环,而你的三跳知识图谱查询在第二步时的错误率就达到了 60%。

这不是提示词(prompt)质量的问题。这是一个架构问题,你可以在编写任何提示词之前就诊断出它。

根本原因:序列模型具有线性先验

LLM 是在序列上训练的。它们的 Transformer 架构通过在令牌流(token stream)上的注意力机制从左到右处理文本,并构建表示。这对于语言来说极其有效,因为语言的意义沿着线性轴流动,具有局部且有时是长距离的依赖关系。

图不是序列。图没有规范的顺序。节点只有邻域(neighborhoods),没有位置。最短路径查询需要维护一个候选前沿(frontier),在每一步跳转时更新距离,并进行回溯——这些操作在下一个令牌预测中没有自然的类比。当你将图序列化为文本并交给 LLM 时,模型将其线性先验应用于一个本质上是非线性的结构。

经验证据是确凿的。在图计算任务(GraphArena, ICLR 2025)上对 LLM 进行基准测试的研究发现,在直径计算任务上,五节点图的幻觉率从 16% 跃升至三十节点图的 80% 以上。随着路径长度超过三或四跳,最短路径查询的成功率急剧下降。循环检测——在概念上很简单,只需要带有访问集合的深度优先搜索(DFS)——在超过十个节点的图上始终失败。这些数字并不会随着更好的提示词而显著改善;它们追踪的是任务的复杂性,而不是指令的质量。

Google 2024 年关于图编码的研究发现,仅序列化格式的选择就能使准确率波动 55 个百分点。这并不是说正确的编码解决了问题——这表明模型是在对文本结构进行模式匹配,而不是进行图推理。

构建前你需要了解的失败分类学

并非所有的图问题都会以同样的方式失败。在投入架构之前,对你的目标任务进行快速的复杂度审计。失败模式分为三类。

局部属性查询——边 (A, B) 是否存在?节点 X 的邻居是谁?——是最宽容的。LLM 可以在小图上可靠地处理这些问题,因为它们被简化为序列化文本中的类似于查找的操作。

路径依赖查询——最短路径、可达性、传递闭包——失败率与路径长度和图密度成正比。错误在每一步跳转中传播。每步准确率为 90% 的模型在三跳后准确率达到 73%,在五跳后降至 59%。多智能体路径规划研究发现,迷宫遍历中 77% 的失败来自于模型在局部区域振荡,而不是进行全局探索——这是模型将局部注意力应用于需要全局状态的问题时的典型症状。

全局属性查询——这个图是有向无环图吗?它的直径是多少?它是二分图吗?——对于任何非平凡的图,这些查询几乎总是错误的。这些任务要求模型同时整合整个结构的信息,而这在线性上下文中没有表示。

构建前的诊断非常简单:根据任务所属的类别和图的规模来表征你的任务。如果你的任务是路径依赖的且图有超过二十个节点,或者是全局属性的且图有超过十个节点,请不要要求 LLM 在上下文(context)中对图进行推理。使用工具。

实践中会出现什么问题:三种常见模式

组织架构遍历。有人构建了一个 HR 助手来回答关于汇报结构的问题。图被序列化为自然语言:“Alice 汇报给 Bob。Bob 汇报给 Carol。Dave 汇报给 Carol。”像“谁是 Alice 的同级经理?”这样的问题需要找到 Alice 的经理 (Bob),找到 Bob 的经理 (Carol),并找到 Carol 的除 Alice 以外的其他直接下属。LLM 经常会发生短路,返回 Bob 的同僚而不是 Alice 的同僚,或者将层级结构压缩一级。模型没有“级别”的表示——它只有给定的边标签,并用统计上最合理的答案填补空白。

依赖图解析。构建系统、包管理器和数据管道都涉及依赖图,其中“我可以运行步骤 X 吗?”这一问题需要检查所有上游节点是否已完成,以及图是否无环。如果循环足够长,以至于在生成过程中超出了模型的隐式注意力范围,LLM 会自信地报告循环依赖是安全的。在基准测试中,一旦循环长度超过五条边,循环检测失败率就会急剧增加。

多跳知识图谱查询。“哪家公司资助了收购开发这项技术的公司的初创公司?”是一个三跳查询。关于知识图谱问答的研究发现,多跳错误率会按跳数复合:每一步都会引入独立的幻觉风险,而后续的跳转则建立在先前的错误之上。如果模型在第二跳命名了错误的收购目标,那么第三跳就完全失去了依据。

补偿架构

这种行之有效的模式包含三个组成部分:有意识的编码(deliberate encoding)、外部遍历(external traversal)以及计划与执行分离(plan-execute separation)。

有意识的编码即便在你使用工具时也至关重要。当你需要 LLM 理解图结构——无论是规划遍历路径、解释结果还是说明路径时——你选择的编码格式会产生可衡量的影响。Google 的研究发现,事件式编码(incident-style encoding,即在描述每个节点时紧接着列出其相邻的边)的表现优于原始边列表和邻接矩阵。当 LLM 需要理解结构而非在其上执行代码时,自然语言形式的邻接列表(例如 “节点 A 连接到节点 B 和 C;节点 B 连接到节点 A 和 D”)比结构化格式的解析效果更可靠。对于语义图,请在节点 ID 旁边包含简短的实体描述——模型对 “Node_CEO_0: Alice, 工程副总裁” 的推理效果远好于 “Node_0”。

外部遍历工具是支撑系统的核心修复方案。GraphWalk 模式(2024)提供了一个极简且可验证的工具接口:模型可以查询节点的邻居、遍历特定的边、检索节点属性以及回溯。LLM 负责规划遍历并解释结果;每一个具体的步骤都由确定性函数执行,并在下一步开始前进行验证。这把图推理问题转化为了 LLM 擅长的规划与解释问题。对于知识图谱,等效的模式是 Cypher 或 SPARQL 生成——由模型编写查询语句,由数据库执行。模型的工作变成了将意图转化为查询语言,而不是在其上下文窗口中遍历图。

计划与执行分离推广了这一原则。LLM 产出高层级的遍历计划:“步骤 1:找到所有具有属性 X 的节点。步骤 2:针对每个结果,检索出边。步骤 3:按属性 Y 进行过滤。” 一个独立的执行层针对实际的图运行每个步骤,并将结果反馈给规划器。这创建了一个可验证的审计追踪。当答案错误时,你可以精确地检查是哪个步骤出了问题。

实践中的任务诊断

在构建之前,请对你的目标任务进行以下检查:

  • 最坏情况下的查询需要多少跳(hops)? 如果超过两跳,请为工具辅助遍历而设计,而非上下文内推理。
  • 任务是否需要全局属性? 环检测、直径、连通性、平面性——这些始终需要符号执行。
  • 峰值负载时你的图有多大? 对于路径查询超过 20 个节点,或对于全局查询超过 10 个节点,上下文内推理的可靠性就会低于生产环境阈值。
  • 边权重是否关键? 带权最短路径问题对 LLM 来说比无权路径难得多;权重值在 Token 空间中没有自然的表示形式。
  • 你的任务是否需要跨分支维护状态? 具有多个分支的决策树或选项树(tree-of-options)问题需要在工具调用中进行显式状态管理,而不是在上下文中进行隐式跟踪。

如果你的任务通过了所有这些关卡——小规模图、局部属性、不超过两跳——那么经过精心编码的上下文内推理可能会奏效。在确定架构之前,请先运行 50 次查询评估。如果失败率超过十分之一,请切换到基于工具的遍历。

这对你的设计意味着什么

在实践中,这意味着 AI 系统中的图结构数据需要与数据库查询得到相同的待遇:模型应该负责规划和解释,而不是执行。对于 SQL 这已经是成熟的模式(没有严肃的团队会提示 LLM 在上下文中扫描行),图数据也理应遵循同样的规范。

在知识图谱应用中,这意味着从一开始就采用 GraphRAG 或 Cypher 生成层,而不是在上下文内推理大规模失败时再进行补救。在组织架构和依赖关系应用中,这意味着构建显式的遍历 API——甚至是基于 networkx 图的简单 Python 函数——供模型调用,而不是让模型在输出中模拟遍历。

结合了基于 GNN 的结构推理与 LLM 语义理解的架构(如 GNN-RAG 及其变体)代表了这一领域的的前沿:让图原生模型处理消息传递和关系聚合,让 LLM 处理语言理解和解释。这两类问题的形状正好匹配这两种架构。

要避免的失败模式是那种“看起来行得通”的情况:模型对组织架构图或依赖图给出了流利、自信的回答,直到它出错为止。LLM 中的图推理缺陷在小规模时是隐形的,在大规模时则是灾难性的。诊断的成本很低,而修复方案——带有意识编码的工具化遍历——也很直接。请在集成之前进行诊断,而不是在事故发生之后。

参考资料

保持联系,关注我获取更多内容

阅读需 9 分钟

知识图谱作为 RAG 的替代方案:当结构化检索优于向量嵌入时

向量相似度搜索在处理多跳查询和依赖模式的事实时往往会悄然失效。本文将探讨属性图遍历查询在何时优于嵌入查找,以及如何构建兼顾两者的混合系统。

rag
knowledge-graphs
阅读需 9 分钟

思考预算:扩展推理模型何时真正具备经济意义

扩展推理模型可能将推理成本推高 5-30 倍,也可能在高难度任务上带来真实的质量飞跃。关键在于路由决策:哪些查询真正值得使用思考 token,如何设置预算上限,以及如何在账单到来前发现过度思考。

insider
llm
阅读需 10 分钟

推理模型的提示词用法大不同:为何你现有的模式在 o1、o3 和 Claude 扩展思考上会失效

o1、o3 和带扩展思考的 Claude 等推理模型处理提示词的方式,与指令跟随模型有着本质区别。那些在 GPT-4 上有效的模式,反而会主动损害思考模型的性能——本文提供一套适配框架。

prompt-engineering
reasoning-models
阅读需 10 分钟

认知工具支架:在不增加成本的情况下获得接近推理模型的性能

通过将四种结构化认知操作作为工具调用,可以将标准的 70B 模型在竞赛级数学基准测试中的表现从 13% 提升到 30% —— 以基础模型的价格实现了接近 o1-preview 的效果。本文提供了一个实用的决策框架,探讨何时认知支架方案优于直接购买推理模型。

llm
reasoning
阅读需 8 分钟

生产中的推理模型:何时使用,何时不使用

一份关于在生产环境中部署推理模型的实用指南——何时其 5-10 倍的成本溢价是合理的,如何构建路由架构,以及需要跟踪哪些指标。

llm
ai-engineering