Claude Code나 Cursor(AI 기반 코드 에디터)에게 함수 하나를 수정해달라고 요청했다. AI는 자신만만하게 코드를 고쳤지만, 정작 그 함수를 참조하던 47개의 다른 함수들이 전부 깨져버렸다. 테스트 코드가 비명을 지르고, 개발자는 AI가 미리 알았어야 할 의존성을 찾기 위해 다시 두 시간을 허비한다.

28,000개 별이 증명하는 MCP 기반 지식 그래프

인도의 한 컴퓨터공학도가 개발한 GitNexus는 깃허브에서 별 28,000개와 포크 3,000개를 기록하며 빠르게 확산 중이다. 이 도구는 전체 저장소를 인덱싱해 함수 호출, 임포트, 클래스 상속, 인터페이스 구현, 실행 흐름을 매핑한 지식 그래프(데이터 간의 관계를 그물망처럼 연결한 구조)를 생성한다. 이를 MCP(모델 컨텍스트 프로토콜, AI 모델이 외부 도구와 데이터를 주고받는 표준 규격) 서버를 통해 AI 에이전트에게 제공한다. 분석을 시작하려면 저장소 루트에서 아래 명령어를 실행한다.

bash
npx gitnexus analyze

내부적으로는 Tree-sitter(코드의 구문 구조를 분석해 추상 구문 트리로 만드는 파서)를 사용해 심볼을 추출하고, LadybugDB(벡터 지원 임베디드 그래프 데이터베이스)에 데이터를 저장한다. 검색 효율을 높이기 위해 BM25(키워드 기반 랭킹 알고리즘), 시맨틱 벡터 임베딩, RRF(여러 검색 결과의 순위를 재조정해 통합하는 방식)를 결합한 하이브리드 검색을 지원한다. 이 모든 파이프라인은 로컬에서 실행되어 코드가 외부로 유출되지 않는다.

추측하는 AI에서 쿼리하는 AI로의 전환

예전에는 AI 에이전트가 주변 파일을 읽거나 단순한 Graph RAG(그래프 구조를 활용한 검색 증강 생성) 방식으로 필요한 정보를 추측해 찾아냈다. 이제는 GitNexus가 인덱싱 단계에서 전체 의존성 구조를 미리 계산해 둔다. 에이전트가 특정 함수에 의존하는 요소를 물으면, 10번의 연속 쿼리를 날려 운 좋게 찾기를 바라는 대신 단 한 번의 쿼리로 확신도 점수가 포함된 완전한 답변을 얻는다. 특히 아래와 같이 스킬 플래그를 사용하면 더 세밀한 제어가 가능하다.

bash
npx gitnexus analyze --skills

이 명령은 Leiden community detection(네트워크 내의 밀집된 커뮤니티를 찾아내는 알고리즘)을 통해 기능별 커뮤니티를 그룹화하고, `.claude/skills/generated/` 경로에 각 모듈의 진입점과 실행 흐름이 담긴 SKILL.md 파일을 생성한다. AI 에이전트는 이제 전체 저장소의 일반적인 개요가 아니라, 인증 모듈이나 결제 모듈 같은 특정 영역에 특화된 아키텍처 컨텍스트를 즉시 확보한다.

개발자가 체감하는 가장 큰 변화는 AI의 사고 비용이 줄어든다는 점이다. GPT-4o-mini(OpenAI의 경량화 모델) 같은 작은 모델도 GitNexus가 미리 계산해 제공하는 구조적 데이터를 통해 대규모 코드베이스를 막힘없이 탐색할 수 있다. Claude Code 사용자는 MCP 도구와 에이전트 스킬, 그리고 커밋 후 자동 재인덱싱을 수행하는 PostToolUse 훅(특정 작업 후 자동으로 실행되는 함수)까지 포함된 전체 스택을 사용할 수 있다. 시각적 탐색이 필요한 경우 gitnexus.vercel.app에서 WebAssembly(웹 브라우저에서 네이티브 수준의 성능을 내게 하는 기술) 기반의 인터랙티브 그래프를 확인할 수 있다.

이제 AI 코딩의 승부처는 모델의 추론 능력이 아니라, 모델에게 얼마나 정교한 코드 지도를 쥐여주느냐로 옮겨갔다.