當你的程式碼庫膨脹到包含數十萬檔案、橫跨多種語言時,傳統搜尋和文件往往力不從心。code-graph-rag 正是為此而生——一個結合知識圖譜與RAG的開源工具,讓你用自然語言就能對話整個倉庫。
什麼是 code-graph-rag
簡單說,它先為你的程式碼構建一張關係圖——函式呼叫、類繼承、模組依賴一一對映,然後在此基礎上做檢索增強生成。不同於普通RAG把程式碼當純文字切塊,知識圖譜保留了結構資訊,能回答「這個API被哪些函式呼叫」或「修改這個變數會影響哪些模組」這類深層問題。
為什麼選擇知識圖譜 RAG
典型的RAG對文件好用,但對程式碼庫效果有限:程式碼的語義藏在結構和關係裡,而非相鄰文字。code-graph-rag 通過圖資料庫(如Neo4j)儲存程式碼實體和連結,LLM推理時能沿著邊跳轉,理解跨檔案、跨語言的依賴。實測中,對於Monorepo場景,它的召回準確率比普通RAG提升明顯。
上手體驗
專案基於Python,安裝依賴後需配置圖資料庫和LLM介面(支援OpenAI、本地模型等)。演示案例中,一個包含Python、TypeScript、Go的微服務倉庫,輸入「查詢所有呼叫使用者認證介面的服務」就能返回完整路徑。內建Web UI也支援直接編輯程式碼片段。
- 支援語言:Python、JavaScript、TypeScript、Go、Java等
- 查詢方式:自然語言或結構化查詢
- 匯出結果:程式碼片段、圖表、Markdown報告
適用場景與侷限
最適合大型Monorepo的維護者、架構師和新成員 onboarding。上手門檻中等:需瞭解圖資料庫基礎,但文件清晰。短板也很明顯——初始建圖耗時較長,10萬檔案級倉庫可能需要數小時;對小型專案顯得「殺雞用牛刀」;依賴LLM API成本需考慮。
總之,code-graph-rag 把知識圖譜思維帶進程式碼檢索,是解決複雜倉庫「程式碼海洋」困惑的務實方案。如果你正被多語言依賴問題困擾,值得一試。










評論
暫無評論
成為第一個評論的人