CommitDistill: 소프트웨어 저장소를 위한 경량 지식 중심 메모리 레이어
요약
CommitDistill은 소프트웨어 저장소의 git 이력에서 정규 표현식을 사용하여 Facts, Skills, Patterns와 같은 타입형 지식을 추출하는 경량 메모리 레이어입니다. 임베딩이나 외부 서비스 없이 로컬에서 결정론적으로 작동하며, 제한된 예산 내에서 높은 검색 적중률을 제공하는 오픈 소스 Python 프로토타입입니다.
핵심 포인트
- git 이력(커밋 메시지, PR, 이슈)을 정규 표현식 기반의 타입형 지식 단위로 증류하여 메모리화함
- 임베딩 미사용, 로컬 전용, 결정론적 방식을 채택하여 의존성을 최소화하고 검사 가능한 JSON 저장소 제공
- 예산 제한적 검색 환경(쿼리당 256자)에서 BM25 및 git log --grep 대비 압도적인 적중률 달성
- 10,000개 이상의 커밋을 4초 이내에 처리할 수 있는 높은 효율성 보유
소프트웨어 저장소(Software repositories)는 커밋 메시지(commit messages), 풀 리퀘스트(pull-request) 토론, 이슈 스레드(issue threads)에 방대한 양의 비정형 지식을 축적하지만, 개발자와 AI 코딩 어시스턴트가 이 이력을 효과적으로 재사용하는 경우는 드뭅니다. LLM 에이전트를 위한 타입형 메모리 아키텍처(typed-memory architectures)에 관한 최근 연구(MemGPT, generative agents, 그리고 Yang 등이 제안한 PlugMem 모듈)는 에이전트의 메모리가 가공되지 않은 상호작용 텍스트가 아닌, 증류된 타입형 지식(distilled, typed knowledge)이어야 한다고 주장합니다. 우리는 이러한 관점을 결정론적(deterministic), 의존성 없음(dependency-free), 로컬 전용(local-only), 임베딩 미사용(no embeddings)이라는 제한된 체제 하의 소프트웨어 저장소 자체 git 이력에 적용합니다. 우리는 결정론적 정규 표현식(regex)을 사용하여 로컬 git 이력을 타입형 지식 단위(Facts, Skills, Patterns)로 채굴하고, 분포 외(out-of-distribution) 쿼리에 대해서는 기권하는 보정된 침묵 임계값(silence threshold, theta = 2.5)을 가진 TF-IDF 검색기(retriever)를 통해 이를 노출하는 오픈 소스 Python 프로토타입인 CommitDistill을 제시합니다. 이 결과물은 신뢰성이 확보된 메모리 기질(memory substrate)입니다: 결정론적이며, 외부 서비스가 필요 없고, 검사 가능한 plain-JSON 저장소를 가지며, 조절 가능한 기권(abstention) 기능을 제공합니다. Python, JavaScript, C, Java를 아우르는 5개의 공개 저장소에 대한 사례 연구(25,000개 커밋, 1,167개 추출 단위) 결과, 이중 주석 처리된 40개의 Python 단위에 대해 Cohen's kappa = 0.633에서 0.525의 유용 정밀도(useful-precision)를 보고했습니다. 결정적인 발견은 예산 제한적 검색(budget-constrained retrieval)입니다: 쿼리당 256자 예산에서, CommitDistill은 12개 쿼리 벤치마크에서 BM25의 0.333 및 git log --grep의 0.083과 대조하여 0.750의 적중률(hit-rate)을 달성했습니다. 대조군, CommitDistill, 본문 예산이 일치하는 CD-Hybrid, 그리고 BM25를 포함하는 4개 분기 쌍체 LLM-as-judge 평가(n=200 타임 트래블 버그 수정, 2명의 심사위원)에서, 어떤 조건도 주요 평균값에서 대조군 대비 통계적으로 감지 가능한 상승을 생성하지 않았으며, CD-Hybrid는 BM25와 일대일 비교 시 구별할 수 없는 수준이었습니다. 10,000개 이상의 커밋에 대한 추출은 노트북에서 4초 이내에 완료됩니다. 소스 코드, 주석, 베이스라인 및 재현 스크립트가 이 논문에 포함되어 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기