Feature Article
Graphify — 코드·문서·영상을 쿼리 가능한 지식 그래프로 변환하는 AI 도구
배경 및 맥락
AI 코딩 에이전트의 가장 큰 문제 중 하나는 컨텍스트 윈도우 한계다. 코드베이스가 커질수록 에이전트가 전체 구조를 파악하기 어려워지고, 이는 잘못된 코드 생성이나 컨텍스트 유실로 이어진다. 이 문제를 해결하는 접근은 크게 두 가지다: RAG(검색 증강 생성)로 필요한 부분만 검색하거나, 지식 그래프로 코드베이스를 구조화하는 것.
Graphify는 후자의 접근을 취한다. 코드, 문서, 논문, 이미지, 비디오, 오디오 등 다양한 파일을 분석하여 쿼리 가능한 지식 그래프를 생성하고, 이를 AI 에이전트에 주입하는 방식이다. GitHub 스타 26.6k, 포크 2.9k.
핵심 내용
다중 모달 처리 파이프라인
Graphify는 파일 종류에 따라 다른 추출 로직을 적용한다:
- 코드 (25개 언어): Tree-sitter AST로 구조 추출 — 클래스, 함수, 임포트, 호출 그래프. 로컬에서 처리되며 LLM 호출 없음.
- 문서/논문: Claude를 활용한 의미론적 관계 추출
- 이미지: Claude Vision으로 다국어 다이어그램 분석
- 비디오/오디오: faster-whisper로 로컬 변환 후 텍스트 추출
그래프 구조와 신뢰도 시스템
모든 관계에 3단계 태그를 붙인다:
- EXTRACTED: 원본에서 직접 발견된 관계 (예: import 문, 함수 호출)
- INFERRED: AI가 추론한 관계 + 신뢰도 점수
- AMBIGUOUS: 검토가 필요한 관계
Leiden 커뮤니티 감지 알고리즘으로 자동 클러스터링도 수행한다.
출력물
graphify-out/ 디렉토리에 생성:
- graph.html: vis.js 기반 인터랙티브 시각화 (노드 클릭, 검색, 커뮤니티 필터)
- GRAPH_REPORT.md: 핵심 노드, 흥미로운 연결, 추천 질문
- graph.json: 지속적 쿼리용 JSON
- cache/: SHA256 캐시로 변경 파일만 재처리
성능
실제 테스트(Karpathy 레포 + 논문 + 이미지, 52개 파일) 기준 71.5배 토큰 감소. 첫 실행 후 캐시된 그래프를 활용하면 원본 파일을 다시 읽을 필요 없이 빠른 쿼리가 가능하다.
플랫폼 지원
Claude Code, Cursor, Codex, GitHub Copilot CLI, Gemini CLI, Aider, OpenClaw, Factory Droid, Trae, Hermes, Kiro 등 거의 모든 AI 코딩 도구를 지원한다. 플랫폼별 설치 명령어가 따로 있으며, Always-On 모드로 자동 주입된다.
경쟁 구도 / 비교
Cursor / Continue 등 IDE RAG: 코드베이스를 임베딩해서 검색하는 방식. 검색 품질이 임베딩 전략에 의존하며, 코드 간 관계(호출 그래프, 의존성 등)를 명시적으로 추출하지 않는다. Graphify는 구조적 관계를 그래프로 명시화한다.
Repomix / repo2txt: 코드베이스를 단순 텍스트로 병합. 토큰 압축이 없어 대형 코드베이스에는 컨텍스트 한계를 넘기는다. Graphify는 71.5배 토큰 감소로 이 문제를 해결.
수동 CLAUDE.md / .cursorrules: 개발자가 직접 컨텍스트를 작성. 유지보수 부담이 크고, 코드 변경 시 동기화가 안 된다. Graphify는 --update로 변경된 파일만 자동 재처리, --watch로 실시간 동기화 가능.
의미
Graphify가 26.6k 스타를 받은 것은, AI 코딩 에이전트의 컨텍스트 문제가 실제로 널리 공유되는 페인 포인트라는 뜻이다. 코드베이스가 크면 클수록 에이전트의 응답 품질이 떨어지는 문제를, 지식 그래프라는 중간 레이어로 해결하려는 시도다.
특히 신뢰도 태그(EXTRACTED/INFERRED/AMBIGUOUS)는 다른 지식 그래프 도구에서 보기 드문 접근이다. AI가 추론한 관계에 신뢰도를 붙여서 개발자가 판단할 수 있게 한 것은 실용적 가치가 높다.
다만 비디오/오디오 처리는 faster-whisper 등 추가 디펜던시가 필요하고, LLM 호출 비용이 발생할 수 있으니 대규모 코드베이스에서는 비용 추정을 먼저 해보는 게 좋다.