code-review-graph

code-review-graph: 這是什麼、解決什麼問題以及為什麼它正受到關注

它解決了什麼問題

AI 編碼助手在進行審查任務時,經常因為重新閱讀程式碼庫的大部分內容而浪費 token 並降低精確度。code-review-graph 透過為 AI 工具提供精確的結構化程式碼地圖,減少了這種 token 浪費,確保助手僅閱讀與特定變更真正相關的文件和函數。

運作方式

該工具使用 Tree-sitter 將儲存庫解析為抽象語法樹 (AST),然後將其儲存為 SQLite 資料庫中的節點(函數、類別、匯入)和邊(呼叫、繼承、測試覆蓋率)圖形。

關鍵機制包括:

  • 影響範圍分析 (Blast-radius analysis):當文件變更時,圖形會追蹤所有受該變更影響的呼叫者、依賴項和測試,為 AI 建立一個「最小審查集」。
  • 增量更新:系統會比對變更的文件並僅重新解析必要的部分,讓大型專案能在 2 秒內完成重新索引。
  • MCP 整合:它使用 Model Context Protocol (MCP) 將此圖形數據提供給 AI 助手(例如 Cursor、Claude Code 或 Zed),讓它們能夠查詢圖形而非掃描整個語料庫。
  • CI 整合:GitHub Action 可以在 CI 執行器上建立圖形,以發布帶有風險評分的 PR 審查,並在不將原始碼發送到外部服務的情況下識別測試缺口。

對象是誰

  • 開發者:使用 AI 編碼工具並希望降低 token 成本並提高審查精確度的開發者。
  • 大型單一儲存庫 (monorepos) 維護者:在全上下文窗口不足或成本過高的地方。
  • DevOps/CI 工程師:尋找自動化風險評分拉取請求 (pull request) 審查的工程師。

重點摘要

  • 大幅減少 Token 使用量:基準測試顯示,每個問題的 token 減少量中位數約為 82 倍。
  • 廣泛的語言支持:支援多種語言,包括 Python、JS/TS、Go、Rust、Java、C++,甚至 Jupyter/Databricks notebooks。
  • 可擴展性:可以透過簡單的 .toml 配置新增語言,而無需 fork 專案。
  • 本地優先 (Local-First):知識圖譜儲存在本地的 SQLite 中,確保隱私與安全性。
  • 進階分析:包括社群檢測 (Leiden algorithm)、樞紐/橋樑檢測以及執行流追蹤。

Sources