graphify: 코드베이스 및 문서를 위해 grepping을 경로 추적 및 시맨틱 쿼리로 대체하는 지식 그래프 생성기

graphify: 코드베이스 및 문서를 위해 grepping을 경로 추적 및 시맨틱 쿼리로 대체하는 지식 그래프 생성기

해결하는 문제

Graphify는 코드베이스와 관련 문서(PDF, 이미지, 비디오)를 구조화된 지식 그래프로 변환합니다. 이를 통해 개발자는 개념 간의 관계를 쿼리하고, 코드의 서로 다른 부분 간의 경로를 추적하며, 파일을 수동으로 grepping하거나 벡터 기반 검색에만 의존하지 않고도 아키텍처를 이해할 수 있습니다.

작동 방식

Graphify는 지식 그래프를 구축하기 위해 하이브리드 접근 방식을 사용합니다:

  • 결정론적 코드 파싱: 약 40개의 언어에 대해 tree-sitter AST를 사용하여 로컬에서 코드를 파싱합니다. 이를 통해 호출, 임포트, 상속과 같은 연결이 LLM을 사용하지 않고도 결정론적으로 매핑되어 코드 분석을 로컬 우선(local-first)으로 유지합니다.
  • 시맨틱 패스: PDF, 이미지, 비디오와 같은 비코드 자산의 경우, 구성된 AI 모델 또는 API 키를 사용하여 정보를 추출하는 시맨틱 패스를 수행합니다.
  • 그래프 구조: 벡터 인덱스 대신, 모든 엣지(edge)가 EXTRACTED(소스에서 명시적으로 발견됨) 또는 INFERRED(Graphify에 의해 추론됨)로 태그되는 실제 그래프를 생성합니다.
  • AI 어시스턴트 통합: 다양한 AI 코딩 어시스턴트(예: Claude Code, Cursor, GitHub Copilot)를 위한 "skill"로 통합되어, 어시스턴트가 /graphify와 같은 명령을 통해 그래프를 쿼리할 수 있도록 합니다.

대상 사용자

복잡한 코드베이스를 탐색하고, 여러 파일에 걸친 로직의 흐름을 이해하며, 핵심적인 아키텍처 "god nodes" 및 놀라운 연결 관계를 식별해야 하는 소프트웨어 엔지니어 및 아키텍트.

주요 특징

  • 로컬 우선 코드 매핑: 코드는 tree-sitter AST를 통해 로컬에서 파싱되므로, 분석 단계에서 코드가 기기로 유출되지 않습니다.
  • 멀티모달 지원: 코드, 문서, PDF, 이미지, 비디오/오디오를 하나의 통합된 그래프로 매핑합니다.
  • 쿼리 가능한 인터페이스: 개념을 설명하고, 두 노드 사이의 최단 경로를 찾으며, 자연어 쿼리를 수행할 수 있는 도구를 제공합니다.
  • 광범위한 어시스턴트 호환성: 커스텀 skill 설치를 통해 20개 이상의 AI 코딩 어시스턴트를 지원합니다.
  • 시각적 출력: 프로젝트 구조의 시각적 탐색을 위해 대화형 graph.html을 생성합니다.

Sources