ProgramBench: AI가 처음부터 거대한 바이너리를 재구축할 수 있을까? (아닌 것 같다)
ProgramBench: Can we really rebuild huge binaries from scratch? (doesn't look like it)
핵심 요약
AI 에이전트가 처음부터 프로그램을 설계하고 구축하는 능력을 평가하는 새로운 벤치마크 'ProgramBench'가 공개됨.
- ProgramBench 벤치마크 — AI 에이전트가 타겟 실행 파일만 보고 처음부터 프로그램을 설계하고 구현하는 능력을 평가함.
- 엄격한 평가 환경 — 인터넷 접속과 디컴파일을 금지하여 AI의 순수한 설계 및 구현 능력을 측정함.
- 오픈소스 공개 — 깃허브와 도커 이미지를 통해 누구나 자신의 제출물을 평가할 수 있도록 공개함.
- 오픈소스 모델의 한계 — 현재는 폐쇄형 모델 위주이며, 오픈소스 모델은 새로운 벤치마크 적응에 어려움을 겪고 있음.
최근 에이전트가 처음부터 전체 프로그램을 구축하는 사례 연구가 꽤 있었지만, 대부분은 수동으로 조정된 설정으로 단일 또는 소수의 프로젝트만 테스트했습니다.
저희는 지난 몇 달 동안 이 환경을 공식화하고 테스트, 부정행위 방지, 작업 다양성에 집중하며 200개의 작업으로 구성된 벤치마크를 구축하는 데 시간을 보냈습니다.
저희 에이전트는 오직 타겟 실행 파일과 몇 개의 readme/사용법 파일만 제공받습니다. 에이전트는 언어를 선택하고, 추상화 계층을 설계하며, 전체 프로그램을 설계해야 합니다. 인터넷 접속이나 다른 부정행위 방법은 없습니다. 디컴파일도 없습니다.
또한 5만 달러 정도를 들여 600만 줄의 행동 테스트를 생성하고, 그중 가장 좋은 것들만 남기도록 필터링했습니다. 이 테스트들은 실행 파일을 블랙박스로 테스트하기 때문에, LM이 프로그램을 구현하는 데 사용하는 언어에 대해서조차 아무런 가정을 하지 않습니다.
모든 결과는 programbench.com 에서 확인할 수 있습니다. 하단에는 큰 FAQ도 있습니다.
방금 저희 깃허브, 허깅페이스, 도커 이미지를 오픈소스로 공개했습니다.
기본적으로 pip install programbench && programbench eval <your submission> 명령어로 평가를 시작할 수 있습니다.
깃허브 주소는 https://github.com/facebookresearch/programbench 입니다.
현재는 폐쇄형 모델만 지원해서 죄송합니다. 오픈소스 모델도 몇 개 준비 중이지만, 지금까지는 이런 작업에서 오픈소스 모델들이 제대로 작동하게 만드는 것이 훨씬 더 어려웠습니다(오픈소스 모델들은 SWE-bench 같은 것에 다소 과적합되는 경향이 있어서, 새로운 벤치마크에서는 더 어려움을 겪는 경우가 많습니다).
또한 SWE-bench와 그 변형들에서 했던 것처럼 곧 제출을 위해 벤치마크를 오픈할 계획도 가지고 있습니다.

