兩本 .NET 電子書開放更多免費章節
我更新了個人網站 huanlin.cc,並且把我的兩本電子書的更多免費章節放上去。
整理 CodeGraph 入門筆記。
我在使用 AI 工具時常有這樣的操作:每當增加或修改了軟體專案的某個功能或設計決策,會讓 AI agent 更新相關的開發文件,如架構文件、設計文件等(有時候 agent 會自動更新文件)。
當我知道有個叫做 CodeGraph 的工具,能夠建立軟體專案的程式碼圖譜,用來回答專案的各種問題和查詢,進而節省 token,我就想立刻試試看。同時也好奇:若在專案中使用了 CodeGraph,那我原先讓 AI agent 幫我維護的開發文件,還有必要繼續更新嗎?兩者似乎有重疊之處。
Fun fact:CodeGraph 在 GitHub 平台上的星星數從今年(2026)五月底開始暴漲。
CodeGraph 的學習資源,首推官方文件。在這篇筆記中,主要是以 Q & A 的形式來回答我在入門上手時的一些疑問,包括:
有些內容是先用 AI 生成,我再進行裁減和修訂。趕時間的話,就看每一節的標題以及用黃色標示的重點文字。
簡單來說:省 token,也就是省錢。
CodeGraph 對開發者的核心用處在於提升 AI agents(如 Claude Code、Cursor 等)的效率,同時提供開發者一個強大且零設定的本地端程式碼探索工具。
以下展開說明 CodeGraph 為開發者帶來的幾項好處:
當開發者使用 AI 代理程式探索程式碼庫時,AI 通常會將大量資源消耗在「發現」階段(例如盲目使用 grep 或逐一讀取檔案來尋找關聯)。CodeGraph 預先建構了知識圖譜,讓 AI 能在單次呼叫中直接取得所需的確切程式碼與結構關係,無須掃描檔案。這能帶來顯著的效能提升:
開發者可以將 CodeGraph 整合到 CI 流程中。透過 codegraph affected 指令,系統能追蹤依賴關係的傳遞路徑,精準找出哪些測試檔案受到此次程式碼變更的影響。這讓 CI 系統只需要執行相關的測試,而不必跑遍所有測試,大幅節省時間與運算資源。
👉 官方文件:Affected Tests in CI
對於開發者自身而言,CodeGraph 也是極佳的架構分析工具。開發者可以透過命令列(CLI)或自然語言探索程式碼:
在開發 Web 應用程式時,尋找 API 路由與對應程式碼的綁定往往很花時間。CodeGraph 能夠自動識別多種主流框架(如 Django、Express、FastAPI、React Router 等)的路由檔案。它會自動建立路由節點與處理常式(handler)之間的連結,當開發者或 AI 查詢某個控制器(controller)或視圖(view)時,就能直接得知綁定該程式的具體 URL 模式。
👉 官方文件:Resolution & Frameworks
.codegraph/ 目錄中,無須提供 API 金鑰,程式碼資料也絕對不會離開本地電腦,確保企業與個人專案的最高安全性。CodeGraph 是一個透過解析抽象語法樹(AST)來建立本地知識圖譜的工具,因此它很擅長回答客觀的結構性問題(structural questions),但無法直接回答主觀的意圖或純動態的執行期行為。
CodeGraph 能夠協助回答的問題包括:
CodeGraph 不能直接回答的問題包含:
也就是說,在「架構設計決策」的部分, CodeGraph 無法直接幫你做架構決策或解釋設計理念。然而,當你將 CodeGraph 提供給 AI 代理程式(如 Claude Code 或 Cursor)使用時,它能幫助 AI 瞬間掌握現有的專案架構全貌、準確的呼叫圖與依賴關係,免去 AI 盲目掃描與搜尋檔案的時間。在此基礎上,AI 就能夠基於 CodeGraph 提供的客觀結構事實,進一步跟你討論並協助你做出高品質的架構重構或設計決策。
tree-sitter 來解析你的程式碼,並將所有的符號(symbols)、邊緣(edges)以及檔案結構存儲於本地的 SQLite 資料庫中(位於 .codegraph/ 目錄)。它保證 100% 本地運行,無須 API 金鑰,資料也絕不會離開你的電腦。可按照以下步驟快速體驗:
CodeGraph CLI 是核心引擎,一定要安裝。
codegraph install .codegraph/ 目錄,並建構完整的程式碼圖譜。codegraph status 來進行快速檢查,該指令會回報圖譜中成功解析的節點(node)、邊緣(edge)和檔案數量,以及活躍的 SQLite 後端狀態,確認索引已準備就緒。exclude 陣列)。includeIgnored 陣列)。摘錄 《現代 C#:AI 時代的開發者修煉》 第 2 章有關集合運算式(Collection Expressions)的介紹。