本场没有 lightning round,但讲者每 10-15 分钟主动停下来收问题(开场即声明「有问题请直接举手」,并让 Ben Squire、Ryan 在场边解环境卡点)。以下逐题列出:
- 能不能用 Cursor 代替 Claude Code? 应该可以,他本人没测过;顶部有仓库链接,clone 下来跑 shell 脚本即可本地起环境。→ 详细
- Neo4j / NeoCarta 战略上在做什么? 从「把数据导进图」转向「数据留在原地、用图引导 agent」:ontology、semantic layer、virtual graph(预览版,下推式 Cypher,把视图放到查询接口层而不只是元数据层)。→ 详细
- 为什么不干脆把 OLTP 数据推进 graph? TB 级数据持续更新导致同步难、需要自定义 ETL、以及最容易被低估的安全合规限制(敏感数据物理上能搬、制度上不许搬)。需要图查询性能、图算法、embedding、聚类时才值得搬。→ 详细
- 每次初始化 NeoCarta 会重建整个 graph 吗? 不会。build connections 通过 MCP server 函数把元数据 ingest 进去后就一直在,且是幂等加载;他自己上完课后没重跑,直接在上面查。→ 详细
- Cypher skill 是怎么来的、还能拿到哪些? 内部团队开发并持续更新到 Cypher 25/26;通过 Neo4j CLI 可下载一大堆 skill:agent memory、云基础设施、Java/Go 等各语言 driver。不用它,模型会去抓四五六年前的 Stack Overflow,给你过时的 Cypher。→ 详细
- bronze / Delta 表这类怎么办? 目前 NeoCarta 主打传统 SQL 数仓,更少结构化的数据甚至文档在考虑中,backlog 正在形成;已知在做 Databricks connector 和 metric views,可会后找 Ryan 聊。→ 详细
- 怎么知道 agent 真的调用了它该调用的东西? 看工具调用记录(connections 那步调的是 MCP server,会出现在 tool call 里);教学场景他还会在 prompt 里直接要求「明确讲清楚你用了哪些步骤和什么逻辑」;生产系统则应该看日志。→ 详细
- 加载文档的代码在哪、怎么解析? load documents 里就是 Cypher 查询,parse corpus 用正则;文档规整时正则 + 简单 NLP 就够,更乱就得上 GLiNER 或 LLM,「有不同的复杂度层级」。→ 详细
- 能换其他模型吗? 可以。现场用 Opus 4.5,但整套是 skills 框架 + MCP + CLI,「只要你能访问那个 MCP server,它就是模型无关的」。→ 详细
- relationship 该怎么命名、谁来命名? 确定性加载下由人提前定,「有点靠品味」;
HAS 刻意做通用以免 Cypher 复杂;粒度越细 agent 越精确但模型越复杂,几百种关系类型会撑爆上下文窗口。→ 详细
- 这是不是语义检索的替代品? 「我觉得把它称为『替代』是有点天真的」——大多数人最终会做混合检索,他自己至少会配全文搜索。但证伪类问题、理解「某文档关联哪些零件」这类,语义搜索确实答不好:理论上可以疯狂发 vector 查询捞段落,「但出错的概率更大」。→ 详细
- node label 要不要预先定义? 同样是建模品味题。本例不建 parts 节点,让 agent 自己抽;「两年前我大概会说你必须要有那个额外的 node」,但生命科学那种强本体场景仍然必须显式建模。→ 详细
- Lucene 索引到底怎么工作、怎么按 section 限定? 索引名
content_search,建在 document 和 section 节点上;先全文命中,再用层级 URI 做前缀后置过滤。→ 详细
- 已有 graph 但还没建 Lucene 索引,能让 Claude Code 建吗? 「我觉得可以,我这门课最开始可能就是这么干的」;但 Neo4j 的索引配置非常灵活(单节点 / 多节点 / 多属性组合),「这种灵活性在你让 AI 模型去做的时候,也可能成为它的阿喀琉斯之踵」。→ 详细
- 文档命名准不准,对 agent 遍历有多重要? 很重要;命名糟糕时 agent 会误解文档含义,所以必须配 search 增强。他自己用这套做个人知识库,最大的痛点是文档过时和漂移,考虑加「最后更新日期」和「是否权威」字段;链接别名同样关键。→ 详细
- 新文档进来怎么办? 幂等加载兜底:文档没变就重跑得到同一个图,最坏情况全量重载;也能只更新变动的 node 做部分同步,但要处理改名导致的跨文档 URL 引用等边界情况。→ 详细
- agent 应该先 outline 再 search,还是反过来? 两种都成立:可以先看目录再搜,也可以先搜到相关文档再顺着它的链接铺开。→ 详细
- 拿到 themes 之后要不要用 LLM 打标签? 本场用「前者」(只展示数据原文):稳定可复现、便宜、快;LLM 摘要(微软 GraphRAG 那套)信息更好读但更贵、更慢、两次跑结果可能不同。→ 详细
- 时序数据怎么处理? 反复重跑 Leiden,得到一串带时间戳的主题 id,可看演化;欺诈检测、反洗钱在 AI 之前就是这么用的。→ 详细
- 图很大时怎么把视图裁到可管理? 按社区规模设截断阈值,或用 conductance 指标截断——但要小心「有时候小社区反而非常重要」。→ 详细
- 怎么保证节点上的关系是对的? 本方案「照单全收地采信源数据」,错链或坏格式章节不一定能发现;但 outline 形状的一个副作用是可以让 agent 自动遍历、充当图的监督者去发现畸形数据。「我不知道我们有没有一个完美的解法。清洗脏数据一直都是个老大难。」→ 详细
- 知识库规模变大后准确率如何,有 benchmark 吗? 就今天演示的内容没跑过专门 benchmark;但客户会构建自己的定制 ontology 并跑 benchmark,对比「这种查询模式 vs 普通 vector search」在特定数据集上的效果。「今天这门课更偏概念」,而且 skill 怎么写「永远有优化空间」。→ 详细
- 结构化的 connection graph 和非结构化的文档 graph 之间有链接吗? 没有,两张图完全没打通。agent 是从一边抽出零件号或故障码,再回另一边查文档,「用这种方式在实时做自己的 join」。「你完全可以把这种链接建起来,那对更确定性的映射会很有价值。这里我们没做,主要原因其实是为了上手快,因为我确实想提供一份容易跑起来、而且不依赖特定模型的代码。」→ 详细
收尾:workshop 全程可在线免费重做;Anthropic 的 key 会被撤掉(需自备),BigQuery 的 key 会多留一阵;课程后面还有几节没现场讲的信息性章节和可选练习课。→ 详细