graphify는 코드베이스, 문서, 논문 PDF, 스크린샷, 다이어그램을 읽어 개념과 관계를 추출하고 질의 가능한 지식 그래프로 바꾸는 에이전트 스킬이다. 단순 벡터 검색이 아니라 관계 edge를 EXTRACTED, INFERRED, AMBIGUOUS로 구분해 무엇을 실제로 찾았고 무엇을 추론했는지 표시한다.
GitHub 기준 ★92.5k, MIT 라이선스다.
무엇을 만든다
graphify-out/
├── graph.html interactive graph
├── obsidian/ Obsidian vault
├── wiki/ agent-crawlable wiki
├── GRAPH_REPORT.md god nodes, surprising connections, suggested questions
├── graph.json persistent graph
└── cache/ SHA256 cache출력물은 사람이 보는 그래프뿐 아니라 에이전트가 다시 읽을 수 있는 wiki와 MCP 서버까지 포함한다. 그래서 한 번 비싼 추출을 수행한 뒤, 이후 질의에서는 원본 파일 전체를 다시 읽지 않고 그래프를 탐색하는 방식으로 토큰을 줄인다.
CodeGraph와의 차이
codegraph는 코드베이스 심볼·라우트·호출 관계에 최적화된 로컬 코드 인덱스다. graphify는 범위가 더 넓다. 코드뿐 아니라 마크다운, PDF, 이미지, 화이트보드 사진까지 하나의 지식 그래프로 묶는다. 대신 코드 편집 정밀도보다는 개념 연결, 커뮤니티 발견, 연구·문서 corpus 탐색에 더 맞다.
| 항목 | CodeGraph | graphify |
|---|---|---|
| 주 대상 | 코드베이스 | 코드 + 문서 + PDF + 이미지 |
| 추출 | AST, 라우트, 심볼 관계 | AST + LLM/비전 기반 개념·관계 추출 |
| 출력 | MCP/로컬 인덱스 | HTML 그래프, Obsidian, wiki, graph.json, MCP |
| 강점 | 코딩 에이전트의 정확한 코드 탐색 | 혼합 corpus의 관계 발견과 장기 지식화 |
사용법
pip install graphifyy && graphify install
/graphify .
/graphify ./raw --mode deep
/graphify ./raw --update
/graphify query "what connects attention to the optimizer?"
/graphify ./raw --wiki
/graphify ./raw --mcp패키지명은 PyPI 이름 확보 전까지 graphifyy를 사용하지만 CLI와 스킬 명령은 graphify다.
지원 입력
| 유형 | 예시 | 추출 방식 |
|---|---|---|
| 코드 | Python, TypeScript, Go, Rust, Java 등 | tree-sitter 기반 AST와 call graph |
| 문서 | Markdown, txt, rst | LLM 기반 개념·관계 추출 |
| 논문 | citation mining과 개념 추출 | |
| 이미지 | png, jpg, webp, gif | Claude vision으로 스크린샷·다이어그램 이해 |
언제 쓰면 좋은가
- 코드, 설계 문서, 논문, 회의 이미지가 한 폴더에 섞인 프로젝트를 에이전트가 장기적으로 탐색해야 한다.
- graph-rag처럼 관계 기반 질의가 중요하지만 Neo4j 같은 별도 서버를 운영하고 싶지는 않다.
- Obsidian vault나 에이전트용 wiki를 자동 생성해 지식 베이스 진입점을 만들고 싶다.
- 원본 문서를 반복해서 컨텍스트에 넣는 비용을 줄이고 싶다.
관련 문서
- codegraph — 로컬 코드 지식 그래프로 코딩 에이전트 탐색 비용 줄이기
- graph-rag — 관계 인식 검색으로 멀티홉 질문에 답하는 RAG 패러다임
- llm-wikid — AI가 유지하는 Karpathy 스타일 Obsidian 지식 베이스
- mcp — 외부 도구를 에이전트에 연결하는 표준 프로토콜
참고 자료
- Graphify-Labs/graphify — GitHub 공식 저장소