Graphify-Labs/graphify — Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.
Graphify: 코드와 문서를 질의 가능한 지식 그래프로 변환하는 개발 도구
Graphify는 코드베이스와 문서에서 지식 그래프를 만들어 AI 코딩 도구가 파일을 반복해서 읽는 대신 그래프를 질의하도록 돕습니다. 코드는 로컬 AST 파싱으로 처리하며, 관계마다 원문에서 추출했는지 추론했는지 표시합니다.
- 주제
에디터 노트
코드 파싱을 로컬에서 결정적으로 처리하고 각 관계를 원문 추출과 추론으로 나눈 설계는 그래프 결과를 검토할 단서를 제공합니다. 특히 소스 위치를 함께 보여주는 `explain`과 경로 질의는 파일 검색을 대체하기보다 코드 구조를 좁혀 보는 용도로 구체적입니다. 성능 수치는 README가 공개한 벤치마크 범위에서 읽어야 합니다. 데이터셋과 평가 조건은 제시했지만, 이 수치만으로 모든 코드베이스에서 검색이나 RAG보다 낫다고 판단할 근거는 없습니다. 또한 코드만 처리할 때는 완전 로컬이지만 문서와 이미지의 의미 추출은 설정된 모델 백엔드로 전송될 수 있습니다. 질문 로그도 기본으로 로컬에 기록되므로 데이터 처리 경계는 입력 종류와 설정에 따라 달라집니다.
AI 요약
Graphify는 코드와 문서, SQL 스키마, PDF, 이미지 등을 지식 그래프로 변환하는 CLI와 AI 코딩 도구용 skill입니다. Python 3.10 이상에서 설치한 뒤 Claude Code, Cursor, Codex, Gemini CLI 등 지원 도구에서 /graphify .를 실행하면 그래프를 만듭니다. 결과물은 클릭 가능한 graph.html, 주요 개념과 연결을 정리한 GRAPH_REPORT.md, 전체 그래프를 담은 graph.json입니다.
그래프 생성과 질의
코드는 tree-sitter AST로 로컬에서 파싱합니다. README는 약 40개 언어의 호출, import, 상속 관계를 파일 사이에서 연결하며, 이 과정에 LLM이나 API 키가 필요하지 않다고 설명합니다. 문서와 PDF, 이미지는 AI 모델을 이용한 의미 추출을 선택적으로 수행합니다. 오디오와 비디오는 faster-whisper로 로컬 전사합니다. LLM을 쓰지 않도록 설정하면 코드만 담은 그래프를 만들 수 있습니다.
그래프의 각 연결에는 EXTRACTED 또는 INFERRED 표시를 붙입니다. 전자는 소스에 명시된 관계이고 후자는 Graphify가 해석해 연결한 관계입니다. graphify explain은 개념 하나의 연결과 출처를 보여주고, graphify path는 두 개념 사이의 경로를 찾습니다. graphify query는 자연어 질문에 맞는 부분 그래프를 반환합니다. 이름이 여러 노드와 일치하면 임의로 고르지 않고 후보를 제시하며, 종료 코드로 답변 성공과 모호한 이름, 일치 항목 없음을 구분합니다.
설정과 데이터 처리
Graphify는 .gitignore와 .graphifyignore를 따르고, .graphifyrc에서 확장자별 언어를 지정할 수 있습니다. 언어 설정은 파일 분류와 파싱, import 해석, 캐시에 반영됩니다. --update로 변경 파일만 다시 추출하거나 --cluster-only로 재추출 없이 군집화를 실행할 수 있습니다. Leiden 알고리즘으로 그래프를 하위 시스템 단위로 나누고, 연결이 많은 개념과 주요 경로도 확인합니다.
코드 파일은 로컬 처리하고, 문서와 PDF, 이미지의 의미 추출은 설정한 백엔드로 보냅니다. 백엔드는 API 키 등을 기준으로 자동 선택되며, --backend로 지정하거나 GRAPHIFY_BACKEND=none으로 비활성화할 수 있습니다. 로컬 Ollama를 백엔드로 선택하는 방법도 안내합니다. README는 사용량 추적과 분석 수집을 하지 않는다고 밝히지만, query, path, explain 명령과 MCP의 query_graph 호출은 기본 설정에서 질문과 처리 정보 등을 ~/.cache/graphify-queries.log에 기록합니다. 환경 변수로 기록을 끌 수 있습니다.
벤치마크와 제공 범위
README에 실린 벤치마크에서 LOCOMO 300개 사례의 recall@10은 0.497, 질의응답 정확도는 45.3%입니다. LongMemEval-S 50개 사례에서는 정확도 76%로 dense RAG와 같았고, ERPNext의 도구 간 평가에서는 핵심 사실 포괄률이 82.0%였습니다. 비교군에는 각각 mem0, supermemory, grep/read 기준 등이 포함됩니다. 모든 시스템을 같은 테스트 도구와 모델, 예산으로 실행했고, 판정 결과는 두 번째 평가자가 검증해 90.6% 일치도와 Cohen's kappa 0.81을 기록했다고 README는 설명합니다. 상세 표와 재현 명령은 별도 BENCHMARKS.md에 둡니다.
로컬 도구와 별도로 유료 Graphify Cloud도 안내합니다. Cloud는 여러 저장소를 연결하고 그래프를 계속 갱신하며, Sentry와 Jira 연결, 코드 리뷰, 형식 검증 기능과 토큰 사용량 80% 절감 주장을 내세웁니다. Cloud의 주장은 로컬 CLI의 기능 설명 및 위 벤치마크 결과와 구분됩니다.
원문: GitHub / 번역·요약: Trawling