Code Review Graph:用程式碼知識圖譜讓 AI 編碼工具節省 82 倍 Token

TL;DR: AI 編碼工具(Claude Code、Cursor、Copilot)在程式碼審查時會重新讀取整個程式碼庫,浪費大量 token。code-review-graph 使用 Tree-sitter 建構程式碼結構知識圖譜,透過 MCP 協定為 AI 工具提供精準上下文,實測減少 82 倍 token 消耗。

這是什麼專案?

code-review-graph 是一個本機優先的程式碼智慧知識圖譜工具,今天(2026-07-21)登上 GitHub Trending 第一名,24 小時內漲星 1,876,總星數突破 22,900。

核心問題: 當你使用 Claude Code 或 Cursor 進行程式碼審查時,AI 會重新讀取大量程式碼檔案,即使只修改了一個函式。對於大型專案,這意味著每次審查都要消耗數萬甚至數十萬 token。

解決方案: code-review-graph 使用 Tree-sitter 將程式碼解析為 AST(抽象語法樹),建構函式、類別、匯入、呼叫關係的知識圖譜。當檔案變更時,知識圖譜會追蹤所有呼叫者、相依項目和受影響的測試,計算出「爆炸半徑」——AI 只需要讀取這些相關檔案,而不是整個程式碼庫。

實測數據: - 中位數 token 減少:82 倍(6 個開源專案測試) - 最佳案例:FastAPI 專案減少 528 倍(95 萬 token → 2,169 token) - 增量更新:2,900 檔案專案 2 秒內完成重新索引

安裝設定

系統需求

  • Python 3.10+
  • Git 或 SVN 儲存庫
  • 推薦安裝 uv(更快的套件管理器)

一鍵安裝

# 安裝 code-review-graph
pip install code-review-graph
# 或使用 pipx
pipx install code-review-graph

# 自動偵測並設定所有支援的 AI 編碼工具
code-review-graph install

# 建構程式碼知識圖譜(首次約 10 秒/500 檔案)
code-review-graph build

install 指令會自動偵測你安裝了哪些 AI 編碼工具(Claude Code、Cursor、Copilot、Gemini CLI、Codex、Kiro 等),為每個工具寫入正確的 MCP 設定,安裝平台原生的 hooks/skills,並注入知識圖譜感知指令。

指定平台設定

如果只想設定特定工具:

# 只設定 Claude Code
code-review-graph install --platform claude-code

# 只設定 Cursor
code-review-graph install --platform cursor

# 只設定 GitHub Copilot
code-review-graph install --platform copilot

# 只設定 Gemini CLI
code-review-graph install --platform gemini-cli

安裝完成後,重新啟動你的編輯器或 AI 工具。

快速上手

第一步:建構知識圖譜

在你的專案根目錄執行:

cd /path/to/your/project
code-review-graph build

首次建構會解析所有程式碼檔案,提取函式、類別、匯入、呼叫關係,儲存為知識圖譜資料庫。500 檔案專案約需 10 秒。

第二步:使用 AI 工具

開啟你的 AI 編碼工具(Claude Code、Cursor 等),直接提問:

Build the code review graph for this project

AI 會透過 MCP 協定查詢知識圖譜,取得精準的程式碼上下文。

第三步:程式碼審查

當你進行 PR 審查時,AI 工具會自動: 1. 偵測變更的檔案 2. 查詢知識圖譜,找出所有呼叫者、相依項目、受影響的測試 3. 只讀取這些相關檔案(而不是整個程式碼庫) 4. 生成精準的審查意見

範例場景: 你修改了 auth.py 中的 validate_token() 函式。知識圖譜會追蹤: - 所有呼叫 validate_token() 的檔案 - 繼承自相關基底類別的類別 - 相關的測試檔案 - 相依這些檔案的其他模組

AI 只需要讀取這些檔案(通常 10-20 個),而不是整個程式碼庫(可能上千個檔案)。

進階功能

MCP 整合原理

code-review-graph 透過 MCP(Model Context Protocol) 與 AI 工具通訊。MCP 是一個開放協定,讓 AI 模型能夠存取外部工具和資料來源。

工作流程: 1. AI 工具收到程式碼審查請求 2. 透過 MCP 呼叫 code-review-graph 的工具 3. code-review-graph 查詢知識圖譜,回傳最小檔案集合 4. AI 只讀取這些檔案,生成審查意見

支援的 MCP 工具(30+): - get_review_context:取得審查上下文 - get_blast_radius:取得變更影響範圍 - get_callers:取得函式呼叫者 - get_dependencies:取得檔案相依項目 - get_test_coverage:取得測試涵蓋情況 - ...

GitHub Action 整合

code-review-graph 提供官方 GitHub Action,可以在 PR 上自動生成程式碼審查留言。

# .github/workflows/code-review-graph.yml
name: Code Review Graph
on:
  pull_request:

permissions:
  contents: read
  pull-requests: write

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: tirth8205/code-review-graph@v2.3.6
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}

功能: - 每個 PR 自動生成一條黏性留言(sticky comment) - 包含風險評分函式、受影響的執行流程、測試缺口 - 每次 push 自動更新留言 - 可選 fail-on-risk 輸入,將審查作為合併門禁

本機優先: 知識知識圖譜完全在 CI runner 上建構和查詢,不會將原始碼傳送到任何外部服務。

增量更新與 Watch 模式

當啟用 hooks 或 watch 模式時,檔案儲存和提交鉤子會觸發增量更新:

# 啟用 watch 模式(檔案儲存時自動更新)
code-review-graph watch

# 啟用 pre-commit hook
code-review-graph install --hooks

增量更新流程: 1. 偵測變更的檔案 2. 透過 SHA-256 雜湊檢查,找出受影響的相依項目 3. 只重新解析變更的檔案 4. 更新知識圖譜資料庫

2,900 檔案專案增量更新 < 2 秒。

自訂語言支援

code-review-graph 支援 40+ 種程式語言(Python、JavaScript/TypeScript、Go、Rust、Java、C/C++、C#、Ruby、Kotlin、Swift 等)。

如果你的專案使用未支援的語言,可以在 .code-review-graph/languages.toml 中自訂:

[languages.erlang]
extensions = [".erl"]
grammar = "erlang"
function_node_types = ["function_clause"]
class_node_types = ["record_decl"]
import_node_types = ["import_attribute"]
call_node_types = ["call"]

Tree-sitter 剖析器會自動處理提取,無需修改程式碼。詳見 docs/CUSTOM_LANGUAGES.md

解除安裝

# 預覽解除安裝操作
code-review-graph uninstall --dry-run

# 確認並解除安裝
code-review-graph uninstall

# 跳過確認
code-review-graph uninstall --yes

# 清理所有儲存庫
code-review-graph uninstall --all-repos

# 保留知識圖譜資料庫
code-review-graph uninstall --keep-data

解除安裝只會移除 code-review-graph 相關的檔案和設定,不會影響其他 MCP 伺服器或工具。

效能數據

code-review-graph 在 6 個真實開源專案上進行了基準測試(13 個提交):

專案 程式碼庫 Token 數 知識圖譜查詢 Token 數 減少倍數
FastAPI 951,071 2,169 528.4x
code-review-graph 208,821 2,495 93.0x
Gin 166,868 1,990 91.8x
Flask 125,022 1,986 71.4x
Express 135,955 3,465 40.6x
httpx 89,492 2,438 38.0x

中位數:82 倍減少

注意: 528 倍是最佳案例(FastAPI,最大的程式碼庫),不是典型結果。實際減少取決於專案大小和查詢類型。

對比基準: 上述「全程式碼庫」是理論上限,實際 AI 工具會 grep 搜尋識別字,只讀取最符合的檔案。code-review-graph 的優勢在於: - 精確追蹤相依關係(不只是文字比對) - 包含呼叫鏈、繼承關係、測試涵蓋 - 增量更新,避免重複解析

適用場景

適合使用

  • 大型程式碼庫: 1000+ 檔案的專案,token 浪費最嚴重
  • 頻繁程式碼審查: 每天多個 PR 的團隊
  • 單體儲存庫(Monorepo): 27,700+ 檔案的超大型專案
  • CI/CD 整合: 自動化程式碼審查門禁
  • 多語言專案: 支援 40+ 種語言

較不適合

  • 小型專案: 100 檔案以下,token 消耗本身不大
  • 純前端專案: 如果沒有複雜相依關係,收益有限
  • 非 Git/SVN 專案: 目前只支援 Git 和 SVN

總結

code-review-graph 解決了 AI 編碼工具的一個核心痛點:token 浪費。透過建構程式碼結構知識圖譜,AI 工具可以精準取得上下文,而不是重新讀取整個程式碼庫。

核心優勢: - ✅ 節省 token: 中位數 82 倍減少,降低 API 成本 - ✅ 精準審查: 追蹤相依關係,不遺漏影響範圍 - ✅ 本機優先: 程式碼不離開本機,安全合規 - ✅ 增量更新: 2 秒內完成大型專案重新索引 - ✅ 廣泛整合: 支援 Claude Code、Cursor、Copilot、Gemini CLI 等 - ✅ GitHub Action: 自動化 PR 審查

下一步: 1. 在你的專案上安裝 code-review-graph 2. 建構知識圖譜,體驗 token 節省效果 3. 整合到 CI/CD,自動化程式碼審查 4. 檢視官方文件了解更多進階用法

專案連結: - GitHub:tirth8205/code-review-graph - 官網:code-review-graph.com - Discord:加入社群


延伸閱讀: - Claude Code 接入 DeepSeek V4 終端 AI 程式設計指南 - 2026 年終端模擬器橫評:Ghostty vs Tabby vs Alacritty vs Kitty - OpenCode:開源終端 AI 編碼 Agent 完全指南