第 4 站 · 記住東西該站第 10 / 11 場

圖結構實戰:從食譜到程式碼查詢

065Tim Ainge(Good Collective)14:172026-07-18

A Practitioner's Guide to Graphs - Tim Ainge, Good Collective

圖結構實戰:從食譜到程式碼查詢 —— Good Collective的演講縮圖

從食譜抽取、實體去重到程式碼庫查詢,用具體例子拆解怎麼設計圖結構,讓 AI 應用更聰明、成本更低、也更可靠。

重點摘要

  • schema 先決定,圖才有用:與其用泛用的 subject-predicate-object triple,不如先定義 schema(像是 recipe、ingredient、quantity),再用 ontology 補齊格式與單位的細節,圖裡的關係才會有意義。
  • 實體要先去重:同一種東西常被拆成好幾個節點(像 garlic cloves 跟 minced garlic),先用對照表消除已知的重複,再靠 embedding model 抓出沒預先列出的同義詞。
  • 圖查詢在多層關聯時比 SQL 直覺:同一個問題如果要串好幾層 join,SQL 語法會很快失控,圖查詢語言處理橫跨多個節點的關聯反而自然。
  • personalized PageRank 找出真正相關的節點:從指定節點出發做隨機遊走,密集群聚、人工很難判斷重要性的場景特別好用,Pinterest Pixie 與 HippoRAG 都是知名案例。
  • 子圖檢索能省下大量 tool call:走最短路徑或比對子圖的「形狀」,能抓到向量搜尋抓不到的中介節點,一次 .NET 專案的實測就把程式碼搜尋的 tool call 減少了 40%。

時間軸14 段

00:00開場講者 Tim Ainge(Good Collective)自我介紹,這場要教怎麼用圖讓 AI 應用更聰明、成本更低、也更可靠。
00:19常見的踢鐵板對絢麗的圖表著迷、一頭熱想上 GraphRAG 或圖資料庫,結果常常換不到預期的即時成效。
01:10這場的範圍明說不談 GraphRAG 或 agent memory graph,把重點放在能套用在各種 AI 應用的底層 pattern。
02:18圖的基本定義圖就是節點(node/vertex)加上邊(edge),彼此可以有 label、屬性與方向。
02:53從文字抽取圖用最陽春的 subject-predicate-object triple 讓 agent 去抽取食譜資訊,結果堪用但沒什麼查詢價值。
03:30給 schema 才有意義改用 recipe/ingredient/quantity 這種結構化 schema,再補齊 ontology 細節(統一用語與單位),圖才變得可查詢。
05:26potato-potato 問題同一種食材常被拆成好幾個節點,先用對照表消重,再靠 embedding model 處理沒預先列出的同義詞。
06:52查圖比查表直覺拿同一個問題比較 Cypher 與 SQL,關聯層數一多,圖查詢明顯比 SQL join 好寫也好懂。
07:44Personalized PageRank從指定節點出發做隨機遊走,走完會留下跟起點關係最強的節點,Pinterest Pixie 與 HippoRAG 都是這個技巧的應用案例。
08:55判例引用網絡用一起美國最高法院判決的引用關係圖,找出它其實間接倚賴 Miranda v. Arizona 這個地標判例。
09:51最短路徑除錯拿「改了 basket constructor 之後 checkout 壞掉」當例子,在程式碼圖上找最短路徑,還能延伸出 k 條最短路徑或指定節點必經的路徑。
10:43子圖檢索的效益這類路徑能抓到向量搜尋抓不到的中介節點,在一個 .NET 專案的實測中把程式碼搜尋的 tool call 次數砍了 40%。
11:19子圖比對找程式碼模式不指定任何節點,只憑「wrapper 類別包住並實作同一介面」這種關係形狀,就在 eShop 範例裡挖出一組 decorator pattern。
12:58收尾點名還有預測、相似度、分群這些留在簡報包裡沒細講的內容,鼓勵聽眾拿這些圖技巧做出更聰明、更省成本、也更可靠的 AI 應用。

值得記的話5 句

  • We've all felt the wonder of a mesmerising data science graph, or ogled the graph view of our obsidian vault.我們都曾著迷於絢麗的資料科學圖表,或盯著自己 Obsidian 知識庫的圖形視圖出神00:19
  • In frustration, many journeys end here, in the dust, at the bottom of the valley of despair and disillusionment.灰心之下,很多人的探索之路就此打住,卡在充滿失望與幻滅的谷底00:38
  • A graph is something that has nodes, also called vertices, and edges, which I sometimes call relationships, that connect the nodes together.圖就是由節點(也叫頂點)與邊組成,邊有時也稱為關係,用來把節點連接起來02:18
  • One of the key principles about building better graphs is giving the extractor a schema to fill.把圖做得更好的關鍵原則之一,就是先給抽取器一個 schema 去填03:30
  • This is a good example of where graph techniques and AI techniques working in hybrid give us the best result.這正是圖技術與 AI 技術混合使用能拿出最佳結果的好例子06:17

名詞與人物8 個

GraphRAG
這場一開始就聲明不深入的技術,用圖結構強化檢索增強生成。
ontology
描述要抽取哪些資訊放進圖裡的規則,這場用食譜範例示範怎麼標準化格式與單位。
personalized PageRank(PPR)
Vanilla PageRank 的變形,從指定起始節點出發做隨機遊走,找出跟它關係最強的節點。
Pinterest Pixie
Pinterest 用 PPR 做推薦系統的知名案例,講者拿它當 PPR 的參考點。
HippoRAG
講者提到的另一個用類似 PPR 技巧做記憶與問答的案例,這場沒有進一步展開。
Cypher
圖資料庫常用的查詢語言,這場拿它跟 SQL 對照,突顯圖查詢在多層關聯上比較直覺。
decorator pattern
讓某個類別包裝或延伸另一個類別功能的設計模式,這場用來示範子圖比對的效果。
子圖比對(subgraph matching)
只憑節點與邊構成的「形狀」去查詢,不需要先知道具體要找的是哪個節點。

提到但沒有展開

  • GraphRAG 與 agent memory graph:這場開場就說明不會深入,留給其他場次講。
  • 傳統的流量、成本與搜尋演算法:常用在建模相依關係或網路,這場提了一句就跳過。
  • 預測、相似度與分群(clustering):講者說這些留在簡報包裡,這場沒有展開細節。

Agent開發工具研究

在 YouTube 看原片 ↗