第35回 LLM 与图的协同——图提示与联合模型
图可化作一卷书,书里暗藏万条路。
若把路径写成法,模型也能学走步。
到第34回为止,我们练的是“图的内功”:
走路(BFS)、几何(嵌入)、传话(GNN)。
可江湖在 2024–2026 年最热的一招,是把两大门派合并:
- 大模型擅长语言与推理
- 图擅长结构与关系
于是出现了一个总命题:
LLM 能不能做图推理?图能不能让 LLM 更可靠?
相关综述把“LLM for Graphs”分成多种范式:
有的把 GNN 当前缀,有的把图序列化成文本,有的让 LLM 与图模块协作。1
这一回我们用说书人的口吻,把它讲成两条路:
- 把图喂给 LLM(让它看懂图)
- 让图服务 LLM(让它回答更稳)
一、把图喂给 LLM:先解决“怎么看”
LLM 天生吃文本,不天生吃图。
所以第一件事是“翻译”:
- 把节点与边写成文本序列
- 把子图写成路径列表
- 把图算法写成伪代码,让模型沿伪代码推理
其中一个很有代表性的做法是“伪代码提示”:
把图问题(如最短路、连通性)对应的算法步骤写成伪代码,让模型照着走,性能会更稳。2
这和导读里“慢思考”的精神一致:
别让它凭感觉编,给它一条可执行的路。
二、让图服务 LLM:再解决“回答凭什么可信”
反过来,图也能增强 LLM:
- 知识图谱提供结构化事实,减少“编关系”
- GraphRAG 提供可解释的路径与子图证据
- 图上检索能做多跳取证,补齐纯相似检索的短板
你会发现:
图对 LLM 的价值,不只是“多一点知识”,而是“把知识组织成可追溯结构”。
三、联合模型:一半是图,一半是语言
常见的联合形态有三种(只说直觉,不展开公式):1
- GNN→LLM:先用 GNN 编码子图,再把编码结果送进 LLM 生成
- LLM→GNN:LLM 产出伪标签/指令/补边建议,反过来训练或修正图模型
- 协作式:LLM 负责规划与解释,图模块负责检索与验证,像两个人搭档办案
这和第二十二回“工具调用”是一脉:
LLM 不必什么都自己做,它只要会调度“更擅长的工具”。
四、极简可跑代码:把子图写成“路径伪代码”
我们不调用任何大模型,只演示“把图翻译成文本提示”的核心手艺:
- 输入:一批三元组子图
- 输出:一段可读的“路径/规则”文本(可作为提示词的一部分)
TRIPLES = [
("张三", "就读于", "清华"),
("清华", "位于", "北京"),
("北京", "属于", "中国"),
]
def to_pseudocode(triples):
lines = []
lines.append("DATA:")
for h, r, t in triples:
lines.append(f" EDGE({h}, {r}, {t})")
lines.append("")
lines.append("ALGO (follow step by step):")
lines.append(" 1) Start from the query entity.")
lines.append(" 2) Traverse EDGE to find reachable nodes.")
lines.append(" 3) If a path connects A to B, report the path as evidence.")
return "\n".join(lines)
if __name__ == "__main__":
print(to_pseudocode(TRIPLES))
你看,这段“伪代码提示”没什么玄学:
它只是把图结构与推理步骤写得更明确,
让模型更像“按步骤做题”,而不是“凭语感作文”。
这也解释了为什么伪代码提示在一些图推理任务上能提升表现:
它把隐含的算法步骤显式化了。2
五、小结:协同的关键是“翻译”和“验证”
LLM 与图的协同,说到底就两件事:
- 翻译:图怎么变成 LLM 能读的上下文
- 验证:LLM 说的话怎么落回图的证据与约束
下一回(第36回)我们从“结构”转向“行动”:
规划与自省循环——让智能体学会分解任务、执行、复盘、再来一遍。
欲知后事如何,且听下回分解。
幻觉核查
- LLM for Graphs 的范式分类:可核对综述对 GNNs as Prefix / text serialization / integration 等体系化总结。1
- 伪代码提示用于图推理:可核对论文对 pseudo-code prompting 的设置与实验结论。2
- 本回代码只展示“图→文本提示”的最小形式,不代表最佳提示工程或完整联合模型架构。
逻辑审计
- 与第34回衔接:第34回讲图上的消息传递,本回讲如何把结构信息送进 LLM,或让 LLM 反过来改图。
- 与导读一致:导读强调“慢思考=把过程写出来”,伪代码提示正是把过程外显。
- 为第36回铺路:协同的下一步是“工作流化”,规划与反思把协同变成可重复执行的系统。
引用与溯源
Footnotes
-
Ren, X., et al. A Survey of Large Language Models for Graphs arXiv:2405.08011 (v3: 2024-09-11) https://arxiv.org/abs/2405.08011 ↩ ↩2 ↩3
-
Skianis, K., et al. Graph Reasoning with Large Language Models via Pseudo-code Prompting arXiv:2409.17906 (2024-09-26) https://arxiv.org/abs/2409.17906 ↩ ↩2 ↩3