자동프로그래밍 최적화 프레임워크 KAPSO
초록
KAPSO는 자연어 목표와 평가 함수를 입력으로 받아, 아이디어 도출·코드 합성·수정·실행·평가·학습을 반복함으로써 실행 가능한 프로그램을 점진적으로 개선하는 모듈형 시스템이다. Git 기반 실험 엔진, 멀티소스 지식베이스, 에피소드 기억층을 결합해 장기 실행 루프에서 발생하는 상태 손실·디버깅 취약성·전문 지식 재사용 부족 문제를 해결한다. MLE‑Bench와 ALE‑Bench에서 엔드‑투‑엔드 성능을 검증하였다.
상세 분석
KAPSO는 기존 LLM 기반 코딩 에이전트가 장기 최적화 과정에서 겪는 “실험 상태 소실”, “반복적인 통합 오류”, “전문 지식 재활용 미비”라는 세 가지 주요 고질적인 문제를 구조적으로 해결한다. 첫 번째로, Git‑native 실험 엔진은 각 시도(실험)를 독립적인 브랜치로 격리하고, 코드 변경, 실행 로그, 평가 결과를 모두 버전 관리한다. 이는 재현성을 보장하고, 이전 실험으로부터 정확한 원인 분석이 가능하도록 만든다. 두 번째로, 지식 시스템은 내부 레포지토리, 플레이북, 외부 문서·논문·웹 검색 결과 등을 자동 수집·정제·그래프·벡터 인덱스로 변환해 MediaWiki에 저장한다. 이렇게 구조화된 지식은 ‘원칙(Principle)’, ‘구현(Implementation)’, ‘환경(Environment)’, ‘휴리스틱(Heuristic)’ 등 타입별로 구분돼, 목표(g)와 현재 시드 레포지토리(ˆr), 실패 신호(s)에 따라 컨텍스트에 맞는 정보를 효율적으로 검색한다. 세 번째인 인지 기억 층은 실행 트레이스, 코드 diff, 평가 피드백을 에피소드 메모리로 축적하고, 반복 오류 패턴을 자동 추출해 검색 결과에 피드백한다. 이는 “Error‑Recovery Augmentation”(ERA) 메커니즘을 통해 실패 원인에 특화된 대안을 즉시 제공함으로써 수렴 속도를 크게 높인다.
알고리즘적으로 KAPSO는 ‘evolve’ 연산을 중심으로 OrchestratorAgent가 네 개의 플러그인 서브시스템(검색 전략, 컨텍스트 매니저, 지식 검색, 코딩 에이전트)을 조합한다. 검색 전략은 선형 탐색·트리 기반 탐색 등으로 후보 솔루션을 제안하고, 컨텍스트 매니저는 목표, 제약, 검색된 지식, 에피소드 인사이트 등을 종합해 LLM에게 전달한다. 코딩 에이전트는 제안된 솔루션을 코드 패치 형태로 구현하거나, 필요 시 전체 합성을 수행한다. 실행 단계에서는 평가 계약(E) 하에 K개의 롤아웃을 수행하고, Agg_R와 Agg_J 연산을 통해 측정 레코드와 기대 효용을 추정한다. 선택 규칙은 스칼라 유틸리티 혹은 다중 기준 선호 관계에 따라 최적 후보를 결정한다.
평가에서는 MLE‑Bench(머신러닝 경진대회)와 ALE‑Bench(AtCoder 기반 휴리스틱 최적화) 두 벤치마크에 KAPSO를 적용했으며, 기존 LLM 코딩 에이전트 대비 목표 달성도와 수렴 속도에서 유의미한 개선을 보였다. 특히, 복잡한 데이터 파이프라인 구축이나 알고리즘 튜닝 같은 장기 작업에서 상태 관리와 지식 재활용이 크게 기여한 것으로 분석된다.
전반적으로 KAPSO는 “코드 합성 = 최종 목표”가 아니라 “코드 합성 = 최적화 연산자”라는 패러다임 전환을 제시한다. 모듈형 설계와 명시적 평가 경계, 풍부한 지식 기반, 에피소드 학습을 결합함으로써, 자동 프로그래밍 시스템이 실제 소프트웨어 엔지니어링 워크플로우에 보다 근접한 형태로 진화할 수 있음을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기