一個工具,幫我省下 30% 的 Claude Code 成本
整理版優先睇
CodeGraph 幫你慳 30% Claude Code Token:一張代碼地圖取代盲目探索
呢篇文章嘅作者係一個成日用 Claude Code 嘅開發者,佢發現每次叫 Claude 做嘢,佢都要重新探索曬成個 codebase——用 grep、glob、Read 掃曬啲文件,先至開始真正工作。呢個過程燒咗大量 tokens 同時間,作者稱之為「探索税」。為瞭解決呢個問題,作者揾到一個叫 CodeGraph 嘅工具,佢嘅核心係預先用 tree-sitter 解析代碼,建立一個語義知識圖譜,然後 Claude Code 可以直接透過 MCP 協議查詢呢個圖譜,而唔需要逐個文件掃描。
作者自己實測,用 CodeGraph 之後,token 消耗減少約 30%,工具調用減少約 25%。呢個唔係理論,係真金白銀嘅節省。而且安裝好簡單,一行命令就搞掂,仲可以自動用 Git hook 同步更新索引,幾乎零維護。
整體結論係:與其畀 Claude 次次由零開始認識你嘅代碼,不如畀佢一張「代碼地圖」,等佢直接開始做嘢。呢個做法唔單止慳錢,仲大幅提升效率,尤其係大型 project 或者複雜任務嗰陣效果更明顯。
- CodeGraph 透過預先建立嘅語義圖譜,令 Claude Code 可以直接查詢代碼結構,節省約 30% token 消耗同 25% 工具調用次數。
- 方法係用 tree-sitter 解析代碼成 AST,將函數、類、調用關係等存入本地 SQLite 數據庫,透過 MCP 協議畀 Claude Code 查詢。
- 同用 Markdown 記低代碼結構嘅方案相比,圖譜查詢係結構化存取,Claude 真正理解代碼之間嘅關係,而唔係靠估。
- 啟發:每次 AI 工具重複掃描相同代碼,就係嘥錢嘥時間;應該用工具幫佢建立持久化嘅上下文,避免重複付出「探索税」。
- 可行動點:一行命令 npx @colbymchenry/codegraph 安裝,之後用 codegraph init -i 初始化 project,重啟 Claude Code 即時見效;Git hook 會自動同步更新,唔使手動維護。
CodeGraph 安裝指令
一行命令安裝 CodeGraph 工具:npx @colbymchenry/codegraph
GitHub 倉庫
CodeGraph 原始碼同詳細文檔:github.com/colbymchenry/codegraph
探索税:你每次用 Claude Code 嘅隱形成本
你一定經歷過呢種痛:打開 Claude Code,輸入一個請求,然後佢就開始派出「探索大軍」——用 grep、glob、Read 一個個爬你嘅文件。每次調用,燒 token;每個文件,食埋上下文 window。
作者測過一個複雜任務,60 次工具調用、157,800 tokens、將近 2 分鐘,而呢啲只係為咗等 Claude 認識你嘅代碼,未開始做正經嘢。
更崩潰嘅係:關閉呢個會話,所有知識全部消失。下次打開又要重新探索、重新付費。呢個就係所謂嘅「探索税」——每次用 Claude Code 都要默默繳納嘅隱形成本。
繞路方案都唔夠聰明,真正需要係地圖
唔係第一個發現呢個問題嘅人,社區入面流傳各種 workaround,但都係 hacky:
- 用 Markdown 文件做「記憶」──將代碼結構塞入 CLAUDE.md,但 Claude 只係讀文檔,唔理解代碼之間嘅關係。
- 等子代理維護共享記憶──更加複雜,但本質係玩文字文件,無真正結構。
- 或者手動粘貼 code 入 prompt──用到但太累,完全不可擴展。
核心問題係呢啲方案都冇畀到 Claude 真正需要嘅嘢——一張代碼地圖。
若果探索代理有一張地圖呢?呢個就係 CodeGraph 嘅核心諗法:與其等 Claude 盲目掃描文件,不如佢查一個預先整好嘅語義知識圖譜——入面已經裝好曬你 codebase 嘅完整關係圖。
CodeGraph 點樣做?5 分鐘安裝兼直擊底層
安裝超簡單:只要 Node.js 18+ 同 Claude Code,一行命令搞掂:
npx @colbymchenry/codegraph
交互式安裝器會自動幫你設定 MCP 伺服器、授權,同問你要唔要初始化當前 project。完成之後重啟 Claude Code,再打:
codegraph init -i
85 個檔案建立索引、542 個代碼符號、關係邊全部映射——唔使半秒鐘。
底層原理一句話:CodeGraph 用 tree-sitter 解析代碼做 AST,將函數、類、方法、關係全部存入本地 SQLite 數據庫(帶向量嵌入),然後 Claude Code 透過 MCP 協議查詢呢個圖譜。
- 1 一次性索引:tree-sitter 解析代碼成 AST,提取所有節點同關係。
- 2 MCP 連接:Claude Code 需要了解代碼時直接查圖譜,唔使再探索。
- 3 精準獲取:入口函數、相關符號、代碼片段、調用關係——一次查詢搞掂。
- 4 Git 鈎子自動同步:每次 commit 自動更新索引,零維護。
支援 16+ 種語言,包括 TypeScript、Python、Go、Rust、Java、C#、PHP、Ruby、C、C++、Swift、Kotlin 等,API 統一。
100% 本地運行,冇數據離開你部機,冇 API key,冇外部服務,就係你 project 入面一個 SQLite 檔案。
真實數據同結論:唔好再為探索付費
作者用同一個複雜任務跑咗 3 次對比測試,結果好實質:用 CodeGraph 之後,工具調用由 ~60 降到 ~42(↓25%),token 消耗由 ~157,800 降到 ~69,400(↓30%),探索時間都明顯縮短。
結論好簡單:每次等 Claude 從零開始認識你嘅代碼,你都係為同一件事重複買單。
除咗節省 token,CodeGraph 仲帶嚟語義搜索(按意思揾 code,例如「authentication」可以揾到 login、validateToken)、影響分析(改 code 前知道影響範圍),而且永遠保持最新——Git 鈎子每次 commit 自動同步。
作者強調:呢個唔係理論,係真係可以落手用、慳到真金白銀嘅方案。
你一定經歷過呢種痛
打開 Claude Code,輸入一個請求。
然後,探索開始咗:
⏺ Explore(/src/api/)
⎿ 完成 (24 次工具調用 · 40,000 tokens · 59秒)
⏺ Explore(/src/components/)
⎿ 完成 (32 次工具調用 · 57,000 tokens · 1分26秒)
⏺ Explore(/src/database/)
⎿ 完成 (18 次工具調用 · 33,000 tokens · 51秒)
每一次。都係噉樣。
Claude 對你嘅代碼庫冇記憶。所以佢一定要派出「探索大軍」——用 grep、glob、Read 一個個爬你啲檔案。
每次調用,燒 token。每個檔案,食掉上下文窗口。
我喺自己嘅 project 度測試咗:
60 次工具調用。157,800 tokens。差唔多 2 分鐘。
而呢一切,只係為咗等 Claude 「認識」我嘅代碼——佢都未開始做嘢㗎。
仲令人崩潰嘅係:關閉呢個會話,所有知識全部消失。
下次打開?重新探索。再俾多次錢。
呢個就係我所講嘅 「探索税」——你每次用 Claude Code 都喺度默默繳納嘅隱形成本。
啲「聰明」嘅繞路方案,其實都唔夠聰明
我唔係第一個發現呢個問題嘅人。
社羣入面流傳住各種 workaround:
1. 用 Markdown 檔案做「記憶」
將代碼結構、架構說明塞入去 CLAUDE.md。
有啲用,但 Claude 只係喺度「讀文件」。佢唔理解代碼之間嘅關係。
2. 俾子代理維護共享記憶
仲複雜,但本質上都係喺度搞文字檔案。依然係 hacky,依然缺少真正嘅結構。
3. 手動將代碼貼上 prompt
用得,但太攰啦。而且完全冇得擴展。
💡 核心問題:呢啲方案都冇俾 Claude 佢真正需要嘅嘢——
一張代碼地圖。
如果探索代理有一張地圖呢?
這就是 CodeGraph 嘅核心想法。
與其等 Claude 盲目掃描檔案,不如等佢查詢一個預先整好嘅語意知識圖譜:
邊啲函數調用咗邊啲函數 邊啲類繼承咗邊啲類 接口喺邊度被實現 檔案之間點樣透過 import 連接 改一個地方,影響半徑有幾大
呢樣唔係等 Claude 去「解讀」一份文件。
係等佢直接查詢一個結構化數據庫——數據庫入面已經裝好咗你代碼嘅完整關係圖。
探索代理仲係會行。但效率完全唔同:
⏺ Explore(/src/api/)
⎿ 完成 (18 次工具調用 · 22,000 tokens · 34秒)
⏺ Explore(/src/components/)
⎿ 完成 (24 次工具調用 · 29,400 tokens · 56秒)
⏺ Explore(/src/database/)
⎿ 完成 (14 次工具調用 · 18,000 tokens · 27秒)
圖譜查詢幾乎係瞬時嘅。檔案掃描?再見啦。
真實數據:慳咗幾多?
我喺同一個複雜任務上跑咗 3 次對比測試:
| ↓ 25% | |||
| ↓ 30% | |||
🎯 結論:探索代理用 CodeGraph 之後,token 消耗減少 ~30%,工具調用減少 ~25%。
這是真金白銀——每一次複雜任務,都係慳錢慳時間。
5 分鐘搞掂:安裝就係咁簡單
要求:
Node.js 18+ Claude Code
一行命令:
npx @colbymchenry/codegraph
互動式安裝器會幫你搞掂一切:
自動配置 MCP 伺服器到 ~/.claude.json設定 CodeGraph 工具嘅自動授權 問你要唔要初始化當前項目
重啟 Claude Code,然後初始化你想用嘅項目:
codegraph init -i
完成。
85 個檔案建立索引,542 個代碼符號,關係邊全部映射——唔夠半秒鐘。
佢係點樣運作嘅?
底層原理一句話版本:
CodeGraph 用 tree-sitter 解析你嘅代碼,將函數、類、方法、關係全部存落本地 SQLite 數據庫(帶向量嵌入)。Claude Code 透過 MCP 協議查詢呢個圖譜。
更具體少少 :
一次性索引:tree-sitter 解析代碼做 AST,提取所有節點同關係 MCP 連接:Claude Code 需要理解代碼時,直接查圖譜,唔再探索 精準獲取:入口函數、相關符號、代碼片段、調用關係——一次查詢搞掂曬 Git 掛鈎自動同步:每次 commit 自動更新索引,零維護
同 Markdown 方案嘅本質區別:
Claude 唔再係「閲讀一份總結然後猜測」,而係「查詢一個已經理解你代碼結構嘅數據庫」。
你可以得到啲咩?
🧠 更智能嘅上下文構建
原生嘅 Claude Explorer 子代理會利用 CodeGraph 更快揾到檔案,更早得出分析,用更少 token 揾答案。
🔍 語意搜尋
按意義揾代碼。搜「authentication」,即使你嘅命名係 login、validateToken、AuthService,都揾到。
📈 影響分析
改代碼之前就知道會影響啲咩。追蹤調用者、被調用者,睇清每個符號嘅「爆炸半徑」。
🌍 支援 16+ 種語言
TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C、C++、Swift、Kotlin,甚至 Liquid(Shopify 主題)。API 統一。
🔒 100% 本地運行
冇數據離開你部機。冇 API key。冇外部服務。就係你 project 入面一個 SQLite 檔案。
⚡ 永遠保持最新
Git 掛鈎喺每次 commit 時自動同步。唔使手動維護。
寫喺最後:唔好再為「探索」俾錢啦
每次等 Claude 由頭開始認識你嘅代碼,你都係為同一件事重複埋單。
CodeGraph 改變咗呢個規則。
俾 Claude 一張地圖,等佢直接開始工作。
📦 GitHub:github.com/colbymchenry/codegraph
📦 npm:@colbymchenry/codegraph
5 分鐘設定。30% 成本節省。
你嘅下一個 Claude Code 會話,唔使再交探索税啦。
你一定經歷過這種痛
打開 Claude Code,輸入一個請求。
然後,探索開始了:
⏺ Explore(/src/api/)
⎿ 完成 (24 次工具調用 · 40,000 tokens · 59秒)
⏺ Explore(/src/components/)
⎿ 完成 (32 次工具調用 · 57,000 tokens · 1分26秒)
⏺ Explore(/src/database/)
⎿ 完成 (18 次工具調用 · 33,000 tokens · 51秒)
每一次。都是這樣。
Claude 對你的代碼庫沒有記憶。所以它必須派出"探索大軍"——用 grep、glob、Read 一個個爬你的文件。
每次調用,燒 token。每個文件,吃掉上下文窗口。
我在自己的項目上測了一下:
60 次工具調用。157,800 tokens。將近 2 分鐘。
而這一切,只是為了讓 Claude "認識"我的代碼——它還沒開始幹活呢。
更讓人崩潰的是:關掉這個會話,所有知識全部消失。
下次打開?重新探索。重新付費。
這就是我所說的 「探索税」——你每次使用 Claude Code 都在默默繳納的隱形成本。
那些"聰明"的繞路方案,其實都不夠聰明
我不是第一個發現這個問題的人。
社區裏流傳着各種 workaround :
1. 用 Markdown 文件做"記憶"
把代碼結構、架構說明塞進 CLAUDE.md。
有點用,但 Claude 只是在"讀文檔"。它不理解代碼之間的關係。
2. 讓子代理維護共享記憶
更復雜,但本質上還是在折騰文本文件。依然是 hacky,依然缺少真正的結構。
3. 手動把代碼粘貼進 prompt
能用,但太累了。而且完全不可擴展。
💡 核心問題:這些方案都沒有給 Claude 它真正需要的東西——
一張代碼地圖。
如果探索代理有一張地圖呢?
這就是 CodeGraph 的核心想法 。
與其讓 Claude 盲目掃描文件,不如讓它查詢一個預先構建好的語義知識圖譜:
哪些函數調用了哪些函數 哪些類繼承了哪些類 接口在哪裏被實現 文件之間如何通過 import 連接 改動一個地方,影響半徑有多大
這不是讓 Claude 去"解讀"一份文檔。
這是讓它直接查詢一個結構化數據庫——數據庫裏已經裝好了你代碼的完整關係圖。
探索代理還是會跑。但效率完全不同:
⏺ Explore(/src/api/)
⎿ 完成 (18 次工具調用 · 22,000 tokens · 34秒)
⏺ Explore(/src/components/)
⎿ 完成 (24 次工具調用 · 29,400 tokens · 56秒)
⏺ Explore(/src/database/)
⎿ 完成 (14 次工具調用 · 18,000 tokens · 27秒)
圖譜查詢幾乎是瞬時的。文件掃描?再見了。
真實數據:省了多少?
我在同一個複雜任務上跑了 3 次對比測試 :
| ↓ 25% | |||
| ↓ 30% | |||
🎯 結論:探索代理用 CodeGraph 後,token 消耗減少 ~30%,工具調用減少 ~25%。
這是真金白銀——每一次複雜任務,都在省錢省時間。
5 分鐘搞定:安裝就是這麼簡單
要求:
Node.js 18+ Claude Code
一行命令:
npx @colbymchenry/codegraph
交互式安裝器會幫你搞定一切 :
自動配置 MCP 服務器到 ~/.claude.json設置 CodeGraph 工具的自動授權 詢問是否初始化當前項目
重啓 Claude Code,然後初始化你想用的項目:
codegraph init -i
完成。
85 個文件建立索引,542 個代碼符號,關係邊全部映射——不到半秒鐘。
它是怎麼工作的?
底層原理一句話版本:
CodeGraph 用 tree-sitter 解析你的代碼,把函數、類、方法、關係全部存進本地 SQLite 數據庫(帶向量嵌入)。Claude Code 通過 MCP 協議查詢這個圖譜。
更具體一點 :
一次性索引:tree-sitter 解析代碼成 AST,提取所有節點和關係 MCP 連接:Claude Code 需要理解代碼時,直接查圖譜,不再探索 精準獲取:入口函數、相關符號、代碼片段、調用關係——一次查詢全搞定 Git 鈎子自動同步:每次 commit 自動更新索引,零維護
和 Markdown 方案的本質區別:
Claude 不再是"閲讀一份總結然後猜測",而是"查詢一個已經理解你代碼結構的數據庫"。
你能得到什麼?
🧠 更智能的上下文構建
原生的 Claude Explorer 子代理會利用 CodeGraph 更快找到文件,更早得出分析,花更少的 token 找答案。
🔍 語義搜索
按意義找代碼。搜"authentication",即使你的命名是 login、validateToken、AuthService,也能找到。
📈 影響分析
改代碼前就知道會影響什麼。追蹤調用者、被調用者,看清每個符號的"爆炸半徑"。
🌍 支持 16+ 種語言
TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C、C++、Swift、Kotlin,甚至 Liquid(Shopify 主題)。API 統一 。
🔒 100% 本地運行
沒有數據離開你的機器。沒有 API key。沒有外部服務。就是你項目裏的一個 SQLite 文件 。
⚡ 永遠保持最新
Git 鈎子在每次 commit 時自動同步。不用手動維護。
寫在最後:別再為"探索"付費了
每次讓 Claude 從零開始認識你的代碼,你都在為同樣的事情重複買單。
CodeGraph 改變了這個規則。
給 Claude 一張地圖,讓它直接開始工作。
📦 GitHub:github.com/colbymchenry/codegraph
📦 npm:@colbymchenry/codegraph
5 分鐘設置。30% 成本節省。
你的下一個 Claude Code 會話,不必再交探索税了。