Software Development Life Cycle Perspective: A Survey of Benchmarks for Code Large Language Models and Agents

이 논문은 소프트웨어 개발 수명 주기 (SDLC) 관점에서 178 개의 벤치마크를 체계적으로 분석하여 현재 평가 기준이 구현 단계에 편중되어 있고 요구사항 정의 및 설계 단계와 데이터 오염 방지 전략이 부족하다는 점을 지적하며, 코드 대규모 언어 모델과 에이전트의 실제 적용성을 높이기 위한 향후 연구 방향을 제시합니다.

Kaixin Wang, Tianlin Li, Xiaoyu Zhang, Chong Wang, Weisong Sun, Yang Liu, Aishan Liu, Xianglong Liu, Chao Shen, Bin Shi

게시일 Mon, 09 Ma
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🍳 비유: AI 요리사 평가 보고서

우리가 새로운 **AI 요리사 (코드 LLM)**를 고용하려고 합니다. 이 요리사가 정말 훌륭하려면 단순히 '스테이크 굽는 것 (코드 작성)'만 잘하면 되는 걸까요? 아니면 메뉴 기획부터 식자재 관리, 손님 응대, 심지어 남은 음식 처리까지 모두 잘해야 할까요?

이 논문은 전 세계의 연구자들이 만든 'AI 요리사 평가 시험지 (벤치마크)' 178 개를 모두 모아 분석한 결과입니다.

1. 현재 상황: "요리만 잘하면 된다고?" (편향된 평가)

연구 결과, 놀라운 사실이 드러났습니다.

  • **61%**의 시험지는 오직 '요리 (코드 작성/구현)' 단계만 평가합니다. AI 가 "스테이크를 얼마나 맛있게 굽는가?"만 봅니다.
  • 하지만 실제 레스토랑에서는 **'메뉴 기획 (요구사항 분석)'**이나 **'레시피 설계 (소프트웨어 설계)'**가 훨씬 중요합니다. 그런데 이 부분의 시험지는 **5% 와 3%**에 불과합니다.
  • 결론: 우리는 AI 가 "요리만 잘하는지"는 알지만, "진짜 레스토랑을 운영할 수 있는지"는 모르고 있습니다. 마치 요리사에게 "소금 간만 해보세요"라고만 시키고, "손님에게 메뉴를 설명하고, 재료를 구하고, 설거지까지 할 수 있나요?"는 묻지 않는 것과 같습니다.

2. 문제점: "시험지가 너무 오래되어서 답을 외운 학생들" (데이터 오염)

가장 큰 문제는 시험지 (데이터) 가 AI 가 공부한 책에 이미 들어있었다는 것입니다.

  • 비유: AI 요리사가 시험을 보기 전에, 그 시험 문제를 이미 보고 답을 외워버린 상태입니다.
  • 많은 평가 시험지가 AI 가 학습하는 데 사용된 데이터와 겹칩니다. 그래서 AI 가 실제로 요리를 잘하는 게 아니라, 기억력을 이용해 정답을 맞추는 것일 뿐입니다.
  • 이 논문은 "시험지를 자주 바꿔주고, AI 가 미리 볼 수 없게 해야 한다"고 경고합니다.

3. 구체적인 발견: 각 단계별 현황

이 논문은 소프트웨어 개발의 5 가지 단계를 요리 과정에 빗대어 분석했습니다.

  • 📝 메뉴 기획 (요구사항 분석): 손님이 "매운 게 먹고 싶어"라고 말하면 AI 가 어떤 요리를 제안해야 할지 평가하는 단계입니다. 하지만 이 시험지는 거의 없습니다.
  • 📐 레시피 설계 (소프트웨어 설계): 어떤 재료를 어떻게 조합할지 그림을 그리는 단계입니다. 이 부분도 평가가 매우 부족합니다.
  • 🔥 요리 (구현/코드 작성): 실제로 불을 켜고 요리를 하는 단계입니다. **가장 많은 시험지 (61%)**가 여기에 집중되어 있습니다.
  • 🔍 맛보기 (테스트): 요리에 독이 있는지, 맛이 일관된지 확인하는 단계입니다. 주로 C/C++ 나 Java 같은 전통적인 언어 위주로 평가됩니다.
  • 🧹 정리 및 수리 (유지보수): 요리사가 실수했을 때 고치거나, 새로운 손님이 오면 메뉴를 수정하는 단계입니다. 이 부분도 평가가 부족하며, AI 가 '새로운 요리'를 만드는 능력과 '기존 요리를 고치는' 능력을 구분하지 못합니다.

4. 앞으로의 방향: "진짜 레스토랑을 위한 AI 로 만들기"

이 논문은 앞으로 연구자들이 다음과 같이 노력해야 한다고 제안합니다.

  1. 균형 잡힌 시험지 만들기: 요리 (코드) 만 평가하지 말고, 메뉴 기획과 설계 능력도 평가해야 합니다.
  2. 실제 상황 시뮬레이션: AI 가 혼자 요리하는 게 아니라, 사람과 함께 일하는지 (협업), 손님의 요구가 바뀌었을 때 유연하게 대처하는지 (유연성) 평가해야 합니다.
  3. 새로운 언어와 도구: Python(요리용) 만 평가하지 말고, Rust 나 Go 같은 새로운 언어 (새로운 조리법) 도 평가해야 합니다.
  4. 오염 방지: AI 가 답을 외울 수 없도록, 시험지를 계속 업데이트하고 실시간으로 평가하는 시스템을 만들어야 합니다.

💡 한 줄 요약

"지금 우리는 AI 요리사에게 '스테이크 굽는 것'만 시험보고 있는데, 진짜 필요한 건 '레스토랑 전체를 운영하는 능력'입니다. 앞으로는 더 넓고, 더 어렵고, 더 현실적인 시험을 만들어 AI 의 진짜 실력을 확인해야 합니다."

이 논문은 바로 그 불완전한 평가 시스템을 바로잡기 위한 지도를 제시한 것입니다.