GraphRAG 退位,HG-RAG 雄起——给 RAG 装上层级指南针
原文链接:GraphRAG退位,HG-RAG雄起
作者:PaperRAG
论文:HG-RAG: Hierarchy-Guided RAG for Structured Knowledge Graphs
代码:Pranubot/HG-RAG(Python)
问 LLM「Voss 城在哪个国家」,dense RAG 找 top-10 相似节点,但 country 节点语义不够近没被召回,模型只能瞎猜。这就是平铺式 RAG 的致命伤:它假设知识是平的、无结构的。
崩塌模式:自洽但全错
更阴险的发现:图越大 baseline 准确率越低,幻觉率却没升。
| 图规模 | Baseline 准确率 | 幻觉率 |
|---|---|---|
| Small (~18 节点) | 1.00 | — |
| Medium (~150 节点) | 0.24 | 低 |
| Large (~800 节点) | 0.02 | 0.006 |
检索召回了错误节点,LLM 忠实地复述了错误内容——自洽但全错。光看幻觉率会以为系统没问题。
HG-RAG 核心抽象:两类边
HG-RAG 的核心创新是显式区分图上的两类边:
| 边类型 | 含义 | 示例 |
|---|---|---|
| 结构边(contains) | 父子层级 | Planet → Country → City |
| 关系边 | 横向关联 | borders / trade_with / hostile / unfriendly / neutral |
检索不靠语义相似度,靠锚点 + 方向。
四步流水线
1 | Query → ①实体解析 → ②层级锚定(k_up=2) → ③横向遍历(k_side) → ④子节点抓取(k_down) |
第一步:Entity Resolution
LLM 扫 query 抽命名实体当锚点。失败时 4 级 fallback:
1 | exact match → first-word match → fuzzy match(cutoff=0.5) → No entity |
关键设计:fuzzy match 命中错误类型节点时(该要 country 却匹配到 city),静默回退到 ground-truth anchor——大图 name collision 场景的关键保险。
第二步:Hierarchy Anchoring(k_up=2)
从锚点沿 contains 边向上走两步,正好覆盖三层结构(City → Country → Planet)。
第三步:Lateral Traversal(k_side)
沿关系边横向扩展。关键工程取舍:子图硬 cap 15 节点,触到 cap 时 hostile 和 unfriendly 邻居永远优先于 neutral——对抗关系是最重要信息,不能被稀释。
第四步:Child Traversal(k_down=0)
按需向下抓子节点,默认关闭,只在 query 显式需要时开启。
序列化格式:
CityX is a city located in CountryY, on Planet Z + [PLANET]/[COUNTRY]/[CITY]/[RELATIONS] 分块标签
(试过箭头 notation,LLM 读不懂。)
实验结果
Mistral 7B 本地 Ollama 推理,三层合成世界。
| 指标 | Small | Medium | Large |
|---|---|---|---|
| Baseline 准确率 | 1.00 | 0.24 | 0.02 |
| HG-RAG 准确率 | 1.79 | 1.79 | 1.86 |
| Baseline multi-hop | 3.45 | 2.82 | 1.66 |
| HG-RAG multi-hop | 3.23 | 3.88 | 4.10 |
反直觉发现:图越大,HG-RAG 优势越大
- Hierarchical 和 local_fact 上每个规模都满分 2.00
- Multi-hop 评分:baseline 随规模退化(3.45→2.82→1.66),HG-RAG 随规模上升(3.23→3.88→4.10)
为什么小图拉不开差距?
- 小图 18 节点,15-node cap ≈ 整张图塞进去,过滤优势被稀释
- Baseline 在小图上噪音本就少
- 大图上 cap 成了有效过滤器,baseline 在数百候选中迷失
关键启示
- 结构化知识该用结构化检索——语义相似度不是万能的
- 幻觉率低 ≠ 答案对——dense RAG 在大图上会「自洽地全错」
- 层级结构是信息——把结构边和关系边混为一谈等于扔掉最重要的导航信号
局限
- 仅在合成三层世界上验证,真实 KG 更复杂
- Mistral 7B 自评自审的偏差未消除
- Name collision 场景依赖 ground-truth fallback
- 标题: GraphRAG 退位,HG-RAG 雄起——给 RAG 装上层级指南针
- 作者: lxiol
- 创建于 : 2026-07-27 13:20:00
- 更新于 : 2026-07-27 12:38:55
- 链接: https://blog.lxiol.cn/2026/07/27/HG-RAG-层级指南针-GraphRAG退位/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。