한 줄 요약
ProgramDistill은 실행 가능한 웹 애플리케이션에서 추출한 4,063개의 SWE 태스크로, GPT-6 Astra가 49.2% 성공률을 기록한 벤치마크이다.
핵심 기여도
- ProgramDistill: 26개 애플리케이션에서 1,975개의 replay-verified 행동을 기반으로 4,063개의 SWE 태스크를 자동 생성한 벤치마크.
- mine-craft-patch 파이프라인: 행동 추출(mining), 태스크 생성(crafting), 패치 생성(patch)의 3단계로 구성된 자동화 프로세스.
- GPT-6 Astra: 전체 애플리케이션 복원에서 49.2% 성공률, Claude Opus 5는 28.8% 성공률 기록.
- 복원 깊이(1~8)에 따른 성능 감소: GPT-6 Astra는 100% → 64.0%, Claude Opus 5는 96% → 32%.
핵심 아이디어
기존 코드 생성 에이전트는 주로 명시적인 지시나 이슈를 기반으로 평가되지만, 실제 웹 개발에서는 실행 가능한 참조 애플리케이션에서 행동을 추론해야 한다. ProgramDistill은 이 문제를 해결하기 위해 실행 가능한 행동(trace)를 기반으로 SWE 태스크를 생성한다. 이는 **application-to-task factorization**과 **reference-to-current distillation**의 두 축을 통해 정의된다.
- **application-to-task factorization**은 애플리케이션을 다양한 세부 수준의 기능 단위로 분해하고, 각 단위에 대해 복원 가능한 행동(trace)와 함께 태스크를 생성한다.
- **reference-to-current distillation**은 참조 애플리케이션에서 행동을 추출한 후, 불완전한 현재 애플리케이션에 이를 재현하는 과정이다.
- 이 두 축은 mine-craft-patch 파이프라인을 통해 자동화되며, 각 단계에서 추출된 행동은 **task unit**이자 **behavioral verifier**로 사용된다.
기술적 접근법
- **mine-craft-patch 파이프라인**:
- **Mine**: 브라우저 상호작용 trace를 기반으로 1,975개의 replay-verified 행동 추출.
- **Craft**: 추출된 행동에 해당하는 코드를 마스킹하여 4,063개의 SWE 태스크 생성.
- **Patch**: 코드 생성 에이전트가 참조 애플리케이션을 기반으로 누락된 기능을 복원.
- **복원 깊이**: 1~8 단계로, 1은 단일 행동 복원, 8은 전체 애플리케이션 복원.
- **평가 메트릭**: atomic behavior test (590개)와 cumulative workflow test (413개)로 평가.
- **모델 비교**: GPT-6 Astra, Claude Opus 5, GPT-5.6 Sol 등 9개 모델 비교.
주요 결과
- GPT-6 Astra: 전체 애플리케이션 복원에서 49.2% 성공, Claude Opus 5는 28.8% 성공.
- 복원 깊이 1~8에서 GPT-6 Astra는 100% → 64.0%, Claude Opus 5는 96% → 32%로 성능 감소.
- GPT-6 Astra는 logic-only 태스크에서 96.2% 성공, logic-and-UI 태스크에서 84.9% 성공 (11.3% 차이).
- MailHub 애플리케이션에서 GPT-6 Astra는 81.8%의 cumulative recovery를 달성했으나, Baserow에서는 5.9%에 그침.
의의 및 한계
ProgramDistill은 참조 애플리케이션 기반의 코드 생성 능력을 평가하는 첫 번째 대규모 벤치마크로, **behavior-to-code** 설정을 실용적 웹 개발 환경에 맞게 확장했다. 또한, **복원 깊이**라는 새로운 평가 축을 도입하여, 단일 행동 복원에서 전체 애플리케이션 복원까지의 성능 변화를 정량적으로 분석할 수 있다.
그러나 일부 애플리케이션(예: Baserow, Reactive Resume)은 복잡한 상태 관리와 다양한 UI 요소로 인해 성능이 저하되며, 이는 모델이 다양한 상호작용 패턴을 학습하는 데 한계가 있음을 시사한다. 또한, 일부 실패 사례는 **관찰되지 않았거나**, **잘못된 상태/결과로 구현된 경우**가 포함되어 있어, 모델의 관찰 및 검증 능력도 중요한 평가 요소임을 보여준다.
실용적 활용
ProgramDistill은 웹 개발 환경에서 참조 애플리케이션을 기반으로 코드를 생성하는 에이전트를 평가하고 훈련하는 데 활용할 수 있다. 특히, **curriculum-based training**에 적합하며, **trajectory distillation**이나 **강화 학습**을 통해 복잡한 워크플로우를 학습할 수 있다. 또한, 웹 개발자 도구나 CI/CD 플랫폼에 통합하여, 기존 애플리케이션의 기능을 자동으로 분석하고 코드를 생성하는 데 사용될 수 있다.