AI News HubLIVE
站內改寫2 分鐘閱讀

Graphify – AI程式設計助手的開源知識圖譜技能

Graphify 是一個開源的多模態知識圖譜構建工具,專為 AI 程式設計助手(如 Claude Code、OpenAI Codex 和 OpenCode)設計。它結合 Tree-sitter 靜態分析與 LLM 驅動的語義提取,將整個程式碼倉庫(包括原始碼、文件、論文和圖表)轉化為互動式知識圖譜,幫助 AI 理解程式碼的功能和設計意圖。

來源Hacker News AI作者: xy008areshsu

Graphify 是一個開源的多模態知識圖譜構建器,專為 AI 程式設計助手(如 Claude Code、OpenAI Codex 和 OpenCode)設計。它透過結合 Tree-sitter 靜態分析和 LLM 驅動的語義提取,將整個倉庫(包括原始碼、文件、研究論文和圖表)轉化為互動式知識圖譜,不僅解釋程式碼的功能,還揭示其設計原因。該專案由 Safi Shamsi 維護,採用寬鬆的 MIT 許可,並基於 NetworkX 和 Tree-sitter 等廣泛信賴的庫構建。

Graphify 的核心能力包括多模態提取、知識圖譜構建、上帝節點識別和互動式輸出。它能夠解析 Python、JavaScript、Go、Java 等多種程式語言,以及 Markdown、PDF 和影像檔案。Tree-sitter 提取抽象語法樹、呼叫圖和文件字串;LLM 從散文中提取概念;視覺模型讀取圖表。所有節點和邊被合併到 NetworkX 圖中,並透過 Leiden 演算法進行語義社群檢測,無需向量嵌入。

該工具還識別系統中的“上帝節點”(高連線度的核心節點),並標記意外的跨檔案或跨域連線。輸出包括互動式 graph.html、可查詢的 graph.json 和人類可讀的 GRAPH_REPORT.md 審計報告。對於 Claude Code、Codex 和 OpenCode 等助手,Graphify 提供了 /graphify、/graphify query 等命令。

Graphify 的架構是一個多階段流水線:收集檔案、提取節點/邊、構建圖、社群聚類、分析、報告和匯出。每個階段都是獨立模組,便於貢獻者獨立擴充套件。它透過 PyPI 分發,包名為 graphifyy。安裝後,使用者可以透過命令列或 AI 助手的命令使用。Graphify 不捆綁 LLM,而是使用 AI 助手已配置的模型 API 金鑰,僅傳送語義內容,絕不傳送原始原始碼。

在效能方面,Graphify 在小型程式碼庫(如 httpx)上生成了 144 個節點、330 條邊和 6 個社群。在混合語料庫(如 Karpathy 的混合語料)上,它實現了 71.5 倍的令牌減少。與其他專案相比,Graphify 專注於知識圖譜構建,而 Sourcegraph 專注於程式碼搜尋,Code2Vec 是函式級嵌入,Neo4j 是通用圖資料庫。

Graphify 採用 MIT 許可,核心依賴均為寬鬆許可,無遙測。唯一的出站網路呼叫是語義提取步驟,使用使用者自己的 AI 模型 API 金鑰,僅傳輸文件的語義描述,絕不傳輸原始程式碼。URL 限制為 http/https,下載有大小和時間限制,輸出路徑進行路徑包含檢查,節點標籤進行 HTML 轉義,防止 SSRF、注入和 XSS。