Grep 사용을 중단했더니 에이전트 속도가 10배 빨라졌습니다
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
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오늘 영상 시청해 주셔서 감사합니다.