본문으로 건너뛰기
ReviewRamble

주간 브리프

AI 리뷰를 받은편지함으로.

  • 도구, 모델, MCP 서버, 저장소의 새 리뷰(결론부터)
  • 변경이 있을 때 다시 확인한 가격과 평점
  • 새로 발행된 분석 글

모델, 에이전트, MCP 서버, 그리고 정말 시간을 들일 만한 도구.

일주일에 한 통입니다. 각 브리프의 링크로 구독을 해지할 수 있습니다. 이메일 사용 방식

Project RAG

코드베이스를 LanceDB에 임베딩하고, 벡터와 키워드를 섞은 하이브리드 검색으로 코딩 에이전트에 답하는 로컬 Rust 서버입니다.

리뷰어: Sheela · 업데이트

설치 문서 오픈 소스

평점

2.8/5

코드를 위한 하이브리드 검색 설계는 탄탄합니다. 하지만 자체 로깅과 제외 패턴을 망가뜨리는 버그의 수정이 병합되지 않아 발목이 잡혀 있습니다.

Project RAG의 개요

Project RAG는 사용자의 컴퓨터에서 코드베이스를 색인하고 MCP로 에이전트에 제공합니다. 코드는 12개 언어에 대해 Tree-sitter로 함수, 클래스, 메서드 단위로 나뉘고(나머지는 50줄 단위 청크), fastembed-rs와 all-MiniLM-L6-v2 모델로 로컬에서 임베딩된 뒤, Tantivy BM25 색인과 함께 내장 LanceDB 데이터베이스에 저장됩니다. 쿼리는 두 순위를 reciprocal rank fusion으로 결합합니다. Qdrant는 빌드할 때 고를 수 있는 선택적 백엔드입니다.

서버는 stdio로 아홉 개의 도구를 제공합니다. index_codebase, query_codebase, search_by_filters, search_git_history, get_statistics, clear_index, find_definition, find_references, get_call_graph이며, 이에 대응하는 슬래시 명령 프롬프트 아홉 개가 있습니다. API 키는 필요 없습니다. 처음 실행할 때 약 50 MB의 임베딩 모델을 내려받습니다.

2025년 11월에 만들어진 저장소는 MIT 라이선스이고 스타는 약 33개이며, 모든 커밋이 기여자 한 명에게서 나왔습니다. 0.1.0 버전은 2026년 1월 24일 crates.io에 올라갔고 누적 다운로드는 77회입니다. GitHub 릴리스는 없고, 마지막 커밋은 2026년 2월 2일이며, 외부에서 온 풀 리퀘스트 세 건이 5월과 7월부터 관리자의 답 없이 기다리고 있습니다. 공식 MCP 레지스트리에는 등록되어 있지 않습니다.

Project RAG 설치 방법

cargo install project-rag

Project RAG, 쓸 만한 가치가 있습니까?

Project RAG는 재료는 제대로 갖췄지만 부엌은 완성되지 않았습니다. 정확한 식별자가 의미만큼 중요한 코드에서는 하이브리드 검색이 옳은 선택이고, 내장 LanceDB 색인과 BM25를 짝지었으므로 옆에 따로 띄울 것이 없습니다. 하지만 개발은 2026년 2월에 멈췄고, 열려 있는 풀 리퀘스트들은 사용자가 첫날부터 부딪힐 버그를 설명합니다.

첫째는 로깅입니다. 서버는 Rust의 tracing 출력을 stdout에 초기화하는데, stdio 방식에서 stdout은 MCP 메시지 전용입니다. 5월부터 열려 있는 풀 리퀘스트 #20은 그 결과 로그 줄이 스트림을 오염시키고 도구 호출이 빈 값을 돌려준다고 설명합니다. 그런데 README에 있는 Claude Desktop과 Claude Code 예제는 RUST_LOG=info를 설정해 바로 그 로그 줄을 켭니다. 둘째는 풀 리퀘스트 #21에 나온 것으로, 포함 패턴과 제외 패턴이 단순 부분 문자열로 비교된다는 점입니다. 소스 코드도 이를 뒷받침합니다. **/vendor/** 같은 glob은 실제 경로의 부분 문자열이 될 수 없으므로 아무것과도 일치하지 않습니다. README에 있는 제외 예제도 .gitignore가 이미 건너뛰는 것 이상의 효과가 없습니다.

코드 탐색 도구는 실제로 제공되는 것보다 많은 것을 약속합니다. README는 Python, TypeScript, Java, Ruby에 대해 정밀도 약 95%의 stack-graphs 해석기를 설명합니다. 그러나 Cargo.toml은 그 기능이 준비는 되었지만 완전히 구현되지 않았다고 밝히고, 소스에는 그런 모듈이 없습니다. 실제로 돌아가는 것은 AST 기반 대체 방식이며, README 스스로 그 정밀도를 약 70%로 적고 있습니다. CodeGraph와 GitNexus는 임베딩 없이 실제 호출 그래프를 만듭니다. 여기서는 정의와 참조를 식별자 일치로 찾습니다.

성능 수치는 작성자가 직접 낸 것으로, 측정 방법 없이 일반적인 하드웨어 기준으로만 적혀 있습니다. 분당 약 1,000개 파일, 검색당 20~30 ms, 기본 메모리 약 100 MB에 모델용 50 MB입니다. issue #11의 한 사용자는 장난감 수준의 프로젝트를 색인하는 데 약 30분이 걸렸고, 큰 monorepo는 CPU로 몇 시간이 걸렸다고 보고했습니다. README는 토큰 절약에 대해서는 아무 주장도 하지 않습니다. 문서는 군데군데 앞뒤가 맞지 않습니다. LanceDB가 이미 기본값인데도 Qdrant를 엔진으로 소개하고, 내장 데이터베이스를 향후 과제로 올려 둡니다.

제 역할을 하는 곳

  • 수년간의 기록이 쌓인 5,000개 파일 규모의 다언어 저장소를 맡은 개발자

    에이전트에게 어떤 동작이 어디서 왔고 어느 커밋이 바꿨는지 묻기

    search_git_history는 기본적으로 최근 10개 커밋을 색인하고, 요청하면 더 깊이 들어가며, 작성자, 경로, 날짜 필터를 지원합니다. README에 따르면 5,000개 파일 프로젝트는 메모리 500 MB 미만입니다. 한 사용자의 보고로 보면, CPU에서 첫 색인에는 몇 분에서 몇 시간이 걸린다고 예상하십시오.

  • 사내 코드 검색 에이전트를 만드는 Rust 플랫폼 팀

    MCP 서버를 운영하는 대신 자체 서비스에 검색 기능 넣기

    이 crate는 서버뿐 아니라 RagClient 라이브러리 API도 MIT로 제공합니다. 업스트림이 두 수정 모두 병합하지 않았으므로, 부분 문자열 패턴 비교와 stdout 로깅을 고칠 시간을 잡아 두십시오.

  • 팀을 위해 로컬 코드 컨텍스트 서버를 비교하는 엔지니어링 매니저

    팀이 1년 동안 의지할 수 있는 서버 하나 고르기

    기여자 한 명, crates.io 다운로드 77회, 1월 이후 릴리스 없음이라는 점에서 이 프로젝트는 도입할 대상이 아니라 포크할 대상입니다. CodeGraph는 MIT이고, 릴리스가 활발하며, 임베딩 모델이 필요 없습니다.

도입 전 확인할 점

설정
Rust 1.88 이상과 protobuf-compiler가 필요합니다. cargo install project-rag(0.1.0)를 실행하거나 저장소에서 cargo build --release를 한 뒤, 바이너리 경로로 claude mcp add를 실행합니다. README는 Claude Code와 Claude Desktop을 다룹니다. 처음 실행하면 index_codebase가 끝나기 전에 임베딩 모델을 내려받습니다.
연동
stdio로 아홉 개의 도구를 제공합니다. index_codebase와 clear_index는 로컬 색인에 쓰고, 나머지 일곱 개는 읽기만 합니다. 아홉 개의 MCP 프롬프트는 Claude Code에서 /project: 슬래시 명령으로 나타납니다. Rust 라이브러리 API도 같은 기능을 제공합니다.
데이터와 개인정보
코드, 임베딩, BM25 색인은 로컬에 남으며, 기본적으로 플랫폼 데이터 디렉터리의 project-rag 아래에 저장됩니다. index_codebase는 에이전트가 넘기는 어떤 디렉터리 경로든 색인하므로, 서버 프로세스가 읽을 수 있는 것은 무엇이든 읽을 수 있습니다. 모델은 Hugging Face에서 내려받습니다. 공개된 보안 권고는 없습니다.
대규모 사용 시 비용
무료입니다. 비용은 CPU 시간과 디스크입니다. README는 청크 10,000개당 메모리 약 40 MB, 1,000개 파일 프로젝트에 저장 공간 약 75 MB로 추정하며, GPU 임베딩 경로는 제공하지 않습니다.
제한
Qdrant URL은 하드코딩된 localhost 기본값 외에 설정할 방법이 없고, 경로 필터는 쿼리 뒤에 적용되며, AST 청크 분할은 12개 언어만 지원합니다. README 스스로 밝히듯 100,000개가 넘는 파일의 프로젝트는 색인에 상당한 시간이 걸립니다.

좋은 점

  • 벡터와 BM25를 섞은 하이브리드 검색은 식별자와 일반 문장 모두에 맞습니다
  • 내장 LanceDB와 로컬 임베딩을 쓰므로 키나 외부 서비스가 필요 없습니다
  • 커밋 메시지와 diff를 대상으로 하는 Git 기록 검색
  • 프로세스 간 잠금으로 두 세션이 한 저장소를 동시에 색인하지 못하게 합니다

아쉬운 점

  • 2026년 2월 이후 커밋이 없고, 외부 수정이 병합되지 않았습니다
  • stdout의 로그가 MCP 스트림을 오염시킬 수 있습니다(열린 PR #20)
  • glob 포함 패턴과 제외 패턴이 일치하지 않습니다(열린 PR #21)
  • 광고한 고정밀 탐색 기능이 구현되지 않았습니다

추천 대상

로컬 하이브리드 코드 검색을 위해 소스에서 직접 빌드하고 열린 수정을 스스로 적용할 각오가 된 Rust 개발자.

Project RAG 대안

Project RAG: 자주 묻는 질문

Project RAG, 쓸 만한 가치가 있습니까?
코드를 위한 하이브리드 검색 설계는 탄탄합니다. 하지만 자체 로깅과 제외 패턴을 망가뜨리는 버그의 수정이 병합되지 않아 발목이 잡혀 있습니다. 평점은 5점 만점에 2.8점입니다.
Project RAG의 가격은 얼마입니까?
무료이며 MIT 라이선스입니다.
Project RAG의 단점은 무엇입니까?
2026년 2월 이후 커밋이 없고, 외부 수정이 병합되지 않았습니다; stdout의 로그가 MCP 스트림을 오염시킬 수 있습니다(열린 PR #20); glob 포함 패턴과 제외 패턴이 일치하지 않습니다(열린 PR #21); 광고한 고정밀 탐색 기능이 구현되지 않았습니다.
Project RAG에 적합한 사람은 누구입니까?
로컬 하이브리드 코드 검색을 위해 소스에서 직접 빌드하고 열린 수정을 스스로 적용할 각오가 된 Rust 개발자.
팀이나 프로덕션 환경에서 Project RAG의 비용은 얼마입니까?
무료입니다. 비용은 CPU 시간과 디스크입니다. README는 청크 10,000개당 메모리 약 40 MB, 1,000개 파일 프로젝트에 저장 공간 약 75 MB로 추정하며, GPU 임베딩 경로는 제공하지 않습니다.
Project RAG에 회사 데이터를 맡겨도 안전합니까?
코드, 임베딩, BM25 색인은 로컬에 남으며, 기본적으로 플랫폼 데이터 디렉터리의 project-rag 아래에 저장됩니다. index_codebase는 에이전트가 넘기는 어떤 디렉터리 경로든 색인하므로, 서버 프로세스가 읽을 수 있는 것은 무엇이든 읽을 수 있습니다. 모델은 Hugging Face에서 내려받습니다. 공개된 보안 권고는 없습니다.
Project RAG의 가장 좋은 대안은 무엇입니까?
저희가 리뷰한 것 중 가장 가까운 대안은 CodeGraph, GitNexus, Serena 및 Semble입니다.

답변 확인일: 2026년 10월 26일.