TurboQuant 벡터 압축 기반 Git 커밋 히스토리 의미 검색 도구 (ICLR 2026)
키워드 검색은 그만. 의미로 검색하세요.
# 현재: 글자 매칭만 가능
git log --grep="메모리 누수" # "메모리 누수"라는 글자가 있는 커밋만 찾음
# "fix kfree_skb double free" --> 못 찾음
# "plug UAF in reset path" --> 못 찾음# CommitMind: 의미 기반 검색
commitmind search "메모리 누수"
# >> #1 [0.94] a3f2c1d Fix kfree_skb double free in netfilter
# >> #2 [0.91] b7e4a2f Plug use-after-free in device reset path
# >> #3 [0.87] c9d1b3e Resolve dangling pointer in slab allocatorCommitMind는 쿼리의 의미를 이해하여 관련 커밋을 찾습니다. 정확한 단어가 없어도 됩니다.
Git 커밋 --> 문장 임베딩 --> TurboQuant 압축 --> 의미 검색
(all-MiniLM-L6-v2) (7.6배 압축) (비대칭 스코어링)
- 추출: git 히스토리에서 커밋 메시지 + 파일 변경 메타데이터 추출
- 임베딩: 각 커밋을 384차원 벡터로 변환 (로컬 모델, API 불필요)
- 압축: TurboQuant(Google ICLR 2026)으로 벡터 압축 - 메모리 87% 절감
- 검색: 비대칭 내적 추정으로 검색 (압축 해제 불필요)
pip install commitmind또는 소스에서 설치:
git clone https://github.com/wjddusrb03/commitmind.git
cd commitmind
pip install -e ".[dev]"# 1. 저장소 인덱싱
cd your-project
commitmind index
# 출력:
# Indexing complete!
# > 3,842 commits indexed
# > Compressed: 18.2 MB -> 2.4 MB (7.6x)
# > Saved to .commitmind/index.pkl
# 2. 의미로 검색
commitmind search "인증 버그 수정"
# 3. 통계 보기
commitmind stats| 명령어 | 설명 |
|---|---|
commitmind index |
커밋을 TurboQuant 압축으로 인덱싱 |
commitmind search "쿼리" |
커밋 의미 검색 |
commitmind stats |
인덱스 통계 표시 |
commitmind update |
새 커밋만 추가 인덱싱 |
# 인덱싱 옵션
commitmind index --max-commits 1000 # 최근 1000개만 인덱싱
commitmind index --branch main # 특정 브랜치 인덱싱
commitmind index --bits 2 # 2비트 양자화 (더 높은 압축)
# 검색 옵션
commitmind search "쿼리" -k 10 # 상위 10개 결과 반환- 새로 합류한 개발자: "이 프로젝트에서 인증 관련 변경은 언제 있었지?"
- 버그 추적: "네트워크 타임아웃 관련 수정 이력 보여줘"
- 보안 감사: "SQL injection 관련 수정 전부 찾아줘"
- 코드 고고학: Linux 커널 124만 커밋에서 의미 기반 탐색
- 다국어 검색: 한국어로 영어 커밋 검색 가능
TurboQuant 압축 덕분에:
| 커밋 수 | 비압축 | CommitMind | 절감률 |
|---|---|---|---|
| 1,000 | 1.5 MB | 0.2 MB | 87% |
| 10,000 | 15 MB | 2.0 MB | 87% |
| 100,000 | 150 MB | 20 MB | 87% |
| 1,000,000 | 1.5 GB | 200 MB | 87% |
CommitMind는 TurboQuant (Google Research, ICLR 2026)을 사용합니다:
- PolarQuant: 랜덤 직교 회전 + Lloyd-Max 스칼라 양자화 (3비트)
- QJL: 양자화된 Johnson-Lindenstrauss 잔차 보정 (1비트)
- 비대칭 스코어링: 벡터를 압축 해제하지 않고 유사도 계산
약 7.6배 압축률로 정확도 손실을 최소화합니다.
- Python 3.9+
- Git 저장소
- CPU만으로 동작 (GPU 불필요)
- 임베딩 모델용 디스크 약 500 MB (최초 1회 다운로드)
이슈와 풀 리퀘스트를 환영합니다! 버그를 발견하거나 제안이 있으시면 이슈를 열어주세요.
MIT License
CommitMind를 연구에 사용하시면:
@software{commitmind2026,
title={CommitMind: Semantic Git Commit Search with TurboQuant Compression},
author={wjddusrb03},
year={2026},
url={https://github.com/wjddusrb03/commitmind}
}- langchain-turboquant - TurboQuant 압축 기반 LangChain VectorStore
- TurboQuant 논문 - Google Research ICLR 2026 원본 논문