LLM 코드 분석, 토큰 비용 80% 절감! Matryoshka의 혁신
LLM 기반 코드 분석 시 과도한 토큰 사용과 컨텍스트 로트(Context Rot) 문제 발생
Matryoshka는 RLM(Recursive Language Models) 기반으로 토큰 사용량 80% 절감
REPL(Read-Eval-Print Loop) 환경에서 문서 분석, 대화형 탐색 지원
오픈소스(Open Source)로 공개되어 개발자 커뮤니티의 관심 집중
토큰 비용 절감의 핵심: RLM(Recursive Language Models) 기반 아키텍처
Matryoshka는 RLM(Recursive Language Models) 연구를 기반으로, 문서를 모델의 컨텍스트에 직접 로드하는 대신 외부 환경으로 취급한다. 기술적으로 보면, 문서 내 검색(Document Search), 필터링, 집계 등의 연산을 수행하고, 필요한 정보만 LLM에 전달하는 방식을 사용한다. 이러한 접근 방식은 LLM이 모든 문서를 알 필요 없이, 필요한 정보에만 집중하도록 하여 토큰 사용량(Token Usage)을 획기적으로 줄인다.
REPL 기반의 대화형 분석 환경
Matryoshka는 REPL(Read-Eval-Print Loop) 환경을 활용하여 대화형 코드 분석을 지원한다. 사용자는 Nucleus라는 S-expression 기반의 쿼리 언어를 사용하여 원하는 정보를 질의하고, 이전 질의 결과를 기반으로 연산을 체이닝(Chaining)할 수 있다. 특히, 결과를 REPL 상태에 저장(Store Results in REPL State)하여 컨텍스트 로트(Context Rot) 문제를 해결하고, 각 단계별로 점진적인 분석을 가능하게 한다.
Barliman 스타일의 예시 기반 코드 합성
Matryoshka는 Barliman의 아이디어를 차용하여 예시 기반의 코드 합성을 지원한다. 사용자는 원하는 동작의 예시를 제공하고, Matryoshka는 이를 바탕으로 코드를 생성한다. 예를 들어, 통화 문자열에서 숫자 값을 추출하는 경우, 수동으로 정규식을 작성하는 대신 예시를 통해 패턴을 학습한다. 이러한 예시 기반 학습(Example-Based Learning)은 복잡한 정규식(Regex) 없이도 유연한 분석을 가능하게 한다.
실제 코드베이스 분석을 통한 성능 검증
Matryoshka는 Anki-connect 코드베이스 분석을 통해 성능을 검증했다. 기존 방식 대비 82%의 토큰 사용량 절감과 100%의 코드 커버리지를 달성했다. 특히, 작은 파일은 직접 읽고, 큰 파일은 Matryoshka를 활용하는 하이브리드 방식(Hybrid Approach)을 통해 효율성을 극대화했다. 이러한 결과는 Matryoshka가 실제 개발 환경에서 LLM 기반 코드 분석(LLM-based Code Analysis)의 유용한 도구임을 시사한다.