FDE Times 数据在招 FDE 职位 862▼55 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 70在招公司 180支持远程 24%美国薪资中位数 $200k招聘最多 Palantir 95
ENVI

前线部署工程师(FDE)的专业媒体

书籍与课程

Neo4j 课程教你做 GraphRAG,它的博客却说何时别做

这门两小时课程用 SEC 文件建图,但没有向量 RAG 基线,就无法向客户证明图真的有用。

分享微博

要点速览

  • Neo4j 的 Andreas Kollegger 在 DeepLearning.AI 上讲授这门 2 小时 4 分钟的课程:Cypher、上下文检索查询,以及用 Neo4j 和 LangChain 搭建的问答系统
  • 按 Neo4j 自己的说法,只需一个段落就能回答的问题,向量检索仍是正确选择;只有问题必须串联多个关系时,图才值得
  • 演示基于结构化文档,所以在客户真实数据上做实体去重和混合路由,需要自己去学
示意图:客户问题进入一个橙色路由器,由它在两条分支中选一条。上方分支是向量检索,处理单跳问题,例如“A 的最大风险是什么?”;下方分支是图加 Cypher,处理多跳问题,例如“谁和 A 共用供应商?”。路由器上方标注:课程没有教这一部分。
问题只需一个段落时,向量检索仍是合适的工具;图只在多跳问题上有优势。Tian Pan 认为,在两者之间做选择的路由器很难做好,而课程没有教这一点。

这门 2 小时 4 分钟的课程教你为 RAG 构建知识图谱。但对前线部署工程师(FDE)最有用的一句话不在课程里,而在 Neo4j 自家的博客上:如果 GraphRAG 没有改善你的指标,建模和维护图的投入就不值得。

两者并不矛盾。课程教的是怎么做 GraphRAG;在客户现场,更难的是判断要不要做。凡是被客户问到“为什么不用知识图谱?”的人,都应该学这门课,前提是清楚哪些内容能直接用到客户项目上,哪些得自己补。

两小时,三项能用上的技能

“Knowledge Graphs for RAG”是 DeepLearning.AI 上的一门短课,由 Neo4j 生成式 AI 创新负责人 Andreas Kollegger 讲授。官方页面显示最近一次更新是 2025 年 10 月 7 日。

课程承诺三项成果:用 Neo4j 的查询语言 Cypher 管理和检索图中的数据;编写查找并整理文本的查询,让 LLM 获得更相关的上下文;用 Neo4j 和 LangChain 搭建问答系统。

动手内容大多围绕从文本构建图,数据集是 SEC 文件。第 5 课的标题是“Constructing a Knowledge Graph from Text Documents”,与图对话的那一课放在最后。

按什么顺序学?

这门课与 LangChain 绑定很紧。DeepLearning.AI 建议先掌握 LangChain,或者先学“LangChain: Chat with Your Data”。如果从没搭过基于向量的 RAG 数据管道,先学那门课,这样手里才有可对比的基线。

学完之后,Andreas Kollegger 还讲授“Agentic Knowledge Graph Construction”(3 小时 8 分钟)。这门课在 Google ADK 上用多智能体系统自动构建图:先由 Agent 识别用户目标,再提议要抽取哪些节点和关系。它补上的正是 RAG 课程留下的 schema 空白。

第一课:谈图之前,先给问题分类

Neo4j 把 GraphRAG 定义为一组基于图结构的检索模式,而不是某个单一产品。对于何时不用图,这家公司说得很明确:如果问题靠语义匹配从一个段落里就能回答,向量检索仍是正确的工具。

图适合多跳问题,也就是事实之间的关系才是关键的那类问题。

用课程里的 SEC 数据来想象一下。“A 公司在今年的文件中列出的最大风险是什么?”只需要一个段落,向量处理得很好。

但“哪些公司和 A 公司依赖同一家供应商?”需要先从 A 走到供应商,再走回其他公司。这是两跳,图的优势就在这里。

第二课:真正的技能是整理上下文

Cypher 练几次就能上手。更值得掌握的是课程的第二项成果:编写既能查找又能整理文本的查询,供 LLM 使用。好的查询不会返回一堆节点,而是返回模型读得懂的内容。

以上面的两跳问题为例。假设图里有 Company 节点、Supplier 节点和 DEPENDS_ON 关系(这是示意用的 schema,不是课程里的)。查询大致如下:

MATCH (a:Company {name: 'Company A'})-[:DEPENDS_ON]->(s:Supplier)
      <-[:DEPENDS_ON]-(other:Company)
RETURN s.name AS supplier, collect(other.name) AS peers

原始结果只是几个名字和列表。整理这一步把它变成一句话:“A 公司依赖供应商 S。同样依赖 S 的其他公司:B、C。”这段字符串连同文件中的原始段落,就是发给 LLM 的上下文。

做练习时有个技巧:把发给 LLM 的上下文字符串原样打印出来,假装自己是模型去读。模型只能看到你给它的东西,如果你自己都觉得费解,就别指望它给出清楚的回答。

第三课:动手之前先写验收测试

Neo4j 的建议是先测量。第一次演示之前,和客户商定一组问题、一个指标和一个阈值。然后跑向量基线,之后才在同一组问题上跑图。

假设客户的问题集几乎全是单段落问题。那么图带来的差异多半不足以覆盖维护成本,而你刚刚为客户省下了几周工作。有证据支撑的“不需要图”,同样是有价值的结论。

课程跳过的部分最费功夫

课程的问答系统跑在结构化文本文档上,而不是客户那里杂乱的数据。有部署经验的工程师 Tian Pan 提醒:如果没有一套有章法的实体去重方法,图就会支离破碎;在他看来,这部分可能比抽取本身还费功夫。

具体来说,如果“Company A”“A Corp”和 A 的股票代码变成三个独立节点,上面的两跳查询只能匹配其中一个,答案就会不完整,而且不报任何错。

Tian Pan 还认为,混合架构需要一个路由器,决定何时用图来丰富上下文、何时只用向量,而这样的路由器很难做好。课程没有教这部分。

简历上别只写“学过 GraphRAG”。要写清楚:你在哪个具体问题集上把图和向量基线做了对比,如何处理重复实体,最终是保留还是放弃了图。如果岗位描述里提到“knowledge graph”或“Neo4j”,面试时要准备好讲这些决策背后的故事。

课程能带你做出一个能跑的演示。至于何时放弃图,只有客户能教你。

这篇文章对你有帮助吗?

6 个信源
路线图上的下一篇 · 阶段 3: AI 应用Anthropic 技能课程没教客户最关心的那件事6 个视频约 22 分钟,讲清 Claude Code 技能的创建与分享,却没教如何用评测证明技能有效。