← 최신 논문
🤖 machine learning

Don't Claim Benchmark-Oriented Optimization Improves General Coding Capability -- Diverse Evaluation Is Required

이 논문은 SWE-bench와 같은 좁은 코딩 벤치마크에 대규모 언어 모델을 최적화하는 것이 일반적인 코딩 능력을 향상시키거나 다른 작업으로 전이되는 데 실패함을 주장하며, 신뢰할 수 있는 평가를 보장하기 위해 다양하고 총체적인 평가 방법과 지속적인 벤치마크 유지 관리를 향한 전환이 필요하다고 주장한다.

원저자: Egor Shibaev, Vera Kudrevskaia, Timur Galimzyanov, Mikhail Evtikhiev, Ana Terna, Rastislav Rabatin, Timur Kudashev, Timofey Bryksin, Arina Puchkova, Patrik Bartak, Egor Bogomolov, Sergey Titov

게시일 2026-08-17
📖 4 분 읽기☕ 가벼운 읽기

원저자: Egor Shibaev, Vera Kudrevskaia, Timur Galimzyanov, Mikhail Evtikhiev, Ana Terna, Rastislav Rabatin, Timur Kudashev, Timofey Bryksin, Arina Puchkova, Patrik Bartak, Egor Bogomolov, Sergey Titov

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

설정: 코드의 세계와 "성적표"의 함정

컴퓨터가 스스로 소프트웨어를 작성하는 법을 배우는 "코드용 딥러닝(Deep Learning for Code)"이라는 분야가 있는 세상을 상상해 보십시오. 이 세상에서 연구자들은 프로그래밍 언어를 이해할 수 있는 거대한 디지털 두뇌인 "파운데이션 모델(foundation models)"을 구축합니다. 이 두뇌들이 얼마나 똑똑한지 파악하기 위해, 과학자들은 SAT 시험이나 AI를 위한 올림픽과 같은 표준화된 테스트인 "벤치마크(benchmarks)"를 사용합니다. 현재 가장 유명한 테스트는 SWE-bench라고 불립니다. 이것은 AI에게 실제 세계의 소프트웨어 버그를 주고 이를 해결하도록 요청하는 특정한 도전 과제입니다.

오랫동안 커뮤니티는 단순한 가정을 바탕으로 운영되어 왔습니다. 만약 AI가 SWE-bench에서 높은 점수를 받는다면, 그 AI는 일반적으로 매우 뛰어난 코더임이 틀림없다는 가정입니다. 이는 마치 어떤 학생이 표준화된 시험의 수학 섹션에서 만점을 받았다고 해서, 그 학생이 자동으로 물리학, 역사, 예술에도 천재적일 것이라고 가정하는 것과 같습니다. 이 논문은 매우 중요한 질문을 던집니다. 과연 그 가정이 실제로 사실인가? 저자들은 우리가 우리 자신을 속이고 있는 것이 아닌지 우려하고 있습니다. 그들은 AI 모델들이 진정한 "사고가(thinkers)"가 되기보다는 "시험 응시자(test-takers)"가 되고 있다고 의심합니다. 즉, 실제 세계의 복잡하고 무질서한 코딩 업무 능력이 실제로 향상되는 것이 아니라, 오직 SWE-bench라는 특정 시험을 통과하는 법만을 학습하고 있다는 것입니다.

논문: 왜 성적표가 우리에게 거짓말을 하고 있을 수 있는가

JetBrains와 여러 대학의 연구진으로 구성된 이 논문의 저자들은 이 가정을 검증하기로 했습니다. 그들은 벤치마크가 실제로 측정하는 것과 우리가 그것이 증명한다고 주장하는 것 사이에 "의미의 간극(meaning gap)"이 존재한다고 주장합니다. 진실을 밝히기 위해, 그들은 단순히 기존의 점수들을 살펴보는 데 그치지 않고, 자신들만의 새로운 테스트 환경을 구축했습니다.

실험: 새로운 놀이터
연구진은 인기 있는 웹 프레임워크인 Django를 기반으로 한 맞춤형 벤치마크 제품군을 만들었습니다. 왜 Django일까요? 왜냐하면 Django는 SWE-bench 테스트 질문의 거의 절반을 차지하기 때문입니다. 만약 AI가 진정한 코딩 천재라면, SWE-bench 문제를 해결하는 것만큼이나 Django의 버그를 잘 해결할 수 있어야 합니다.

그들은 AI가 다양한 종류의 작업을 처리할 수 있는지 확인하기 위해 세 가지 구체적인 유형의 도전을 설계했습니다:

  1. 메서드 생성(Method Generation): 설명을 바탕으로 완전히 새로운 함수를 작성하기.
  2. 메서드 완성(Method Completion): 이미 시작된 함수를 마무리하기.
  3. 프로그램 복구(Program Repair): 에러 메시지를 사용하여 고장 난 코드 조각을 찾아 수정하기.

그 후, 그들은 SWE-bench를 정복하도록 집중적으로 "훈련"된 여러 AI 모델을 가져와 자신들의 새로운 Django 도전 과제에 테스트했습니다. 또한, 특정 작업 하나에 대해서만 직접 훈련시킨 모델들을 테스트하여 그 기술이 다른 작업으로 전이되는지 확인했습니다.

거대한 발견: "전문가" 문제
결과는 다소 충격적이었습니다. 논문은 SWE-bench를 위해 최적화된 AI가 반드시 더 나은 일반 코더가 되는 것은 아니라고 시사합니다. 사실, 그것은 종종 다른 일에는 더 못하게 만들기도 합니다.

  • 기술의 전이 부재: 연구진이 SWE-bench에서 슈퍼스타였던 모델들을 가져와 새로운 Django 작업들을 시켰을 때, 모델들은 자주 실패했습니다. 그들은 버그를 고치거나 새로운 코드를 쓰는 능력이 향상된 것이 아니라, 단지 SWE-bench가 사용하는 특정 유형의 퍼즐을 푸는 데만 익숙해졌을 뿐입니다. 이는 마치 개에게 특정 종류의 공을 물어오도록 훈련시킨 뒤, 그 개가 프리스비를 잡지 못하는 것을 보고 놀라는 것과 같습니다.
  • "포맷"의 함정: 실패한 많은 모델은 코드를 작성하지 못해서 실패한 것이 아니었습니다. 그들은 답변의 포맷(형식) 때문에 혼란을 겪어 실패했습니다. SWE-bench 훈련은 모델들이 특정 태그나 스타일로 감싸진 코드를 출력하도록 가르쳤는데, 새로운 테스트들은 이를 예상하지 못했습니다. 모델들은 "시험 지침"을 따르는 데 너무 능숙해진 나머지, 어떻게 하면 그냥 일을 수행할 수 있는지를 잊어버렸습니다.
  • "단일 작업"의 환상: 연구진이 모델을 단 하나의 작업(예: 오직 버그 수정만)에 대해서만 훈련시켰을 때, 그 모델들은 버그를 고치는 데는 탁월했지만 새로운 코드를 쓰거나 미완성 코드를 완성하는 능력은 전혀 향상되지 않았습니다. 이는 그 "개선"이 일반적인 지능의 상승이 아니라, 매우 좁고 특정한 것에 국한되었음을 증명합니다.

결론: 리더보드를 믿지 마라
논문은 모델이 "일반적인 코딩 능력"을 갖췄다고 주장하기 위해 SWE-bench와 같은 단일 벤치마크에 의존하는 것은 오해의 소지가 있다고 결론짓습니다. 저자들은 우리가 실제 기술이 아닌 테스트 점수를 위해 최적화하는 함정에 빠졌다고 제안합니다.

그들은 새로운 사고방식을 제안합니다:

  • 가장 크고 발전된 모델들을 위해: 우리는 단순히 객관식 테스트를 주는 것이 아니라, 열린 결말의 실제 프로젝트에서 작업하는 모습을 관찰하는 것과 같은 "전체론적(holistic)" 평가가 필요합니다.
  • 연구를 위해: 우리는 단 하나의 작업이 아니라 다양한 유형의 코딩 작업을 포괄하는 다채로운 테스트 제품군이 필요합니다.
  • 실제 사용을 위해: 우리는 인간이 개입하여 작업을 확인하는 등, 우리가 실제로 관심을 갖는 특정 작업에 대해 모델을 테스트해야 합니다.

요약하자면, 이 논문은 코딩 리더보드의 높은 점수가 AI가 숙련된 건축가라는 것을 의미하는 것이 아니라, 단지 숙련된 시험 응시자라는 것을 의미할 수도 있다고 경고합니다. AI가 진정으로 똑똑한지 알기 위해서는, 단 하나의 숫자를 보는 것을 멈추고 전체적인 그림을 보기 시작해야 합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →