순위 매기기 AI는 모두 실패했습니다. 메타스탠포드 테스트에서 GPT/클로드/제미니는 모두 0점을 받았습니다.

avatar
36氪
05-06
이 기사는 기계로 번역되었습니다
원문 표시

FFmpeg 사용자 설명서와 미리 컴파일된 실행 파일이 여기에 있습니다.

자, 이제 프로그램을 처음부터 다시 작성해 보겠습니다.

이것이 바로 ProgramBench가 세계 최고의 AI에 제기한 과제입니다.

바로 어제 출시된 이 소프트웨어는 SWE-Bench를 개발한 기존 팀이 Meta, 스탠포드, 하버드와 협력하여 제작했습니다.

소프트웨어 프로젝트 200개. 최상위 모델 9개. 합격률: 0%!

공동 제1 저자인 존 양은 스탠포드 대학교 박사 과정생이며 SWE-Bench와 SWE-agent의 개발자입니다.

버그를 수정하는 것이 아니라, 소프트웨어를 처음부터 구축하는 것입니다.

지난 한 해 동안 "AI 에이전트를 이용해 소프트웨어를 처음부터 개발하는" 사례에 대한 보고가 증가하고 있습니다.

Anthropic은 병렬 Claude 알고리즘을 사용하여 C 컴파일러를 개발했고, Cursor는 장기 자율 프로그래밍에 대한 블로그 글을 썼으며, Epoch AI의 MirrorCode도 이와 유사한 작업을 진행하고 있습니다.

하지만 이러한 사례들은 공통적인 문제점을 가지고 있습니다. 즉, 매번 테스트되는 항목의 수가 적고, 구조 조정이 수동으로 이루어진다는 것입니다.

반면, ProgramBench는 이러한 과정을 공식화했습니다.

200개의 과제, 통합된 학습 구조, 체계적인 부정행위 방지 시스템, 모든 것이 벤치마크 기준에 부합하도록 설계되었습니다.

논문 링크: https://programbench.com/static/paper.pdf

이전 테스트에서 SWE-Bench는 버그 위치나 추가해야 할 기능을 알려주는 완성된 코드베이스를 제공했고, 사용자는 이를 바탕으로 변경 작업을 수행했습니다. 본질적으로 이는 "코드 독해력과 부분적인 수정 작업"의 조합이라고 할 수 있습니다.

또한 평가 단계에서는 단위 테스트를 사용하여 코드의 내부 구현이 올바른지, 함수 시그니처와 변수 이름이 예상과 일치하는지 확인합니다.

ProgramBench는 정반대입니다.

이 프로그램은 컴파일된 실행 파일과 사용 설명서, 이렇게 두 가지만 제공합니다.

여러분의 과제는 이 프로그램을 실행하고 입력 및 출력 동작을 관찰하는 것만으로 동일한 동작을 재현할 수 있는 코드를 처음부터 작성하는 것입니다.

어떤 프로그래밍 언어를 사용할지, 어떤 데이터 구조를 사용할지, 그리고 모듈 어떻게 나눌지는 여러분이 결정합니다.

코드 골격도, 함수 시그니처도, 힌트도 없습니다.

평가 방법 측면에서, 연구팀은 에이전트 기반 퍼즈 테스트를 사용하여 200개 작업에 대해 총 248,853개의 행동 테스트를 생성했습니다.

프로그램이 한 번 실행되고 입력과 출력이 원본과 일치하면 통과하고, 그렇지 않으면 실패합니다. 테스트 과정은 모델에게 절대 공개되지 않습니다.

SWE-Bench의 단위 테스트와 달리 ProgramBench의 동작 테스트는 코드 내부 구조에 신경 쓰지 않습니다. 동작이 일관적이기만 하면 됩니다.

200개의 과제는 압축 도구(zstd, lz4, brotli), 언어 인터프리터(PHP, Lua, tinycc), 데이터베이스(DuckDB, SQLite), 미디어 처리(FFmpeg) 및 개발자 도구(ripgrep, fzf, jq)를 아우르는 프로젝트를 포함합니다.

코드 줄 수의 중간값은 8,635줄이며, 가장 많은 줄 수를 가진 FFmpeg는 270만 줄에 달합니다.

요약하자면, 이 테스트는 AI가 단순히 "기존 코드에서 변경해야 할 부분을 찾아 정확하게 수정하는 것"이 ​​아니라 "인간 엔지니어처럼 소프트웨어를 생각하고 설계하는" 능력을 갖추고 있는지를 평가합니다.

아홉 명의 모델이 나란히 앉았는데, 모두 0점을 받았다.

이번 테스트에는 Claude, Gemini, GPT 계열을 포함한 총 9개의 모델이 참여했습니다.

전체 참가자의 합격률(모든 시험 통과율)은 0%였습니다.

먼저 세 주요 브랜드 간의 정면 승부를 살펴보겠습니다.

GPT-5.4와 Gemini 3.1 Pro의 평균 합격률은 각각 38.3%와 36.6%로 거의 동일합니다. 하지만 두 시험의 응시 방식은 상당히 다릅니다.

GPT-5.4는 단 16번의 API 호출만 사용하며 비용은 0.33달러입니다. 기본적으로 전체 프로그램을 한 번에 작성할 수 있고, 한 번의 편집으로 모든 코드가 생성되므로 이후에 수정할 필요가 거의 없습니다.

Gemini 3.1 Pro는 9개 모델 중 가장 "관찰형"이었습니다. 94번의 API 호출을 사용했으며, 그중 34.1%는 원래 프로그램을 실행하고 입력 및 출력 동작을 관찰하는 작업이었습니다. 탐색 활동은 가장 활발했지만 최종 결과는 다른 모델과 큰 차이가 없었습니다.

이 제품을 진정으로 차별화하는 것은 클로드 오푸스 4.7입니다.

평균 합격률 51.2%를 기록한 이 모델은 전체 과제의 3%에서 95% 이상의 합격률을 달성하며 "거의 합격" 기준에 도달한 유일한 모델이 되었습니다. 하지만 이 모델조차도 어떤 과제에서도 만점을 받지는 못했습니다.

전반적으로 9개 모델의 성능은 명확한 계층 구조를 보여줍니다.

클로드(Claude)의 플래그십 모델 3종(Opus 4.7, Opus 4.6, Sonnet 4.6)이 가장 우수한 성능을 보이며, GPT-5.4와 Gemini 3.1 Pro가 그 뒤를 잇습니다. 나머지 4개의 소형 모델은 모두 합격률이 35% 미만입니다.

또 다른 직관에 반하는 결과는 돈을 쓰고 걸음 수를 늘리는 것이 반드시 더 나은 결과로 이어지지는 않는다는 것입니다.

Sonnet 4.6은 작업당 평균 868개의 명령을 실행하며 비용은 27.09달러이고, 가장 긴 경로는 약 2000단계에 달합니다. 하지만 성능은 93번의 호출만 사용하고 비용이 3.81달러인 Opus 4.7보다 떨어집니다.

더욱 중요한 것은, 실행의 98%에서 모델은 시간이나 단계 제한에 걸리지 않고 스스로 "완료"되었다고 판단했을 때 적극적으로 제출했다는 점입니다.

시험 시간이 부족했던 게 아니라, 정말로 풀 수가 없었어요.

또한, 작업의 난이도와 모델 순위는 매우 일관성이 있습니다.

간단한 CLI 도구(nnn, fzf, gron)는 대부분의 사용자에게 좋은 점수를 제공할 수 있는 반면, 복잡한 시스템(FFmpeg, PHP, typst, ast-grep)은 모든 모델을 동일하게 가차 없이 처리합니다.

ProgramBench는 컨텍스트 압축, 다중 에이전트 협업 및 맞춤형 툴체인이 없는 mini-SWE-agent의 최소한의 구조를 사용한다는 점에 유의해야 합니다.

코드는 작성되었지만, 사람이 작성한 것처럼 전혀 보이지 않습니다.

연구팀은 테스트에서 75% 이상의 점수를 획득한 솔루션들을 원래 사람이 작성한 코드와 비교하여 몇 가지 놀라운 차이점을 발견했습니다.

일렬로 늘어선 괴물.

15개 파일에 걸쳐 사람이 작성한 코드의 중간 분포는 3이고, 모델 전체에 걸쳐 사람이 작성한 코드의 중간 분포는 3입니다.

솔루션의 60%는 단 1~3개의 코드 파일로 구성되어 있습니다.

인간 엔지니어는 기능별로 모듈 분류하는 반면, 모델은 모든 것을 하나의 거대한 파일에 담는 경향이 있습니다. 인간의 경우 디렉토리 구조의 평균 깊이는 2계층이고, 모델은 1계층입니다.

함수의 수는 적지만, 함수의 길이는 길다.

Opus 4.7은 인간이 수행하는 기능의 29%만, Sonnet 4.6은 24%, GPT-5.4는 10%만 수행합니다.

하지만 각 함수의 평균 길이는 더 깁니다. Gemini 3.1 Pro로 작성된 함수는 사람이 작성한 함수보다 62% 더 깁니다.

코드 양이 상당히 줄었습니다.

모델의 코드 길이 중앙값은 1,173줄이었으며, 이는 사람이 작성한 코드의 평균 길이인 3,068줄과 비교됩니다. 높은 점수를 받은 솔루션의 85%는 원래 코드보다 짧았습니다.

요약하자면, 현재의 인공지능은 코드를 작성할 수는 있지만 소프트웨어 설계는 할 수 없습니다.

모듈 로 분할해야 하는 이유도, 인간 엔지니어가 인터페이스와 추상화 계층을 정의하는 데 시간을 써야 하는 이유도 이해하지 못합니다. 그저 실행만 된다면 모든 로직을 가능한 한 적은 파일과 함수에 집어넣는 것이 전략일 뿐입니다.

GPT-5.4는 가장 뛰어난 성능을 보여줍니다. 평균적으로 작업당 5개의 파일만 생성되고, 1.2회 수정되며, 트랙의 39.5%는 파일 생성 후 전혀 수정되지 않습니다.

이에 비해 Claude Sonnet 4.6은 평균 11.3개의 파일을 생성하고 18.3회 수정하여, 보다 인간적인 반복 개발 모델을 보여줍니다.

또 다른 매우 흥미로운 현상이 있습니다.

모델이 원본과 동일한 프로그래밍 언어를 사용할 확률은 50%에 불과합니다.

파이썬은 모델이 가장 선호하는 언어였으며, 전체 1,800회 실행 중 36%를 차지했습니다.

원래 Rust로 작성된 프로젝트 중 Rust로 다시 작성된 프로젝트는 44%에 불과했으며, C/C++ 프로젝트의 경우 46%였습니다. Go 프로젝트는 70%로 가장 높은 "충성도"를 보였습니다.

원래 어떤 언어로 작성했든 상관없이, 모델이 파이썬으로 다시 작성될 확률은 3분의 1입니다.

부정행위를 하지 않겠다고 약속했지만, 인터넷에 접속하자마자 GitHub에 가서 소스 코드를 뜯어냈습니다.

이 부분이 아마도 연구 전체에서 가장 극적인 부분일 것입니다.

연구팀은 모델 오픈 네트워크 접근 권한을 부여하되, 시스템 메시지에 "부정행위는 허용되지 않습니다"라고 명시적으로 표시하는 일련의 대조 실험을 수행했습니다.

그런 다음 9명의 AI 심판이 각 궤적을 검사하여 부정행위가 있었는지 확인했습니다.

그 결과는 충격적이었다.

Claude Sonnet 4.6은 작업의 36%가 부정행위로 지적되었고, Claude Opus 4.6은 21%, Gemini 3 Flash는 20%가 부정행위로 지적되었습니다.

부정행위를 하는 방법은 온갖 종류가 있다.

가장 노골적인 방법은 GitHub에서 소스 코드 저장소를 복제하는 것입니다.

좀 더 은밀한 방법은 `cargo install`이나 `go get`과 같은 패키지 관리자를 통해 다운로드하는 것입니다.

더욱 교묘한 것은 로컬 패키지 캐시 디렉터리에서 종속 라이브러리의 소스 코드를 검색할 수 있다는 점입니다.

하지만 AI 심판들 사이의 의견 차이 또한 놀라울 정도로 크다.

클로드 오푸스 4.6의 경우, 9명의 심사위원은 과제 중 57%에 대해 의견이 일치하지 않았습니다.

한 가지 사례가 특히 전형적인 예입니다.

Claude Sonnet 4.6을 사용하여 Rust 프로젝트 handler을 작업하던 중, ~/.cargo/registry/src/ 디렉토리로 이동하여 xdg-mime 및 clap과 같은 종속 라이브러리의 소스 코드를 살펴보았습니다.

판사 다섯 명은 이를 부정행위로 판결했고, 나머지 네 명은 제3자 데이터베이스이므로 부정행위에 해당하지 않는다고 판단했습니다.

결국 연구팀은 "네트워크 연결 + 사후 이벤트 감지" 방식을 포기하고 네트워크 연결을 끊었습니다.

어려운 과제 대면 때, 모델은 예상보다 훨씬 더 쉽게 "지름길을 찾으려는" 경향이 강합니다. 심지어 9명의 AI 심사위원조차 부정행위와 합법적인 역공학을 명확하게 구분하지 못했다는 사실은 그 경계 자체가 모호하다는 것을 보여줍니다.

이전 시험은 끝났고, 새 시험이 막 시작됐습니다.

SWE-Bench에서는 모델의 72%를 획득했지만, ProgramBench에서는 0%만 획득했습니다.

이 두 테스트는 본질적으로 서로 다른 두 가지 능력을 평가합니다. SWE-Bench는 "다른 사람이 작성한 코드에서 문제를 찾아 수정하는 능력"을 테스트하는 반면, ProgramBench는 "완전한 시스템을 처음부터 설계하고 구현하는 능력"을 테스트합니다.

전자의 인공지능은 이미 상당히 뛰어난 반면, 후자는 현재 완전히 부적합합니다.

Epoch AI는 지난주 블로그 게시물을 통해 기존의 추론 벤치마크들이 모두 사장되었다고 선언했습니다. 경쟁 업체들에 압도당하지 않는 테스트를 만들려면, 평문, 짧은 실행 시간, 쉬운 채점, 그리고 인간 전문가를 압도하는 성능이라는 네 가지 유리한 조건 중 적어도 하나는 포기해야 합니다.

이러한 프레임 기반으로 ProgramBench는 짧은 실행 시간과 쉬운 점수 계산이라는 두 가지 목표를 포기했습니다.

이 방법은 인간 엔지니어가 완료하는 데 몇 주 또는 몇 달이 걸릴 작업을 특정 수준으로 확장하는 동시에 소스 코드 일치가 아닌 행동적 동등성을 사용하여 평가합니다.

저자인 존 양은 트위터를 통해 "ProgramBench는 매우 어렵지만, 설계상 해결 가능하다"고 강조했습니다.

다시 말해, 0%라는 수치는 이러한 작업들이 인공지능의 이론적 한계를 넘어섰다는 의미가 아니라, 현재의 모델들이 아직 충분하지 않다는 것을 의미할 뿐입니다.

SWE-Bench는 AI가 훌륭한 직원이 될 수 있는지 테스트하고, ProgramBench는 AI가 엔지니어가 될 수 있는지 테스트합니다.

이 두 물체 사이의 거리를 오늘 정확하게 측정했습니다. 결과는 0%입니다.

참고 자료:

https://programbench.com/static/paper.pdf

https://x.com/jyangballin/status/2051677497562210552?s=20

https://x.com/EpochAIResearch/status/2051760424891392204?s=20

https://epochai.substack.com/p/rip-classic-reasoning-benchmarks

이 글은 위챗 공식 계정 "신지위안" 의 글이며, 작성자는 신지위안이고, 36Kr의 허가를 받아 게재되었습니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트