← 최신 논문
💬 NLP

ClassEval-Pro: A Cross-Domain Benchmark for Class-Level Code Generation

본 논문은 LLM 앙상블과 높은 커버리지를 가진 테스트 스위트에 의해 검증된 300 개의 클래스 수준 코드 생성 작업으로 구성된 엄격한 교차 도메인 벤치마크인 ClassEval-Pro 를 소개하며, 이는 현재 최첨단 LLM 들이 논리 및 의존성 오류로 인해 구성적 코드 생성에 어려움을 겪고 있어 최상의 Pass@1 점수가 고작 45.6% 에 불과함을 보여줍니다.

원저자: Yeheng Chen, Chaoxiang Xie, Yuling Shi, Wenhao Zeng, Yongpan Wang, Hongyu Zhang, Xiaodong Gu

게시일 2026-04-30
📖 3 분 읽기☕ 가벼운 읽기

원저자: Yeheng Chen, Chaoxiang Xie, Yuling Shi, Wenhao Zeng, Yongpan Wang, Hongyu Zhang, Xiaodong Gu

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

로봇 셰프에게 요리하는 법을 가르친다고 상상해 보세요.

기존 방식 (함수 수준):
지금까지 연구자들은 이러한 AI 셰프들을 테스트할 때 "양파를 다지다"나 "물을 끓이다"와 같은 단일하고 간단한 재료 하나를 만들도록 요청해 왔습니다. AI 는 이 부분에서 뛰어납니다. 90% 의 확률로 양파를 완벽하게 다질 수 있습니다. 이는 로봇이 단일 도구를 다룰 수 있는지 테스트하는 것과 같습니다.

빠진 조각 (클래스 수준):
하지만 현실 세계에서는 요리가 단순히 한 가지 재료를 다지는 것만이 아닙니다. 재료들이 서로 조화를 이루어 하나의 완전한 요리를 만들어내는 것입니다. 소금 양을 인지하는 소스, 메인 코스와 어울리는 가니슈, 그리고 모든 것을 하나로 묶어주는 플레이팅 전략이 필요합니다. 이것이 바로 해당 논문이 **"구성적 코드 생성 (compositional code creation)"**이라고 부르는 것입니다. 이는 여러 부분이 서로 올바르게 상호작용하는 완전하고 조직화된 "클래스"(자기 완결적인 소프트웨어 단위) 를 구축하는 능력입니다.

문제점:
저자들은 이러한 "완전한 요리" 기술을 테스트할 수 있는 좋은 방법이 없었다고 말합니다. 기존 테스트들은 너무 단순했고, 존재하던 몇몇 테스트들은 인간이 만들었기 때문에 느리고 비쌌으며, 레시피가 AI 훈련 중에 유출되었을 가능성 (AI 가 시험 답을 암기하여 부정행위를 하는 것과 유사) 이 있었습니다.

해결책: ClassEval-Pro
팀은 ClassEval-Pro라는 새로운 대규모 테스트를 구축했습니다. 창의적인 비유를 사용하여 그들이 이를 만든 방법은 다음과 같습니다:

  1. 재료 (데이터): 손으로 레시피를 작성하는 대신, 그들은 거대한 디지털 도서관 (GitHub) 으로 가서 2025 년 1 월 이후에 작성된 레시피들을 가져왔습니다. 이는 AI 가 이전에 이 레시피들을 보지 못했음을 보장하여 공정한 테스트가 되도록 합니다.
  2. 믹싱 볼 (크로스 도메인): 그들은 단순히 유사한 재료만 섞지 않았습니다. AI 에게 완전히 다른 세계를 섞도록 강요했습니다. 예를 들어, 로봇에게 "재무 계산기"를 만들되 동시에 "비디오 게임 인벤토리"도 관리하도록 요청하는 것입니다. 이는 돈 관련 로직과 게임 로직이 하나의 일관된 프로그램 안에서 함께 작동하도록 해야 합니다.
  3. 맛보기 (검증): 테스트가 시작되기 전에, AI 심사위원 패널이 레시피가 논리적인지, 그리고 테스트 "맛보기"(코드 테스트) 가 레시피의 최소 90% 를 커버하는지 확인합니다. 레시피가 고장 나면 폐기합니다.

결과: 로봇 셰프들의 고군분투
그들은 GPT-5.1, Gemini, Qwen 과 같은 가장 똑똑한 다섯 명의 AI 셰프에게 이러한 복잡한 요리를 만들도록 요청했습니다.

  • 점수: 최고의 셰프조차도 약 **45%**의 요리만 올바르게 만들었습니다. 이는 단순한 "양파 다지기" 작업에서 얻는 90% 에 비해 엄청난 하락입니다.
  • 격차: 최고의 셰프와 최하위 셰프 사이에는 큰 차이가 있었습니다. 최상위 셰프는 45% 를 올바르게 만들었지만, 최하위 셰프는 고작 28% 만 올바르게 만들었습니다. 이는 해당 테스트가 강한 셰프와 약한 셰프를 구별하는 데 효과적임을 증명합니다.
  • "메서드" 함정: 흥미롭게도 셰프들은 종종 개별 단계 (예: "양파 다지기"나 "소금 넣기") 를 올바르게 작성할 수 있었습니다. 하지만 이를 하나의 작동하는 요리로 모두 합치려 할 때 무너졌습니다. 양파는 다져졌지만, 소금은 잘못된 냄비에 들어갔습니다.

도움 시도 (전략)
연구자들은 셰프들에게 요리를 접근하는 다양한 방법을 시도해 보았습니다:

  • "하향식 (Bottom-Up)" 접근: "기본 재료부터 시작해 소스를 만들고, 그다음 가니슈를 만드세요." 이는 약한 셰프들이 크게 개선되도록 도왔습니다.
  • "상향식 (Top-Down)" 접근: "먼저 전체 메뉴를 계획한 다음 요리하세요." 이는 가장 강력한 셰프들에게 도움이 되었습니다.
  • "구성적 (Compositional)" 접근: "소스 레시피를 작성한 다음 가니슈 레시피를 작성하고, 그다음 이를 붙이세요." 이는 재앙이었습니다. 셰프들은 조각들을 붙이려다 혼란을 겪었고, 성공률은 거의 0 에 수렴했습니다 (한 모델의 경우 1.3%).

무엇이 잘못되었나? (오류)
팀은 500 개의 실패한 요리를 분석하여 무엇이 잘못되었는지 확인했습니다. 그들은 두 가지 주요 문제를 발견했습니다:

  1. 논리 오류 (56%): 로봇은 단어를 이해했지만 의미를 잘못 파악했습니다. (예: "사용자가 오프라인이면 실패 메시지가 아닌 성공 메시지를 제공하세요"라고 하는 경우).
  2. 의존성 오류 (38%): 부분들이 맞지 않았습니다. (예: 소스 레시피에 가니슈 레시피에 없는 재료가 필요하거나, 같은 그릇을 다른 이름으로 부른 경우).

핵심 교훈
해당 논문은 AI 가 작고 고립된 코드 조각을 작성하는 데는 놀라울 정도로 뛰어나지만, 전체 시스템을 **조정 (orchestrating)**하는 데는 여전히 매우 미숙하다고 결론지었습니다. 가장 어려운 부분은 단일 함수에 대한 코드를 작성하는 것이 아니라, 해당 함수가 다른 함수들과 올바르게 상호작용하고, 올바른 데이터를 공유하며, 전체 시스템을 망가뜨리지 않도록 보장하는 것입니다.

ClassEval-Pro 는 이제야 이러한 AI 셰프들이 단일 야채를 다지는 것이 아니라 전체 주방을 운영할 수 있음을 증명하도록 강요하는 새로운 "요리 대회"입니다.

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

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

Digest 사용해 보기 →