同一份檔案集、同一套排除規則,數字一比就清楚

.graphifyignore 設成鏡射 understand-anything 的排除規則, 對同一個 codebase 跑兩個工具:

graphify(AST):3.2 秒 / $0 建圖,1,525 節點 / 2,809 邊 / 111 社群,symbol 層級。 邊品質:96% EXTRACTED(抽測全對)、4% INFERRED(信心 0.61)。

understand-anything(LLM):建圖要數小時、消耗大量 token(曾遇額度重置), 234 節點 / 364 邊 / 8 層,檔案層級。圖是一個月前建的, 缺少整條 7 月 gemma_evolution 演進線——stale 到 0 個相關節點。

最關鍵的一筆:前端 fetch 到後端 HTTP route 的跨邊界連結, 兩個工具都交出 0 條邊。LLM 語意推斷在這裡沒有任何優勢, 因為這條連結需要同時理解 JS 字串樣式和 Python routing decorator, 兩個工具都沒做到。

重跑成本決定圖的壽命

understand-anything 的圖建完後一個月就 stale,根本原因不是「LLM 不夠好」, 而是重跑太貴——費時費 token,讓人不想跑。一個讓人不想跑的工具,圖就永遠停在過去。

graphify $0 重建,讓「圖永遠跟上現碼」從一個理想變成可執行的常態。 整合進 nomad-dashboard 之後,觸發一次更新,節點從 1,525 升到 1,546—— 本日新寫的程式碼被自動收錄,這是「永遠跟上現碼」的活證明。

重跑成本決定圖的壽命,壽命決定圖的實用價值。 這才是兩個工具最根本的差異,不是語意能力的理論比較。

UA 的剩餘真價值是教學,不是查詢

evaluate 完兩個工具之後,understand-anything 的定位就清楚了: 它的繁中白話摘要、架構分層解析、12 步導覽是初識陌生 codebase 時的教學資源, 不適合當即時查詢引擎。

分工定案:結構查詢和衝擊分析走 graphify;第一次摸陌生 codebase 走 UA。 UA 的 nomad-dashboard 舊圖不再花 token 更新——它的角色是靜態快照, 所以 dashboard 上的 badge 刻意標成「📸 快照」而非「✅ 最新」。 誠實地標示圖的新鮮度,比一個讓人誤以為即時的 UI 更有用。

整合進 nomad-dashboard

後端加一個 GraphifyRoutes mixin(routes/graphify_routes.py), 照專案既有模式接進 server.py: status endpoint 回傳兩引擎的節點數和 stale 偵測結果(比對 built_at_commit 與當前 HEAD); update endpoint 跑 subprocess 觸發 graphify update; graph.html 直接公開(非 /api/ 路徑,middleware 不攔)。 前端加一張全寬雙引擎卡片,熱載後端到端實測通過。

不安裝 graphify skill 的原因是:CLI 透過 Bash 呼叫零 context 稅, install 進 skill 系統反而增加一層間接和維護負擔,不符合 token 經濟學。

踩到的三個坑

瀏覽器 ref 在 nav group 收合後座標過期,點到錯元素還讓畫面短暫黑屏; 改用 querySelector('[data-tab=...]').click() 直接觸發最穩。 node --check 對瀏覽器 ES module 語法誤報 SyntaxError, 實際在瀏覽器跑完全正常,要以瀏覽器實測為準。 server.py 的 GET_ROUTES 一度以為有兩份定義, 實為 sed 輸出範圍的錯覺——下結論前先 grep -n 核實,不要靠肉眼

關鍵教訓

理論優勢要實測驗證:「LLM 懂語意所以跨邊界連結應該更好」——兩個工具都交出 0 條邊。用同一份測試集做照妖鏡,才能看到真實的差距。

重跑成本決定圖的壽命:一個讓人因為成本而不想跑的工具,圖就永遠 stale。零成本重建讓「永遠新鮮」從口號變成事實。

誠實標示資料的新鮮度:「📸 快照」比「✅ 最新」更有用——使用者能做出正確判斷,比一個誤導人的 UI 更重要。

工具定位要分清楚:graphify 是查詢引擎,UA 是教學工具。兩個都保留,但不要讓貴的那個承擔它做不到的事。

下結論前先 grep -n:肉眼看到「兩份定義」可能只是 sed 輸出範圍問題。多一步確認省掉一次錯誤追查。

來源:個人開發日誌 2026-07-19(上午)· graphify AST 1,525 節點 / UA LLM 234 節點 / nomad-dashboard commit be10f6f / 更新後 1,546 節點