프로그램벤치: AI가 처음부터 소프트웨어를 재구축할 수 있을까?
최근 발표된 연구 '프로그램벤치(ProgramBench)'는 언어 모델이 제로부터 소프트웨어 프로젝트를 설계하고 구현하는 전체적인 역량을 평가하는 새로운 벤치마크를 제안합니다. 연구진이 9개의 주요 LLM을 테스트한 결과, 단 하나의 모델도 주어진 과제를 완벽하게 완수하지 못했으며 최고 성능 모델조차 극소수의 과제에서만 95%의 테스트를 통과하는 데 그쳤습니다. 이는 현재 AI 코딩 에이전트들이 단순한 버그 수정을 넘어 복잡한 소프트웨어 아키텍처를 설계하고 구현하는 데 여전히 근본적인 한계를 지니고 있음을 시사합니다.
컴퓨터 과학 > 소프트웨어 엔지니어링 arXiv:2605.03546 (cs) [2026년 5월 5일 제출]
제목: ProgramBench: 언어 모델이 프로그램을 처음부터 다시 구축할 수 있는가? (ProgramBench: Can Language Models Rebuild Programs From Scratch?) 저자: 존 양 (John Yang), 킬리안 리에레트 (Kilian Lieret), 제프리 마 (Jeffrey Ma), 파트 타카르 (Parth Thakkar), 드미트리 페드첸코 (Dmitrii Pedchenko), 스텐 수틀라 (Sten Sootla), 에밀리 맥밀린 (Emily McMilin), 펑청 인 (Pengcheng Yin), 후이 루이 (Rui Hou), 가브리엘 신네브 (Gabriel Synnaeve), 디이 양 (Diyi Yang), 오필 프레스 (Ofir Press)
초록: 처음부터 아이디어를 완전한 소프트웨어 프로젝트로 발전시키는 것이 언어 모델의 인기 있는 사용 사례로 자리 잡았습니다. 최소한의 인간 개입만으로 에이전트(Agent)를 배포하여 코드베이스를 생성하고, 유지하며, 장기간에 걸쳐 확장하는 일이 이루어지고 있습니다. 이러한 환경에서는 모델이 높은 수준의 소프트웨어 아키텍처 결정을 내릴 수 있어야 합니다. 하지만 기존의 벤치마크들은 단일 버그 수정이나 지정된 단일 기능 개발과 같이 매우 국한적이고 제한적인 작업만을 측정해 왔습니다.
따라서 우리는 소프트웨어 엔지니어링 에이전트가 소프트웨어를 전체적으로 종합적으로 개발하는 능력을 측정하기 위해 'ProgramBench'를 도입합니다. ProgramBench에서 에이전트는 프로그램과 그 문서만 주어진 상태에서, 참조 실행 파일(Reference Executable)의 동작과 일치하는 코드베이스를 직접 아키텍처를 설계하고 구현해야 합니다. 종단 간(End-to-end) 행동 테스트는 에이전트 주도 퍼징(Fuzzing)을 통해 생성되므로, 구현 구조를 미리 정해두지 않고도 평가할 수 있습니다.
우리의 200개 과제는 간단한 CLI(Command Line Interface) 도구부터 FFmpeg, SQLite, PHP 인터프리터와 같이 널리 사용되는 소프트웨어까지 다양하게 포함합니다. 우리가 9개의 대형 언어 모델(LLM)을 평가한 결과, 어떤 모델도 과제를 완벽하게 해결하지 못했으며, 가장 뛰어난 모델조차 단 3%의 과제에서만 95%의 테스트를 통과했습니다. 모델들은 인간이 작성한 코드와는 확연히 다른 단일 파일 기반의 모놀리식(Monolithic) 구현을 선호하는 경향을 보였습니다.