ProgramDistill, 실행 가능한 앱으로 코딩 에이전트를 평가하다
배경
기존 소프트웨어 엔지니어링 벤치마크는 대체로 이슈, 명세 또는 자연어 지시를 통해 원하는 동작을 설명합니다. 그러나 실제 웹 개발에서는 완전히 작동하는 제품과 일부만 구현된 프로젝트가 주어지고, 개발자가 제품을 직접 사용하면서 누락된 요구사항을 추론해야 하는 상황이 발생합니다. Microsoft Research의 ProgramDistill은 바로 이 능력을 코딩 에이전트 평가에 포함합니다.
평가 방식
ProgramDistill은 실행 가능한 애플리케이션을 단순한 시각적 참고자료가 아니라 행동의 기준으로 활용합니다. 연구팀은 애플리케이션을 서로 다른 세분화 수준의 기능으로 분해하고, 각 기능에 반복 실행할 수 있는 동작을 연결했습니다. 해당 기능의 gold patch를 이용해 동작을 재생할 수 있으므로, 구현 결과를 실행 기반으로 검증할 수 있습니다.
mine-craft-patch라는 자동화 파이프라인은 26개 애플리케이션에서 1,975개의 재생 검증 동작을 찾아냈고, 사람의 개별 태스크 작성 없이 4,063개 평가 과제를 구성했습니다. 이 방식은 인터랙티브 소프트웨어의 복잡성을 유지하면서도 반복 가능한 평가를 가능하게 합니다. 또한 모호한 텍스트 요구사항을 만족했는지만 판단하는 방식의 한계를 줄입니다.
주요 결과
연구진은 9개의 최신 코딩 에이전트를 평가했습니다. 전체 애플리케이션 재구성에서 누적 워크플로 성공률은 GPT-6 Astra가 49.2%, Claude Opus 5가 28.8%였습니다. 개별 기능을 생성하는 것과 여러 기능이 연결된 작업 흐름을 끝까지 일관되게 완성하는 것은 다른 문제라는 점이 드러납니다.
부분 애플리케이션 재구성에서는 복원 깊이가 1에서 8로 증가할 때 GPT-6 Astra의 성공률이 100%에서 64.0%로, Claude Opus 5는 96%에서 32%로 떨어졌습니다. 이는 핵심 난제가 코드 생성만이 아님을 보여줍니다. 에이전트는 참조 앱을 관찰하고, 동작 사이의 의존성을 파악하며, 불완전한 프로젝트 안에서 일관된 변경을 계획하고 구현해야 합니다.
의미와 한계
ProgramDistill은 암묵적인 요구사항 발견과 인터랙티브한 기능 재현을 SWE 평가에 추가합니다. 기능의 세분화 수준과 복원 깊이를 조절할 수 있어, 에이전트가 행동 발견, 계획, 구현 중 어느 단계에서 실패하는지 분석하는 데 활용할 수 있습니다.
과제 생성이 자동화되어 있다는 점은 평가 범위를 확장하고 난이도별 학습 커리큘럼을 구성하는 기반이 될 수 있습니다. 다만 공개 버전은 아직 준비 중이며, 다양한 애플리케이션 유형에 얼마나 폭넓게 적용될 수 있는지는 후속 검증이 필요합니다.
댓글
로그인 상태 확인 중…
댓글 불러오는 중…