needhelp
← Back to blog

주요 AI 모델 전부 Meta의 악랄한 프로그래밍 벤치마크에서 0점

by needhelp
meta
programming
benchmark
ai-evaluation
software-engineering

2026년 5월 7일, Meta AI Research가 머신러닝 커뮤니티에 폭탄을 던졌다. 새로 발표한 ProgramBench 벤치마크 — 장난감 수준의 프로그래밍 퍼즐이 아닌 진정한 소프트웨어 엔지니어링 능력을 측정하도록 설계된 데이터셋 — 의 결과는 너무나 극명해서 AI와 코딩의 미래에 대한 논의를 이미 재편하고 있다: 모든 주요 AI 모델이 0점을 받았다.

낮은 점수가 아니다. 실망스러운 점수도 아니다. 벤치마크의 가장 의미 있는 카테고리인 아키텍처 수준 모듈 재구성에서 완전한 0점이다.

ProgramBench 결과

ProgramBench란?

ProgramBench는 또 다른 LeetCode 클론이 아니다. Meta의 연구자들은 의도적으로 “엔지니어링 인텔리전스” — 개별 함수가 아닌 전체 모듈 수준에서 소프트웨어를 이해하고, 리팩토링하고, 재구성하는 능력 — 를 측정하도록 설계했다. 벤치마크는 세 단계로 구성된다:

  • 1단계 — 함수 완성(FC): 함수 시그니처와 docstring이 주어지면 바디를 완성. Copilot과 ChatGPT가 매일 처리하는 자동완성 태스크를 반영한다.
  • 2단계 — 모듈 재구성(MR): 부분적으로 수정된 멀티 파일 코드베이스(모듈 구조, 임포트, 인터페이스는 그대로)가 주어지면 누락된 구현을 재구성. 아키텍처 패턴, 의존성 그래프, cross-cutting concern의 이해가 필요하다.
  • 3단계 — 시스템 설계 계획(SDP): 상위 수준 명세가 주어지면 일관된 모듈 분해, 인터페이스 정의, 의존성 계획을 생성. 아키텍처 작업이다.

모델은 1단계에서 그럭저럭 성과를 냈다. Claude Opus 4.7은 함수 완성에서 78%를 달성했다. GPT-5.5는 74%에 도달했다. DeepSeek-V3 같은 오픈소스 모델도 60-70% 범위에서 나름 괜찮은 점수를 기록했다.

3단계에서는 급락이 있었다. GPT-5.5는 시스템 설계 계획에서 23%를 기록했다. Claude Opus 4.7은 31%를 겨우 넘겼다. 하지만 이 숫자들은 나쁘긴 해도 헤드라인이 아니었다.

2단계 — 모듈 재구성 — 에서 모든 모델이 0점을 기록했다.

전 세계를 놀라게 한 0점

원시적 사실은 이것이다: 부분적으로 수정된 멀티 파일 코드베이스가 주어지고 누락된 구성 요소를 채우라는 요청을 받았을 때, GPT-5.5부터 Claude Opus 4.7, Gemini 2.5 Pro, DeepSeek-V3까지 어떤 모델도 전체 벤치마크 스위트에서 단 하나의 정답도 생성하지 못했다.

벤치마크 단계 GPT-5.5 Claude Opus 4.7 Gemini 2.5 Pro DeepSeek-V3 Llama 4
함수 완성 74% 78% 71% 67% 62%
모듈 재구성 0% 0% 0% 0% 0%
시스템 설계 계획 23% 31% 19% 14% 9%

출처: Meta AI Research, ProgramBench Technical Report (2026년 5월)

모듈 재구성 태스크는 난해하지 않았다. 실제 패턴을 다뤘다: 재시도 로직과 circuit breaking이 있는 rate-limited API 클라이언트, 다중 수준 무효화가 있는 캐싱 레이어, 보상 트랜잭션이 있는 이벤트 소싱 도메인 모델. 중급 소프트웨어 엔지니어가 매일 설계하고 구현하는 종류의 컴포넌트다.

모델이 왜 이렇게 완전히 실패하는가?

실패 방식은 교육적이다. 모델은 구문 오류나 명백히 깨진 코드를 생성하지 않았다. 아키텍처적으로 틀린 그럴듯한 코드를 생성했다 — 컴파일되고 실행되며 언뜻 보기에는 정확해 보이지만, 근본적인 설계 불변성을 위반하고, 분리된 컴포넌트 간에 숨은 결합을 도입하며, 오류 전파, 트랜잭션 경계, 일관성 보장 같은 cross-cutting concern을 무시했다.

이는 현재 LLM이 어떻게 작동하는지에 대한 깊은 진실을 드러낸다. 로컬 컨텍스트 윈도우에서 훈련된 패턴 매처다 — 함수의 다음 몇 줄을 완성하는 데는 뛰어나지만, 그 줄들이 상호 연결된 컴포넌트 시스템에 어떻게 들어맞는지 추론하는 능력은 근본적으로 없다. 코드베이스는 토큰의 시퀀스가 아니다. 의존성, 제약 조건, 불변성의 그래프다. 현재 아키텍처는 그 그래프를 모델링하지 않는다.

Meta의 연구자들은 유용한 구분을 만들어냈다: 모델은 구문적 인텔리전스(형식적으로 올바른 코드를 생성하는 능력)를 가지고 있지만 아키텍처 인텔리전스(형식적으로 올바른 시스템을 생성하는 능력)가 부족하다. 둘 사이의 격차는 엄청나다.

엔지니어링 인텔리전스: 다음 프론티어

“엔지니어링 인텔리전스”라는 용어는 실용적 담론에서 “AGI”의 후계자로 주목받고 있다. 모델이 재귀적 피보나치 함수를 작성하거나 동적 프로그래밍 퍼즐을 풀 수 있는지에 관한 것이 아니다 — 모든 주요 모델이 수년 전에 그 기준을 넘었다. 엔지니어링 인텔리전스는 모델이 다음을 할 수 있는지에 관한 것이다:

  • 특정 추상화가 코드베이스에 존재하는지 이해
  • 한 모듈의 변경이 다른 모듈의 불변성을 깨뜨릴 때 인식
  • 실제 제약 조건에서 유지보수 가능하고, 테스트 가능하며, 탄력적인 시스템 설계
  • 성능, 명확성, 정확성 간의 트레이드오프 결정

ProgramBench는 오늘날 어떤 모델도 엔지니어링 인텔리전스의 기초적인 형태조차 가지고 있지 않음을 시사한다. 이들은 가속 도구다 — boilerplate 작성, 테스트 케이스 생성, 코드 설명 — 하지만 소프트웨어를 시스템으로 추론할 수는 없다.

소프트웨어 엔지니어에게 의미하는 바

AI 혁명을 흥분과 불안의 혼합으로 지켜보는 수백만 개발자에게 ProgramBench는 명확한 데이터 포인트를 제공한다. AI는 당신의 일자리를 빼앗지 않는다 — 아키텍처에 대해 생각하고, 설계 트레이드오프를 결정하며, 모든 조건에서 시스템이 올바른지 확인하는 부분은 말이다. AI가 실제로 하는 일은 기술 분포의 하단을 압축하는 것이다: 한때 주니어 개발자가 수백 줄의 boilerplate를 입력해야 했던 작업이 이제는 몇 초 만에 처리된다.

소프트웨어 엔지니어의 직업은 핵심에서 항상 그래왔던 방향으로 진화하고 있다: 코드를 입력하는 것이 아니라 시스템을 설계하는 것. 입력은 결코 어려운 부분이 아니었다. ProgramBench가 가장 엄격한 방식으로 그것을 증명했을 뿐이다.

이제 모듈 재구성에서 0점 이상을 받을 첫 번째 모델을 구축하는 경쟁이 시작됐다. 그 문제를 해결하는 사람은 더 나은 자동완성 엔진을 만든 것이 아니다 — 진정으로 소프트웨어를 엔지니어링할 수 있는 기계를 만든 것이다.

Share this page