你有沒有遇過這種情況:
請 Claude Code 改一個 API。
表面看起來:
- 編譯過了
- 單元測試過了
上線之後才發現:
- 另一個模組還沒改到
- 一條隱藏呼叫鏈被漏掉
- 某個 Mock 仍引用舊邏輯
很多人直覺是:AI 不夠聰明。
更貼近事實的是:Claude Code、Cursor、Windsurf 與 Copilot Agent 並沒有真正理解你的程式碼是怎麼串起來的。它們多半只看見片段,卻要在 大型程式庫 裡做全倉級修改——於是 Claude Code 漏改、Cursor 漏改 成了 2026 年 AI 程式設計 最常聽到的抱怨。
下文依搜尋意圖排列:為什麼總漏改 → 為什麼看不懂大型專案 → RAG / Grep 為何不夠 → 為什麼需要程式碼知識圖譜 → 再介紹登上 GitHub Trending 的 CodeGraph 與安裝實戰。概念背景可讀《為什麼每個 AI 程式設計 Agent 都需要程式碼知識圖譜?》。
Claude Code 為什麼老是漏改程式碼?
大家搜「Claude Code 漏改」「Claude Code monorepo」,其實不是在問模型 IQ,而是在問:我改了一處,為什麼別處沒跟上?
Claude Code、Cursor、Windsurf 在「寫新函式」上都很強;痛點在改既有系統——公開 API、協定欄位、跨模組行為。典型漏改包括:
- 另一個 package 的 adapter 仍用舊簽章
- 隱藏呼叫鏈上的 wrapper 沒更新
- 測試與 Mock 仍指向舊邏輯
CI 有時仍綠,因為測試路徑剛好沒蓋到漏改點。單靠換更大的模型,治不了儲存庫層級的理解。
Claude Code 為什麼「看不見」大型專案
「Claude Code 大型程式庫」「Claude Code Context Window」常與漏改一起出現:單檔讀得懂,整條呼叫圖卻放不進工作記憶。
再長的 Context Window 也無法把 20 萬行 Monorepo 常駐進 prompt。Claude Code 每輪只能帶部分檔案;沒進上下文的模組,對 Agent 幾乎「不存在」——主路徑改對了,遠端 package 與其他 Target 卻靜默失敗。
Cursor 大型專案 使用者也一樣:@ 幾個檔能改局部,專案級影響面仍靠猜。動刀前都要先回答:還有誰依賴這個符號?
Cursor 的缺口:程式連線,不是語法
可對照Claude Code vs Cursor:終端機 Agent 對編輯器內 AI。在 Monorepo 裡,兩者常一起踩雷:
- 深層呼叫堆疊 — UI → ViewModel → Service → Repository → SDK;內聯補全往往只蓋到上面兩層
- Monorepo re-export — 語意搜尋找到「像」的檔案,卻不是真實 import 路徑上的呼叫端
- 多 Target / 多語言 — Swift↔ObjC、RN 橋接;沒有結構層時 Cursor MCP 仍是盲讀
一句話:Cursor 和 Claude Code 不是不會寫,而是不知道 call graph 長什麼樣。
為什麼 RAG 不夠
許多 AI 程式設計 工具會對儲存庫做向量索引——典型的 RAG。擅長「找類似實作」,卻無法保證列出必須一起改的檔案。
RAG 召回的是「像解法的片段」,不是「法律意義上的呼叫端」。於是主流程改對了,Mock、客戶端 SDK、程式碼產生模板仍卡在舊 API,而 happy path 的單元測試還是綠的。
為什麼 Grep 不夠
沒有 CodeGraph 時,Claude Code 預設用 Read、Grep、Glob 探索。Grep 對字串敏感,對多載解析、動態分派、巨集、跨語言橋接力不從心;多層間接呼叫常在結果裡斷鏈。
大型專案裡,Agent 可能連讀二十多個檔仍拼不全影響面——又慢又漏。下一節的對比比抽象的「少 62% 工具呼叫」更直覺。
為什麼需要程式碼知識圖譜
Code Knowledge Graph(程式碼知識圖譜) 預先把符號、呼叫邊、模組關係建成可查結構,讓 Claude Code MCP、Cursor MCP 問的是圖,而不是賭 Grep 運氣。
你要的是確定性答案:impact(AuthService) 列出哪些 callers、測試、Mock——而不是「再讀 5 個檔試試」。這也是 2026 年 Context Engineering 的落地:把「儲存庫地圖」外置成可增量更新的索引,而不是塞進越來越大的 prompt。
Before / After:一眼看出差別
修改 AuthService.refreshSession 時,典型對比如下(示意真實工作流,非單次跑分):
# Agent 工具軌跡(節錄) Read File src/auth/AuthService.ts Read File src/auth/SessionStore.ts Grep "refreshSession" Read File apps/api/handlers/login.ts Read File packages/shared/contracts/auth.ts Read File ... # 累計可能 Read / Grep 二十餘個檔,仍不確定 Mock 是否漏改
codegraph impact "AuthService.refreshSession" --depth 3 # 一次回傳結構化閉包,例如: # · 14 個 callers(含跨 package) # · 3 個相關測試檔 # · 2 個 Mock / fixture 仍引用舊簽章 # 再請 Claude Code 依清單修改 —— 漏改機率明顯下降
使用者感受的轉變:從「猜影響面」變成「先拿清單再改」。 官方基準顯示帶圖譜時工具呼叫更少;工程上更重要的是:你知道 Agent 依據什麼結構做決策。
示意圖:片段 vs 呼叫鏈
沒有圖譜時,Agent 像在倉庫裡摸黑找門;有圖譜時沿邊走。
[目前開啟的檔案]
?
? ← 其他模組是否在 Context Window 內?未知
?
?
(多次 Read / Grep,仍可能斷鏈)
Controller → AuthHandler
↓
Service → AuthService.refreshSession
↓
Repository → SessionStore
↓
DB
Mermaid · 對照示意(可縮放檢視)
flowchart LR
subgraph blind["Claude Code 無圖譜"]
A["?"] --> B["?"]
B --> C["?"]
end
subgraph graph["CodeGraph"]
D[Controller] --> E[Service]
E --> F[Repository]
F --> G[(DB)]
end
CodeGraph 是什麼?GitHub Trending 上的答案
釐清「為什麼會漏改」之後,CodeGraph(colbymchenry/codegraph)是 2026 年 5 月底登上 GitHub Trending 的代表實作:本地 tree-sitter 建 Code Knowledge Graph,寫入 .codegraph/codegraph.db,經 Claude Code MCP / Cursor MCP 提供:
codegraph_context— 依任務打包入口codegraph_trace— 呼叫鏈一次看清codegraph_impact/codegraph_callers— 改介面前的閉包- 儲存後約 2 秒增量同步
CodeGraph 不取代 Claude Code 或 Cursor,而是補上 AI 程式設計 缺的那張儲存庫地圖。本文定位是基礎設施實戰,不是追熱點。
給 Claude Code 的提示詞
不要只說「重構 X」。應要求:先透過 Claude Code MCP 呼叫 codegraph_impact / callers,列出將修改的檔案,再動手。
該選哪個 CodeGraph 儲存庫?
GitHub Trending 帶火的是 colbymchenry/codegraph:SQLite、無需上傳原始碼、MCP 一鍵接 Claude Code / Cursor。另有 Kuzu + 向量版 fork,定位不同。文件:colbymchenry.github.io/codegraph。
安裝 CodeGraph(macOS / Linux / Windows)
# macOS / Linux curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh # Windows irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex
npx @colbymchenry/codegraph npm i -g @colbymchenry/codegraph codegraph install --target=cursor,claude --yes
建立索引:讓 Claude Code 看見整倉結構
在 monorepo 或 20 萬行級儲存庫根目錄執行:
cd /path/to/your-large-repo codegraph init -i codegraph status
首次全量索引可能跑數十分鐘——因此許多團隊把這步放在 Cloud Mac(見下)。
Claude Code MCP 與 Cursor MCP
codegraph install 會註冊 stdio MCP(codegraph serve --mcp)。手動設定 Claude Code MCP 範例:
{
"mcpServers": {
"codegraph": {
"type": "stdio",
"command": "codegraph",
"args": ["serve", "--mcp"]
}
}
}
務必重新啟動 Claude Code 與 Cursor。 之後在 AI 程式設計 對話裡,優先讓 Agent 呼叫 CodeGraph 工具,而不是先 Grep 全庫。
| MCP 工具 | 何時使用 |
|---|---|
codegraph_context | 接到需求,先圈定模組 |
codegraph_impact | 改公開 API、協定、資料庫欄位前 |
codegraph_trace | 問「請求怎麼走到這裡」 |
codegraph_callers | 查誰還在用舊介面 |
實戰:配合 Claude Code 的三條指令
codegraph context "修改使用者登入 token 更新邏輯" --format markdown
codegraph impact "AuthService.refreshSession" --depth 3 codegraph callers "AuthService.refreshSession" --limit 20
codegraph query SessionStore --limit 5
工作流:Claude Code + Cursor + CodeGraph
- 拉倉後執行
codegraph init -i(大型儲存庫可在 Cloud Mac 上跑)。 - Claude Code 處理跨模組;Cursor 處理單檔細節——共用同一張圖譜。
- 每次改公開符號前都跑
codegraph_impact。 - 提交前:
git diff --name-only | codegraph affected --stdin --quiet。
為什麼許多團隊在 Cloud Mac 上跑索引
首次為大型程式庫建立 Code Knowledge Graph 時:
- CPU 占用高 — tree-sitter 解析全倉
- IO 占用高 — 寫入 SQLite、FTS5
- 可持續數十分鐘 — 1 萬檔以上的倉庫很常見
在 MacBook 上跑常讓風扇狂轉,也拖慢並行開 Claude Code / Cursor 的體驗。愈來愈多團隊改用 Mac mini、Cloud Mac 或 Apple Silicon VPS——把 .codegraph/ rsync 回開發機,再透過 MCP 本地查詢。ZavCloud 提供獨享雲端 Mac(Cloud Mac),適合當「只跑 CodeGraph 索引 + CI」的長期節點。
- 團隊 — 在 Cloud Mac 索引,同步
.codegraph/到各成員機 - CI — PR 上跑
codegraph affected - iOS / RN — 減少跨語言盲讀
圖譜 ≠ 萬能
CodeGraph 提供結構事實;你仍要寫測試、跑 CI。品質 = 模型 + 圖譜 + 人工審查。詳見程式碼知識圖譜一文。
排錯
- Claude Code 仍只 Grep — 檢查
.codegraph/、MCP 是否載入、是否 allowmcp__codegraph__*,並重新啟動。 - Cursor 沒有 CodeGraph 工具 — 重跑
codegraph install --target=cursor後重啟。 - 索引太慢 — 改在 Cloud Mac 跑;排除
node_modules與建置產物。
FAQ
上了 CodeGraph 就不會漏改了嗎? 無法打包票;但 impact + 圖譜能把「猜影響面」變成「照清單改」,是 Claude Code Monorepo 目前最好稽核的一層。
Claude Code MCP 和 Cursor MCP 要分開裝嗎? codegraph install --target=cursor,claude --yes 一次即可;共用 .codegraph/。
20 萬行程式庫怎麼交給 AI? 別塞進 Context Window;用 codegraph init -i,改公開 API 前必跑 codegraph_impact。
一定要用 Cloud Mac 嗎? 小倉可本機;大型程式庫首次索引建議用 Cloud Mac,筆電專心做 AI 程式設計。
ZavCloud · Cloud Mac
大型專案索引,交給常駐 Cloud Mac
M4 Mac mini 獨享 Cloud Mac:在真 macOS 上跑 CodeGraph 全量索引,本機 Claude Code / Cursor 專心 AI 程式設計。
查看 Cloud Mac 方案