Grep 사용을 중단했더니 에이전트 속도가 10배 빨라졌습니다

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00코드베이스 전체를 인덱싱해 주는
00:00:06Claude Context라는 MCP 플러그인이 있습니다.
00:00:11벡터 데이터베이스에 인덱싱해서 코딩 에이전트가 필요한 코드를
00:00:15grep이나 glob으로 일일이 찾을 필요 없이 빠르게 가져올 수 있죠.
00:00:20심지어 AST로 코드를 분석하고 하이브리드 검색 방식을 사용해서
00:00:24시맨틱 벡터와 키워드 매칭을 결합해 컨텍스트 사용량을 40%나 줄여줍니다.
00:00:30하지만 Claude의 코드를 사용하더라도 Zilliz 클라우드 계정과
00:00:34임베딩을 위한 OpenAI 키가 필요합니다.
00:00:35과연 그만한 노력과 비용을 들일 가치가 있을까요?
00:00:43구독 누르고 확인해 보시죠.
00:00:47이름은 잘 모르겠지만 Claude Context는 Zilliz라는 곳에서 만들었습니다.
00:00:52고성능 벡터 데이터베이스인 Milvus의 창업자들이 만든 회사죠.
00:00:54MCP를 통해 에이전트에 연결되므로 Claude Code뿐만 아니라
00:00:58다른 에이전트 환경과도 함께 사용할 수 있습니다.
00:01:03코드를 쉽게 찾을 수 있도록 세 가지 복잡한 작업을 수행합니다.
00:01:08첫째, TreeSitter를 사용해 전체 코드를 파싱하고 함수와 클래스 단위로 청크를 생성합니다.
00:01:15TypeScript, Python, Rust, Go 등 9개 언어를 지원하죠.
00:01:18둘째, 커스텀 Merkle DAG를 사용해 파일별로 해시와 JSON 스냅샷을 만듭니다.
00:01:22코드베이스 전체가 아니라 변경된 파일만 다시 인덱싱하는 거죠.
00:01:29셋째, 실제 검색 시에는 두 가지 검색을 동시에 수행합니다.
00:01:31코드의 의미를 찾는 벡터 검색과 정확한 키워드 매칭을 위한 BM25 인덱스 검색입니다.
00:01:37이 모든 과정 덕분에 최대 40%의 컨텍스트 절감 효과를 볼 수 있는데,
00:01:42대규모 코드베이스에서는 엄청난 수치입니다.
00:01:44실제로 150만 줄 정도 되는 VS Code 코드베이스로 테스트해 보겠습니다.
00:01:50복제한 VS Code 저장소 안에서 Open Code와 GPT-4o(GLM5 Turbo로 표기)를 사용할 텐데,
00:01:53Claude Pro 주간 제한을 다 써버리고 싶진 않으니까요.
00:01:58MCP 서버 설정은 보시는 것처럼 이미 제 Open Code JSON 파일에 추가해 뒀습니다.
00:02:01Milvus는 로컬에서 실행할 수도 있지만 저는 Zilliz 클라우드를 사용했습니다.
00:02:06API 키를 받고 클러스터를 생성했습니다.
00:02:10AWS 클러스터라서 여기서 퍼블릭 엔드포인트를 가져왔고요.
00:02:14클러스터 얘기가 나와서 말인데, 처음에는 무료 버전을 쓰려고 했더니
00:02:19계속 타임아웃 문제가 발생하더군요.
00:02:20그래서 비용은 좀 들지만 훨씬 잘 작동하는 서버리스 버전을 사용했습니다.
00:02:25MCP 서버 설정 후에는 노드 버전이 20 이상 24 미만인지 확인하세요.
00:02:28저는 이 프로젝트를 위해 현재 버전 22를 사용 중입니다.
00:02:31이제 코드 인덱싱, 코드 검색, 인덱스 초기화, 인덱스 상태 확인,
00:02:34이렇게 4가지 MCP 도구를 사용할 수 있습니다.
00:02:39먼저 코드베이스를 인덱싱해야 하는데 이 프롬프트를 사용하면 됩니다.
00:02:40엔터를 누르기 전에 OpenAI 임베딩 비용을 확인해 볼까요?
00:02:442만 3천 줄짜리 코드베이스를 테스트하는 데 겨우 1센트가 들었네요.
00:02:48이미 클러스터에 코드베이스 정보가 일부 인덱싱된 것도 볼 수 있습니다.
00:02:53이제 이 코드베이스를 인덱싱하면 시간이 좀 걸리고 백그라운드에서 작업이 시작됩니다.
00:02:58이 시점에서는 검색을 하지 않는 게 좋습니다.
00:03:02코드베이스가 크기 때문에 인덱싱에 시간이 꽤 걸릴 겁니다.
00:03:03인덱싱이 끝나면 다시 돌아오겠습니다.
00:03:05약 50분 후 인덱싱이 완료되었습니다.
00:03:09클러스터에 22만 3천 개 이상의 엔트리가 로드된 것을 확인할 수 있습니다.
00:03:11참고로 2만 3천 줄짜리 코드는 1천 개의 엔트리로
00:03:16인덱싱하는 데 1분도 채 걸리지 않았습니다.
00:03:21OpenAI 비용은 1센트에서 1.06달러로 늘어났는데,
00:03:27150만 줄이나 되는 코드를 매번 이렇게 인덱싱할 일은 없겠죠.
00:03:32이제 검색 속도를 한번 비교해 보겠습니다.
00:03:38여기는 Claude Context MCP 서버를 사용하는 Open Code이고,
00:03:42여기는 MCP 서버가 없는 상태입니다.
00:03:45기존 grep과 glob 도구로 검색하게 되겠죠.
00:03:49"Claude Context를 사용해서 이 프로젝트의 시작점(엔트리 포인트)을 찾아줘"라고
00:03:52프롬프트를 입력해 보겠습니다.
00:03:56얼마나 걸리는지 확인해 보죠.
00:04:00인덱스 도구를 사용하고 이제 검색 도구를 사용하네요.
00:04:01전체 프로젝트를 검색해서 메인 .ts 파일을 찾는 데 약 19초가 걸렸습니다.
00:04:02똑같은 프롬프트를 다른 인스턴스에 입력했을 때는 14초 만에 응답을 찾았습니다.
00:04:06이 쿼리만 놓고 보면 일반 GLM을 사용하는 게 훨씬 빠릅니다.
00:04:10새 세션을 시작해 보죠.
00:04:11"새 무제한 문서(untitled document)를 여는 함수가 뭐야?"라고 질문했습니다.
00:04:15이건 40초 정도 걸렸고 줄 번호와 함께 메인 함수를 찾았으며
00:04:16토큰은 약 2만 3천 개를 사용했습니다.
00:04:20다른 인스턴스는 12초 만에 1만 8천 토큰을 사용해서 찾아냈는데,
00:04:21서로 다른 파일을 찾은 것 같네요.
00:04:26실제로 Claude Context는 코드를 보여주면서 에디터 열기와 관련된 다른 파일들도
00:04:30훨씬 더 많은 정보를 제공해 줍니다.
00:04:32이제 두 인스턴스에 정확한 코드를 보여달라고 요청하겠습니다.
00:04:37Claude Context는 23초 만에 코드를 응답했고,
00:04:38그렇지 않은 Open Code는 49초가 걸렸습니다. 거의 두 배 차이죠.
00:04:44똑같은 코드를 찾아냈는데, 여기서 한 가지 생각이 떠올랐습니다.
00:04:45이번엔 좀 더 일반적이고 넓은 질문을 해보겠습니다.
00:04:48"이 코드를 살펴보고 프로젝트가 어떻게 작동하는지 설명해 줘."
00:04:52Claude Context는 41K 토큰을 사용해 49초 만에 끝냈고,
00:04:56다른 인스턴스는 더 빠르고 토큰도 적게 썼습니다.
00:05:00하지만 결과물을 보면 Claude Context가 훨씬 상세합니다.
00:05:04계층 구조와 Electron 앱에 대한 정보, 프로세스까지 잘 설명해 주네요.
00:05:06다른 옵션도 아키텍처 정보를 제공하긴 하지만
00:05:11Claude Context만큼 상세하지는 않습니다.
00:05:13Claude Context는 코드 정보를 빠르고 상세하게 가져오는 데 매우 뛰어납니다.
00:05:17한번 보세요.
00:05:22방금 한 답변의 메인 프로세스에 대해 추가 질문을 했습니다.
00:05:23질문 후 1분 47초가 걸렸는데, 세부 사항이 엄청나죠.
00:05:28부팅 순서부터 시작해서 1단계, 서비스 생성 및 초기화 과정까지 말이죠.
00:05:302단계 코드 애플리케이션 앱에 대한 정보와 관련 파일 참조까지,
00:05:34app TS 185번 줄 정보 등 끝도 없이 나옵니다.
00:05:37반면 Claude Context가 없는 쪽은 여전히 여러 하위 에이전트를 사용해서
00:05:38모든 파일을 훑고 있는 중입니다.
00:05:43각 하위 에이전트가 얼마나 많은 토큰을 쓰는지 알 수 없어 답답하죠.
00:05:47조금 더 기다려 보면 약 5분 후에 Open Code가 Electron 프로세스에 대한
00:05:52상당한 정보를 응답하지만, Claude Context만큼은 아니고
00:05:53시간은 5배나 더 걸렸습니다.
00:05:58Opus 4.7 같은 더 똑똑한 모델을 썼다면 더 나았을지 모르지만,
00:05:59그 역시 많은 시간과 토큰이 소요될 겁니다.
00:06:04녹화 전에 2만 3천 줄 코드베이스로 테스트할 때도 1분 대 5분이라는 차이를 보였죠.
00:06:05결국 누가 확실한 승자인지 말하기 어렵습니다.
00:06:10Claude Context가 항상 더 상세했지만, 가장 빠르거나 토큰 효율적이지는 않았거든요.
00:06:15대규모 코드베이스에서는 인덱싱에 시간이 너무 오래 걸립니다.
00:06:16하지만 2만에서 3만 줄 정도의 평균적인 크기라면 인덱싱 시간은 정말 빠릅니다.
00:06:21결과물의 상세함 차이도 매우 뚜렷하고요.
00:06:22그래서 대규모 코드베이스보다는 일반적인 크기의 코드베이스에서
00:06:26사용하기 훨씬 좋다는 생각이 듭니다.
00:06:31사실 이건 Zilliz를 위한 훌륭한 마케팅 도구이기도 하네요.
00:06:34Claude Context를 쓰기 전에는 Zilliz를 몰랐는데 이제 유료 고객이 되었으니까요.
00:06:40설정이 번거롭고 대규모 코드베이스 인덱싱이 오래 걸리긴 했지만,
00:06:44오픈소스 코드베이스를 자주 들여다보는 제 입장에서는
00:06:48앞으로 이 도구를 더 자주 사용하게 될 것 같습니다.
00:06:51평균적인 코드베이스라면 서버리스 플랜 비용도 그다지 비싸지 않고,
00:06:54OpenAI 임베딩 비용도 큰 부담은 아니거든요.
00:07:00그래서 충분히 감수할 만합니다.
00:07:01데이터 검색과 AI 하니까 말인데,
00:07:05정말 제대로 작동하는 RAG 시스템을
00:07:10바닥부터 구축하는 방법을 알고 싶다면 Andris의 이 영상을 확인해 보세요.
00:07:11스타워즈 팬이라면 이 영상이 특히 마음에 드실 겁니다.
00:07:14더 상세히 알려줄까요?
00:07:20이 영상이 매우 유용할 겁니다.
00:07:22제 채널을 구독해 주시고
00:07:23다양한 정보를 받아보세요.
00:07:27다음 영상에서 뵙겠습니다.
00:07:31오늘도 코딩 즐겁게 하세요!
00:07:36이제 영상을 마무리합니다.
00:07:37관련 영상이 궁금하시다면
00:07:42화면에 떠 있는 링크를 클릭하세요.
00:07:44도움이 되었다면 좋겠네요.
00:07:49이만 줄이겠습니다.
00:07:52다음에 또 만나요.
00:07:53좋은 하루 보내세요.
00:07:55영상 내용이 유익했나요?
00:07:59댓글로 의견 남겨주세요.
00:08:02오늘 영상 시청해 주셔서 감사합니다.

Key Takeaway

Claude Context MCP 플러그인은 하이브리드 검색 기술을 통해 코드 검색 속도를 최대 5배 향상시키며, 기존 grep 방식보다 훨씬 상세한 코드 컨텍스트를 제공하여 개발 효율을 높인다.

Highlights

  • Claude Context MCP 플러그인은 전체 코드베이스를 벡터 데이터베이스에 인덱싱하여 검색 효율을 높이고 컨텍스트 사용량을 최대 40% 절감한다.

  • TreeSitter를 이용한 함수 및 클래스 단위 청크 생성과 변경된 파일만 재인덱싱하는 Merkle DAG 기술을 적용한다.

  • 150만 줄 규모의 코드베이스 테스트 결과, 일반적인 검색 방식 대비 코드 응답 속도가 최대 5배 빠르다.

  • 단순 코드 검색보다 아키텍처 계층 구조 및 프로세스 세부 사항을 파악하는 심층적인 질문에서 더 상세한 정보를 제공한다.

  • 2만 3천 줄 규모의 코드베이스 인덱싱 비용은 OpenAI 임베딩 기준 약 1센트 수준으로 매우 경제적이다.

  • 대규모 프로젝트보다는 2만~3만 줄 내외의 일반적인 코드베이스 환경에서 성능과 효율성이 가장 극대화된다.

Timeline

Claude Context의 기술적 원리와 핵심 도구

  • Claude Context는 코드베이스를 벡터 데이터베이스에 인덱싱하여 grep이나 glob 검색을 대체한다.
  • TreeSitter로 파싱된 청크와 Merkle DAG를 활용해 변경된 파일만 지능적으로 인덱싱한다.
  • 벡터 검색과 BM25 키워드 매칭을 결합하여 컨텍스트 사용량을 최대 40% 줄인다.

이 도구는 Python, TypeScript, Rust 등 9개 언어를 지원하며 함수와 클래스 단위로 코드를 구조화한다. Merkle DAG 기술은 전체 인덱싱의 부담을 줄여 변경된 코드에 대해서만 효율적으로 작업한다. 시맨틱 벡터와 BM25를 동시에 사용하여 검색 정확도와 속도를 모두 확보한다.

VS Code 코드베이스를 활용한 성능 테스트

  • 150만 줄 규모의 VS Code 코드베이스를 대상으로 검색 성능을 비교했다.
  • Zilliz 클라우드 서버리스 버전을 사용해 인덱싱 환경을 구축했다.
  • 특정 코드 파일을 찾는 속도에서 Claude Context가 기존 방식보다 약 2배 빠른 응답을 보였다.

실제 테스트에서 2만 3천 줄 코드베이스 인덱싱에는 1분 미만이 소요되었으며 OpenAI 비용은 1센트가 발생했다. 대규모 코드베이스 인덱싱에는 약 50분이 소요되어 초기 비용과 시간이 발생하지만, 이후 검색 성능에서는 월등한 효율을 보였다. 특히 상세한 코드 정보를 추출하는 과정에서 기존 검색 방식과의 성능 격차가 확연히 드러났다.

검색 상세도 및 활용성 비교 결과

  • 프로젝트 작동 원리 질문에서 Claude Context가 하위 에이전트 방식보다 5배 빠르게 상세한 아키텍처 정보를 제공한다.
  • 대규모 코드베이스보다는 2~3만 줄 규모에서 가장 최적의 성능을 보인다.
  • 초기 설정의 번거로움과 비용은 빈번한 오픈소스 코드 탐색 업무를 고려할 때 충분히 감수할 만한 가치가 있다.

일반적인 검색 방식은 모든 파일을 훑는 하위 에이전트 때문에 시간이 오래 걸리고 토큰 효율이 낮다. 반면 Claude Context는 계층 구조와 부팅 순서 등 깊이 있는 정보를 즉각적으로 제공한다. 개발자는 이 도구를 통해 인덱싱 시간 대비 검색 상세도의 이점을 극대화할 수 있다.

Community Posts

View all posts