AI 코딩의 잃어버린 조각: 메모리 레이어 솔루션 (Graphify)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00이것은 여러분의 코드 베이스에 생명력을 불어넣는 가장 놀라운 방법 중 하나일 수 있습니다.
00:00:04실제 프로젝트에서 Claude Code나 Cursor를 사용 중이라면, 코드를 쓰는 게 어려운 부분이라고 생각하시겠죠.
00:00:09글쎄요, 그렇지 않습니다. 진짜 어려운 부분은 본인의 레포지토리를 이해하는 것이니까요.
00:00:13질문 하나만 던져도 AI는 상황 파악을 위해 토큰을 엄청나게 태워버립니다.
00:00:18속도는 느리고, 비용은 비싸며, 절반은 여전히 제대로 파악하지 못하죠.
00:00:22매번 전체 프로젝트를 보내는 대신 AI에게 지도를 준다면 어떨까요?
00:00:27그게 바로 Grafi가 하는 일이며, 토큰 사용량을 70% 이상 절감할 수 있습니다.
00:00:32이 모든 것이 어떻게 작동하는지 보여드리겠습니다.
00:00:34지금 현재, AI는 여러분의 프로젝트를 이렇게 봅니다. 그저 파일 더미일 뿐이죠.
00:00:44실제 연결도, 구조도, 기억도 없습니다.
00:00:48그래서 질문을 할 때마다 모든 것을 처음부터 다시 배워야 합니다.
00:00:53그렇기 때문에 답변이 근접한 것 같으면서도 어딘가 맞지 않는 겁니다.
00:00:56안드레이 카파시가 지적했던 "raw folder" 문제와 정확히 일치하는 부분이죠.
00:01:01Grafi는 그 직후에 등장했습니다. 일종의 메모리 레이어에 가깝습니다.
00:01:06이런 코딩 도구와 팁이 마음에 드신다면 구독하는 것을 잊지 마세요.
00:01:09비디오가 계속 올라올 예정입니다.
00:01:11자, 이제 보여드리죠. 여기 작은 레포지토리가 있습니다. 코드, 문서, 다이어그램이 있죠.
00:01:16평소라면 매번 AI에게 이 모든 걸 설명해야 했을 겁니다.
00:01:20대신 여기에서 Grafi 명령어를 한 번 실행합니다. 잠시 기다려보세요. 자, 이걸 보세요.
00:01:27Claude가 Grafi를 실행하고 나면, 이건 단순한 파일이 아니라 실제 그래프가 됩니다.
00:01:33모든 것이 연결되어 있습니다. 클릭해서 실제로 어떤 일이 벌어지고 있는지 분석할 수 있고,
00:01:38생성된 HTML 파일 내에서 무엇이 서로 연결되어 있는지도 확인할 수 있습니다.
00:01:42이제 AI에게 모든 걸 다시 읽으라고 하는 대신, API 레이어에 무엇이 연결되어 있는지 물어볼 수 있습니다.
00:01:50그러면 이 호출로 생성된 MD 파일을 사용하여 관계를 기반으로 답변합니다.
00:01:56추측이 아니라 관계에 기반한 것이죠. 그리고 저를 놀라게 한 부분이 여기 있습니다.
00:02:00이전에는 약 14,000개의 토큰을 사용했다고 칩시다.
00:02:04하지만 처음 실행된 이후에는 사용량이 몇 백 개 수준으로 뚝 떨어집니다.
00:02:09같은 질문이지만 생성된 지도 덕분에 비용이 완전히 달라지는 거죠.
00:02:14그럼 이게 실제로 무엇을 하는 걸까요? Grafi는 기본적으로 코드 베이스를 위한 구글 지도와 같습니다.
00:02:20단순 텍스트 대신 노드와 연결 정보를 얻게 됩니다.
00:02:24내부적으로는 tree-sitter를 사용해 구조를 이해하고, LLM으로 의미를 추출합니다.
00:02:30그런 다음 모든 것을 클러스터로 그룹화하는데, 코드만 다루는 게 아닙니다.
00:02:35PDF, 다이어그램, 심지어 오디오와 비디오도 읽습니다. 모두 로컬에서 처리되며 외부로 유출되지 않죠.
00:02:41이를 통해 얻는 결과는 간단합니다. 시각적 그래프, 서면 보고서,
00:02:46그리고 우리가 실제로 탐색할 수 있는 지식 베이스를 얻게 됩니다.
00:02:49이 시각적 그래프는 사물들이 어떻게 연결되는지 보여주기 때문에 우리 중 많은 이들에게 매우 중요합니다.
00:02:54이제 이것이 일반적인 AI 코딩 방식을 어떻게 바꾸는지 살펴보겠습니다.
00:02:57대부분의 도구는 RAG를 사용하는데, 이는 단순히 유사한 텍스트 덩어리를 찾는 것을 의미합니다.
00:03:03하지만 Grafi는 그렇게 하지 않습니다. 실제 관계를 구축하죠.
00:03:07이 함수가 저 함수를 호출하고, 이 모듈이 저 모듈에 의존한다는 식입니다.
00:03:11이 아이디어는 이 문서에서 나왔다는 것과, 심지어 얼마나 확신하는지도 알려줍니다.
00:03:16그래서 "관련 있어 보인다" 대신 "이것은 실제로 연결되어 있다"는 것을 얻게 되며
00:03:21실제 시각적 표현으로 무엇이 연결되었는지 보여줍니다.
00:03:24그리고 가장 큰 차이점은 기억을 한다는 것입니다. MD 파일을 생성했기 때문에,
00:03:30나중에 다시 참조할 수 있죠. 매번 0에서 시작하지 않아도 됩니다.
00:03:33변경된 부분만 업데이트하므로 드디어 AI가 유지되는 컨텍스트를 갖게 된 것입니다.
00:03:38좋습니다, 저는 이 모든 것이 꽤 멋지다고 생각했습니다.
00:03:42하지만 지금 당장 좋은 점과 나쁜 점은 무엇일까요?
00:03:44먼저 장점은 효율성이 누적된다는 점입니다.
00:03:47질문을 할 때마다 비용이 저렴해지죠. 그리고 코드,
00:03:51문서, 다이어그램을 연결하기 때문에 존재조차 몰랐던 관계를 발견하기 시작합니다.
00:03:56우리가 투입되는 엉망진창인 프로젝트의 온보딩 과정에서 이는 엄청난 강점입니다.
00:04:00정말 훌륭하죠. 이제 단점들을 짚어보겠습니다.
00:04:03첫 실행은 느릴 수 있고 토큰 비용이 듭니다. 특히 문서가 많을 때는 더욱 그렇습니다.
00:04:08그 이후에는 캐시되지만, 어쨌든 첫 비용은 무시할 수 없습니다.
00:04:12또한 초기 단계라서 장기적인 지원 여부는 아직 미지수이고 규모가 작습니다.
00:04:17설치할 때 스펠링은 y가 하나가 아니라 두 개인 'grafyy'입니다.
00:04:20그러니 철자를 꼭 확인하세요. 관계가 항상 완벽한 것은 아니지만,
00:04:23추출됨, 추론됨, 모호함 등으로 명확하게 라벨을 붙여줍니다.
00:04:28그래서 무엇을 신뢰할 수 있는지 알 수 있죠. 레포지토리가 아주 작다면
00:04:32이 도구는 다소 과할 수 있습니다. 그렇다면 가치가 있을까요?
00:04:35제 생각엔 그렇습니다. 제대로 된 프로젝트에 AI를 사용하고 있다면 이건 멋진 일이죠.
00:04:38가치가 있다고 생각한 이유는, 여러분의 가장 큰 문제는 코드를 실행하는 게 아니라
00:04:42파일, 시간, 컨텍스트를 넘나들며 코드를 실제로 이해하는 것이기 때문입니다.
00:04:46그리고 이것이 정확히 그 문제를 해결합니다. 토큰 절약만으로도 시도해 볼 가치가 있지만,
00:04:51더 큰 승리는 이것입니다. 여러분의 AI가 추측을 멈추고 추론을 시작한다는 것이죠.
00:04:56혼자 작업하거나, 연구를 하거나, 거대한 시스템을 다룬다면 이건 중대한 업그레이드입니다.
00:05:01작은 스크립트 작업만 하신다면 아마 과할 수 있으니,
00:05:04꼭 시도해 보실 필요는 없습니다. 하지만 시도해 보는 대부분의 개발자에게,
00:05:07이것은 정말 멋진 도구가 될 것입니다. 워크플로우를 가속화하는
00:05:10코딩 도구와 팁이 즐거우셨다면 Better Stack 채널 구독을 잊지 마세요.
00:05:14그럼 다음 영상에서 뵙겠습니다.

Key Takeaway

Grafi는 코드 베이스를 노드와 연결 정보로 이루어진 그래프 지도로 변환하여 AI의 토큰 비용을 70% 절감하고 추측이 아닌 실제 관계에 기반한 추론을 가능하게 합니다.

Highlights

  • Graphify를 사용하면 AI의 토큰 사용량을 70% 이상 절감할 수 있습니다.

  • 14,000개에 달하던 토큰 소모량이 첫 실행 이후 지도 생성 단계를 거치면 몇 백 개 수준으로 감소합니다.

  • 단순한 텍스트 유사도 검색(RAG) 대신 tree-sitter를 활용해 함수와 모듈 간의 실제 의존 관계를 노드로 구축합니다.

  • 코드 파일뿐만 아니라 PDF, 다이어그램, 오디오, 비디오 데이터를 로컬 환경에서 분석하여 지식 베이스를 생성합니다.

  • 추출된 정보는 신뢰도에 따라 '추출됨(extracted)', '추론됨(inferred)', '모호함(ambiguous)'으로 라벨링되어 제공됩니다.

Timeline

기존 AI 코딩 도구의 한계와 컨텍스트 문제

  • AI 코딩의 핵심 난제는 코드 작성 자체가 아니라 전체 레포지토리의 구조를 이해하는 것입니다.
  • 질문마다 프로젝트 전체 데이터를 전송하는 방식은 속도가 느리고 비용이 비싸며 정확도가 떨어집니다.
  • 안드레이 카파시가 언급한 'raw folder' 문제는 AI가 파일을 단순한 뭉치로만 인식하는 현상을 의미합니다.

Claude Code나 Cursor 같은 도구들이 프로젝트의 실제 연결 구조와 기억 장치 없이 작동하기 때문에 답변의 정확도가 낮아집니다. AI는 매 질문마다 모든 파일을 처음부터 다시 학습해야 하며, 이 과정에서 막대한 양의 토큰이 낭비됩니다. 파일 간의 유기적인 관계가 결여된 상태에서는 AI가 프로젝트의 맥락을 완벽히 파악하기 어렵습니다.

Graphify를 활용한 코드베이스의 그래프화

  • Grafi 명령어 실행 한 번으로 파일 뭉치를 실제 노드가 연결된 그래프 구조로 전환합니다.
  • 관계 기반 데이터를 활용하면 API 레이어에 연결된 특정 파일이나 모듈을 정확히 식별합니다.
  • 최초 실행 시 생성된 지도를 MD 파일 형태로 저장하여 이후 질문부터는 토큰 소모량을 극적으로 줄입니다.

코드와 문서, 다이어그램을 분석하여 시각적인 지도를 생성함으로써 AI에게 명확한 길잡이를 제공합니다. 사용자는 API 호출로 생성된 결과물과 연결된 파일들을 관계망 안에서 직접 확인할 수 있습니다. 초기 분석 이후에는 변경된 부분만 업데이트하는 캐싱 방식을 사용하여 효율성이 누적되는 구조를 가집니다.

기술적 작동 원리와 데이터 처리 방식

  • tree-sitter 라이브러리로 코드 구조를 분석하고 LLM을 통해 각 요소의 의미를 추출합니다.
  • 단순 유사 텍스트를 찾는 기존 RAG 방식과 달리 함수 호출과 모듈 의존성 같은 실제 관계를 구축합니다.
  • 모든 데이터 분석과 처리는 로컬 환경에서 수행되어 외부 유출을 방지합니다.

코드를 클러스터 단위로 그룹화하고 텍스트 외에도 이미지나 오디오 등 다양한 형태의 에셋을 지식 베이스에 통합합니다. 시스템은 특정 문서에서 아이디어가 기재되었다는 사실과 그 연결의 확신도까지 사용자에게 알려줍니다. 고정된 MD 파일 형태의 메모리 레이어를 통해 AI가 일시적인 컨텍스트를 넘어 지속적인 기억을 유지하도록 돕습니다.

도구 도입의 실익과 한계점 분석

  • 복잡한 프로젝트의 온보딩 과정에서 개발자가 인지하지 못했던 코드 간의 관계를 발견하는 데 효과적입니다.
  • 문서량이 많을 경우 첫 실행 시 발생하는 시간 지연과 초기 토큰 비용을 고려해야 합니다.
  • 작은 규모의 단일 스크립트 작업에서는 도구의 복잡성이 효용보다 클 수 있습니다.

누적되는 비용 절감 효과와 추론 능력 향상은 대규모 시스템 개발 시 중대한 업그레이드 요소가 됩니다. 다만 초기 단계의 도구인 만큼 설치 시 'grafyy'라는 정확한 명칭 확인이 필요하며, 관계 추출이 완벽하지 않을 수 있음을 라벨링 시스템을 통해 인지해야 합니다. 결과적으로 AI가 단순한 추측을 멈추고 논리적 추론을 시작하게 만드는 것이 이 솔루션의 최종 목적입니다.

Community Posts

View all posts