한 줄 요약
Super Library Agent는 다중 애플리케이션 개발 시 공유 로직을 중복하지 않고 유지보수성을 향상시키는 LLM 기반 코드 생성 방법이다.
핵심 기여도
- **Super Library Agent 문제 정의**: N개의 관련 애플리케이션을 생성하면서 공유 라이브러리(Super Library)를 유지하는 문제를 정의.
- **Candidate-guided extraction**: 코드 청크 요약을 기반으로 후보 추출을 통해 추출 회수(recall)를 향상.
- **Context-aware migration**: 추출 트레이스와 호출 그래프 정보를 활용한 의존성 마이그레이션.
- **WebGen-Bench와 PaperBench에서 기능 유지하면서 토큰 수, LOC, MDL 감소**: zero-shot 대비 토큰 수 줄이고, 구조적 퇴화 방지.
핵심 아이디어
기존 LLM 코드 생성 방식은 애플리케이션별로 독립적으로 코드를 생성하므로 공유 로직이 중복되고, 유지보수 시 코드 복잡도가 누적된다. 이에 반해 Super Library Agent는 N개의 애플리케이션을 순차적으로 생성하면서 공유 라이브러리를 동적으로 관리한다. 핵심 아이디어는 **공유 로직을 추출하고, 이를 라이브러리로 재사용하는 과정을 시스템적으로 수행**하는 것이다. 이를 위해 **candidate-guided extraction**을 도입하여 코드 청크 요약을 기반으로 후보 추출을 수행하고, **context-aware migration**을 통해 추출된 코드를 기존 애플리케이션에 안정적으로 통합한다. 이는 단순한 순차적 추출 방식보다 추출 회수와 의존성 마이그레이션의 안정성을 향상시킨다.
기술적 접근법
- **Super Library Agent 문제 설정**: N개의 관련 애플리케이션을 생성하면서 공유 라이브러리를 유지.
- **Candidate-guided extraction**: 코드 청크 요약을 사용한 후보 추출.
- **Pre-extraction codebase consolidation**: 추출 전 코드베이스 통합을 통해 추출 품질 향상.
- **Context-aware migration**: 추출 트레이스와 호출 그래프 정보를 활용한 의존성 마이그레이션.
- **LLM 모델**: deepseek-v4-flash 사용, 높은 추론 노력(high reasoning effort) 적용.
- **평가 프로토콜**: Zero-Shot과 비교하며, 각 애플리케이션에 별도 에이전트를 할당하지 않고, 공유 라이브러리 기반으로 공동 업데이트.
주요 결과
- **WebGen-Bench와 PaperBench에서 토큰 수, LOC, MDL 감소**: 기능 유지하면서 zero-shot 대비 토큰 수 줄이고, 구조적 퇴화 방지.
- **Patch Size (Added LOC) 감소**: Git diff 기반으로 애플리케이션과 라이브러리 코드에서 추가된 LOC가 감소.
- **Cross-application edits 감소**: SLA-Full 적용 시 애플리케이션 간 수정이 줄어들어 유지보수성이 향상됨.
의의 및 한계
Super Library Agent는 LLM 기반 코드 생성에서 발생하는 중복 로직과 코드 퇴화 문제를 해결하는 체계적인 접근법을 제시한다. 특히, **candidate-guided extraction과 context-aware migration**을 통해 추출 회수와 의존성 관리의 안정성을 향상시켰다. 이는 대규모, 진화하는 코드베이스에서 지속 가능한 LLM 코드 생성을 가능하게 한다. 그러나 **초기 추출 단계에서의 low extraction recall**과 **복잡한 의존성 관리 시의 불안정성**은 여전히 개선이 필요한 부분이다. 또한, **다중 레포지토리 간의 라이브러리 생성** 문제는 여전히 개방된 연구 주제로 남아 있다.
실용적 활용
Super Library Agent는 **다중 애플리케이션을 개발하고 유지보수해야 하는 기업의 개발 환경**에서 유용하게 활용될 수 있다. 특히, **공유 도메인 로직이 있는 웹 애플리케이션, 데이터 처리 파이프라인, API 서버 등**에서 코드 중복을 줄이고 유지보수성을 향상시킬 수 있다. 또한, **LLM 기반 자동화 개발 도구**에 통합되어 대규모 소프트웨어 포트폴리오 관리에 기여할 수 있다.