ProgramBench: 정말로 큰 바이너리부터 scratch 으로 재구성할 수 있을까요? (아니요)
요약
ProgramBench는 에이전트가 주어진 목표 실행 파일과 문서만으로, 디컴파일링이나 외부 도움 없이 처음부터 전체 프로그램을 재구성하는 능력을 테스트하기 위해 구축된 새로운 벤치마크입니다. 이 벤치마크는 200개의 다양한 작업을 포함하며, 600만 줄의 동작 테스트를 생성하여 프로그램 구현 언어에 대한 가정을 배제하고 엄격하게 평가합니다. 연구진은 ProgramBench를 오픈소스로 공개했으며, 사용자들이 쉽게 접근하여 에이전트의 실제 소프트웨어 개발 능력을 측정할 수 있도록 지원합니다.
핵심 포인트
- ProgramBench는 목표 실행 파일과 문서만으로 프로그램 전체를 처음부터 재구성하는 난이도 높은 작업을 테스트합니다.
- 디컴파일링, 인터넷 접근 등 외부 도움을 엄격하게 금지하여 순수한 'from scratch' 개발 능력을 측정합니다.
- 600만 줄의 동작 테스트 세트를 생성하여, 구현 언어에 관계없이 블랙박스 방식으로 프로그램을 검증합니다.
- 벤치마크와 평가 도구(GitHub, Huggingface, Docker)를 오픈소스로 공개하여 커뮤니티 활용을 장려합니다.
최근에는 에이전트가 처음부터 전체 프로그램을 구축하는 사례 연구가 많이 있었지만, 대부분은 손으로 조정된 설정을 사용하여 단일 또는 몇 개의 프로젝트만 테스트했습니다.
우리는 지난 몇 달 동안 이 설정을 공식화하고 200 개의 작업을 테스트하는 벤치마크를 구축했으며, 테스트, 사기 방지, 작업 다양성에 집중했습니다.
우리의 에이전트는 목표 실행 파일과 일부 README/사용 가이드 파일만 받습니다. 에이전트는 언어를 선택하고 추상 계층을 설계하며 전체 프로그램을 아키텍처해야 합니다. 인터넷 접근이나 다른任何形式的 사기 없이도 불가능합니다. 디컴파일링은 허용되지 않습니다.
우리는 또한 600 만 줄의 동작 테스트를 생성하기 위해 약 50,000 개의 테스트를 생성한 후 가장 좋은 것만 필터링했습니다. 실행 파일을 블랙박스 방식으로 테스트하기 때문에 LM 이 프로그램을 구현하는 언어에 대한 가정도 하지 않습니다.
모든 결과는 programbench.com 에 있습니다. 아래에는 큰 FAQ 도 있습니다.
우리는 GitHub, Huggingface 및 Docker 이미지를 오픈소스로 공개했습니다.
본격적으로 pip install programbench && programbench eval <your submission>로 평가 시작할 수 있습니다.
GitHub 는 https://github.com/facebookresearch/programbench 입니다.
현재는 폐쇄형 모델만 제공하지만, 우리는 파이프라인에 몇 개의 오픈소스 모델을 가지고 있습니다. 그러나 오픈소스 모델은 이러한 작업과 잘 작동하는 것이 훨씬 더 어렵습니다 (오픈소스 모델은 SWE-bench 와 같은 것에 대해 약간 과적합되는 경향이 있으므로 새로운 벤치마크에서는 종종 더 어려움을 겪습니다).
우리는 또한 곧 제출을 허용하기 위해 벤치마크를 오픈할 계획입니다. 이는 우리가 SWE-bench 및 그 변형에서 한 것과 유사합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기