Each language version is independently generated for its own context, not a direct translation.
1. 연구의 배경: "코딩은 잘하는데, 설계는 왜 못 할까?"
지금까지 AI 를 평가할 때는 주로 "이 코드가 실행되나요?" (문법 오류가 없나요?) 같은 작은 단위의 테스트를 많이 했습니다. 하지만 소프트웨어 개발에서 가장 중요한 것은 전체적인 설계도를 그리는 일입니다.
- 비유: AI 가 **벽돌 하나를 쌓는 일 (코딩)**은 아주 잘하지만, **건물 전체의 설계도 (OOD, 객체 지향 설계)**를 그리는 일은 아직 서툴다는 것입니다.
- 문제점: 설계를 평가할 수 있는 '공식 시험지'나 '자동 채점기'가 없어서, AI 의 설계 능력을 제대로 측정하지 못했습니다.
2. 연구의 해결책: 새로운 시험지와 채점기 만들기
연구팀은 이 문제를 해결하기 위해 세 가지 큰 도구를 만들었습니다.
① OODEval (새로운 시험지)
- 무엇인가요? AI 에게 "이 기능을 구현해 줘"라는 요구사항을 주고, 그에 맞는 **설계도 (클래스 다이어그램)**를 그리게 하는 50 개의 문제입니다.
- 특징: 문제 난이도를 '초급, 중급, 고급'으로 나누어, AI 가 복잡한 구조를 얼마나 잘 이해하는지 테스트합니다.
② OODEval-Human (인간 학생들의 답안지)
- 무엇인가요? 대학생 940 명이 실제로 이 시험을 치고, 교수님이 점수를 매긴 실제 답안입니다.
- 목적: "AI 가 대학생보다 잘할까?"를 비교하고, 새로운 채점기가 인간 교수님의 점수와 얼마나 일치하는지 확인하기 위해 만들었습니다.
③ CLUE (새로운 자동 채점기)
- 무엇인가요? 기존에는 AI 가 그린 설계도와 정답을 단순히 글자 비교 (BLEU 등) 로만 했지만, 이 방법은 구조적인 의미를 놓칩니다.
- 비유: 정교한 비교기입니다. 단순히 "단어가 같나요?"가 아니라, "클래스 이름이 의미 있는가?", "함수가 잘 정의되었는가?", "클래스 간의 연결 관계 (상속, 포함 등) 가 논리적인가?"까지 구조와 의미를 모두 파악해서 점수를 줍니다.
3. 주요 발견 (결과)
🏆 AI 의 능력: "문법은 완벽하지만, 의미는 엉망"
- 문법 (Pass@1): AI 가 그린 설계도 코드가 문법적으로 틀린 경우는 거의 없습니다. (90% 이상 성공)
- 의미 (CLUE 점수): 하지만 실제 의미는 다릅니다. AI 는 클래스 이름이나 속성은 잘 뽑아내지만, 함수 (메서드) 를 만들거나 클래스 간의 복잡한 관계를 연결하는 데는 큰 실수를 합니다.
- 비유: AI 는 아름다운 건물의 외관은 완벽하게 그리지만, 내부 배관이나 전기 배선을 연결하는 데는 실패하는 건축가입니다.
🥊 AI vs 인간 학생
- 평균 비교: AI 의 평균 점수는 평균적인 대학생보다 낮습니다. 특히 복잡한 문제일수록 차이가 커집니다.
- 최고 수준 비교: 하지만 최고 성능의 AI (예: Qwen3-Coder-30B) 는 평균적인 대학생 수준에는 거의 도달했습니다.
- 한계: 하지만 가장 뛰어난 학생 (99 점 이상) 과는 여전히 격차가 있습니다. AI 는 아직 '천재' 학생을 완전히 따라잡지 못했습니다.
📈 무엇이 AI 성능을 좌우할까?
- 모델 크기: 파라미터가 큰 모델이 더 잘합니다.
- 전문성: 일반 AI 보다 코딩에 특화된 AI(Code LLM) 가 훨씬 잘합니다.
- 지시 따르기: "지시사항을 잘 따르도록 훈련된 (Instruction Tuned)" 모델이 더 좋습니다.
- 추론 능력: "생각하는 과정 (Reasoning)"을 거치는 모델이 무조건 좋은 것은 아닙니다. 오히려 코딩 특화 모델이 더 나을 때도 있습니다.
⚠️ AI 가 자주 하는 실수
- 가장 흔한 실수: 중요한 클래스를 빼먹거나, 클래스 간의 연결 관계를 잘못 그리는 경우입니다.
- 특이한 실수: 요구사항에 없는 불필요한 기능을 만들어내거나 (할루시네이션), 코드를 설계도 대신에 써버리는 경우 등입니다.
- 잘하는 모델: DeepSeek, GPT-4o, 그리고 오픈소스 모델인 Gemma3와 Qwen3-Coder 시리즈가 상대적으로 실수가 적고 안정적입니다.
4. 이 연구가 우리에게 주는 교훈
- 교육 현장의 변화: AI 가 대학생 평균 수준까지 설계도를 그릴 수 있게 되었으니, 학교에서는 단순한 결과물 제출보다는 설계 과정을 설명하거나 구두 시험을 보는 등 새로운 평가 방식을 도입해야 합니다. (AI 가 답안을 대신 써주는 것을 막기 위해)
- 모델 선택:
- 고성능이 필요하면 Qwen3-Coder-30B 같은 큰 모델을 쓰세요.
- 자원이 부족하면 Gemma3-4B-IT 같은 작은 모델도 surprisingly 잘합니다.
- 비용 효율을 원하면 DeepSeek-R1 같은 API 가 좋습니다.
- 미래 연구: 앞으로는 AI 가 더 복잡한 설계 (클래스가 많고 관계가 복잡한) 를 할 수 있도록 훈련시켜야 합니다.
💡 한 줄 요약
"AI 는 이제 소프트웨어 설계도 그리기를 배우기 시작했지만, 아직 인간 전문가나 뛰어난 학생만큼 정교하지는 않습니다. 하지만 빠르게 성장하고 있으니, 우리는 AI 를 어떻게 활용하고 통제할지 준비해야 합니다."