GPTers 3개 레포 152만 단어를 하루 만에 정리한 이야기 — graphify로 Claude Code에 "영구 기억" 붙이기

graphify가 뭔가요?

safishamsi/graphify — GitHub 스타 18,000개가 넘는 Claude Code 스킬입니다. 만든 사람은 Safi Shamsi. 철학은 한 줄이에요.

"any input to knowledge graph" — 뭐든 집어넣으면 지식 그래프로 만들어준다.

Andrej Karpathy가 말한 /raw 폴더 워크플로우에서 출발했습니다. 논문·트윗·스크린샷·코드·노트를 한 폴더에 던져넣고, 나중에 구조적으로 이해할 수 있게 만드는 것. graphify가 그걸 해줍니다.

뭐가 들어가고, 뭐가 나오냐면

입력: 코드(.py, .ts, .go…), 문서(.md, PDF), 이미지·스크린샷·다이어그램, 어떤 언어든 OK.

출력:

  • graph.html — 브라우저에서 검색·필터링 가능한 인터랙티브 그래프

  • graph.json — 세션을 넘나들며 질문할 수 있는 영구 저장 그래프

  • GRAPH_REPORT.md — 폴더가 뭐하는 곳인지 평범한 문장으로 쓴 리포트

Claude와 그냥 대화하는 거랑 뭐가 다른가요?

공식 README의 한 문장이 전부 설명해줍니다.

"raw 파일을 읽는 것보다 쿼리당 토큰을 71.5배 덜 씁니다."

Claude에게 파일 100개를 열어달라고 하면 매번 토큰을 풀로 씁니다. graphify는 한 번 그래프를 만들어두면, 다음부터는 그 그래프에만 물어봐요.

그리고 결정적인 것 — 모든 관계에 신뢰 라벨이 붙습니다.

  • EXTRACTED — 파일에서 실제로 찾은 관계 (믿어도 됨)

  • INFERRED — AI가 추측한 관계 (참고용)

  • AMBIGUOUS — 애매한 것 (의심할 것)

"AI가 찾았다"와 "AI가 지어냈다"를 구분해주는 거예요.

설치는 두 줄

pip install graphifyy
graphify install

끝. /graphify 슬래시 커맨드가 Claude Code에 등록됩니다.

Claude Code와 융합해서 쓰는 방법

여기가 진짜 재미있는 부분입니다. graphify는 Claude Code를 대체하지 않고, Claude Code의 "장기 기억"이 됩니다. 실전 융합 패턴 다섯 개를 소개할게요.

패턴 1. CLAUDE.md에 "먼저 그래프에 물어봐" 규칙 박기

프로젝트 루트의 CLAUDE.md에 이 한 줄을 추가하세요.

## graphify 지식 그래프

코드나 문서에 대한 질문이 들어오면, **먼저** `/graphify query "질문"`으로
그래프를 조회한 다음 답변할 것. 파일을 직접 읽기 전에 그래프에서 관련
노드·엣지를 확인하면 컨텍스트를 훨씬 빠르게 잡을 수 있다.

- 그래프 위치: `graphify-out/graph.json`
- 쿼리: `/graphify query "질문"`
- 경로 추적: `/graphify path "A" "B"`
- 설명: `/graphify explain "노드명"`
- 코드 변경 후: `/graphify . --update`

이 한 줄을 넣는 순간 Claude Code의 행동이 바뀝니다. "이 함수 뭐해?"라고 물어보면 Claude가 파일을 막 열기 전에 그래프부터 먼저 쿼리해요. 토큰이 71.5배 덜 드는 이유가 여기 있습니다.

패턴 2. Claude가 잊어버린 것을 graphify가 기억한다

Claude 세션은 휘발성이에요. 10분 전에 같이 본 파일도 컨텍스트가 꽉 차면 잊어버립니다. 하지만 graph.json은 디스크에 남아 있어요.

/graphify query "지난주에 얘기했던 결제 리팩토링 관련 서비스는?"

Claude가 세션을 넘기지 못하는 기억을 graphify가 대신 들고 있어 줍니다.

패턴 3. --watch로 살아있는 그래프 유지

/graphify . --watch

폴더 변경을 감지해서 코드가 바뀔 때마다 그래프를 자동 갱신합니다. LLM 호출 없이 AST만 다시 파싱하는 저비용 모드라, 켜놔도 부담 없어요.

패턴 4. 리팩토링 전 영향 범위 확인

"이 함수 고치면 어디가 깨지지?" 이걸 Claude한테 물어보면 파일을 막 뒤지기 시작합니다. graphify로는 한 줄.

/graphify path "AuthService.login" "PaymentService.charge"

두 지점 사이 최단 경로가 몇 단계인지, 어떤 함수들을 거치는지 즉시 나와요. 그 다음 Claude한테 실제 수정을 맡기면 됩니다.

패턴 5. 서브에이전트의 공유 메모리로 활용

Claude Code의 Agent 도구로 서브에이전트를 여러 개 띄울 때, 각 에이전트가 파일을 따로따로 읽지 않고 공통 그래프에서 필요한 부분만 꺼내 쓰는 구조가 됩니다. 병렬 에이전트의 공유 메모리가 되는 셈이에요.

실제 사례: GPTers 3개 레포

상황

GPTers는 세 개 프로젝트를 동시에 굴리고 있었습니다.

  • gpters-portal — 리팩토링 중 (staging 배포됨)

  • gpters-study — 운영 중 (실사용자 있음)

  • gpters-renewal — 52페이지 디자인 목업

출시를 앞두고 "어디에 뭐가 있고, 뭐가 빠졌는지" 한 장으로 볼 수가 없었어요. 회의 때마다 "그거 study에 있나요, portal에 있나요?"가 반복됐습니다.

한 줄 실행

/graphify .

1분 뒤

파일 1,643개 · 단어 약 152만 개
   ↓
노드 4,942개
엣지 9,235개
커뮤니티 166개
토큰 비용: 0원 (캐시 히트)

152만 단어를 0원에 한 그래프로 접었습니다. Claude 세션 하나에 절대 담을 수 없는 양이에요.

그래프가 먼저 찾아준 것들

찾아준 것 1. 출시 차단 5건은 사실 한 덩어리였다

graphify가 자동으로 묶어준 클러스터(하이퍼엣지):

🔴 출시 차단 클러스터 (신뢰도 100%)
  ├─ v0.3 릴리즈 중단
  ├─ 소셜 로그인 이슈
  ├─ 이해관계자 승인
  ├─ QA 2주차 크리티컬 버그
  └─ 어드민 버튼 동작 안 함

팀원들이 각자 "이것 때문에 못 나가요"라고 따로 말하던 다섯 가지가 사실 연결된 한 묶음이었다는 걸 그래프가 먼저 보여줬어요. 우선순위 논쟁이 회의 5분 만에 끝났습니다.

찾아준 것 2. 네 가지 기능이 한 모델 때문에 막혀 있었다

Product 모델 부재
   ├─▶ 결제 플로우 막힘
   ├─▶ 환불 정책 막힘
   ├─▶ 멤버십 기능 막힘
   └─▶ 추천 시스템 막힘

"Product 도메인 모델부터 박자"는 결정이 그래프로 증명된 셈.

찾아준 것 3. 두 레포에 똑같은 미들웨어가 있었다

INFERRED 엣지(AI 추측)가 잡아낸 중복:

middleware() ──호출──▶ matchesProtectedPath()
  📁 gpters-study/apps/web/src/middleware.ts
  📁 gpters-portal/apps/web/middleware.ts

파일 검색으로는 찾기 힘든 크로스 레포 중복을 그래프가 연결선 하나로 꺼내줬어요.

찾아준 것 4. 이 코드베이스의 심장이 어디인가

가장 많이 연결된 노드 상위 = "건드리면 위험한 곳"입니다.

순위  이름              연결 수   의미
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 🥇   AuthService        50     건드리면 50군데가 흔들림
 🥈   PaymentService     32     결제는 32군데와 엮여 있음

이 숫자 덕분에 팀 규칙이 하나 생겼어요.

"Auth나 Payment 건드리는 PR은 리뷰어 2명 필수."

5분 시작 가이드

# 1. 설치
pip install graphifyy && graphify install

# 2. 아무 폴더에 들어가서
cd ~/my-project

# 3. 한 줄
/graphify .

# 4. 브라우저에서 열기
open graphify-out/graph.html

# 5. 궁금한 거 물어보기
/graphify query "이 프로젝트에서 인증은 어떻게 처리되나요?"

이런 경우에 특히 빛납니다

  • 🆕 낯선 레포 합류 — 아키텍처를 먼저 파악

  • 📚 Obsidian vault가 너무 커졌을 때 — 뭘 써놨는지조차 잊은 상황

  • 📄 논문 리딩 리스트 — 인용 그래프와 개념 그래프 동시에

  • 🔄 여러 레포 동시 운영 — 크로스 레포 의존성을 한눈에

  • 🤖 Karpathy식 /raw 폴더 — 뭐든 던져넣고 나중에 구조화

한 문장 정리

graphify는 "AI가 무엇을 찾았고 무엇을 지어냈는지"를 구분해주는 영구 메모리다. Claude Code의 기억력 문제를 71.5배 효율로 해결한다.

레포는 github.com/safishamsi/graphify. Star 18,000개는 괜히 달린 게 아닙니다.

4
1개의 답글
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 오후,
읽고 바로 써먹을 AI 소식만