Each language version is independently generated for its own context, not a direct translation.
🍽️ CODETASTE: AI 요리사가 인간 셰프의 '요리법'을 따라 할 수 있을까?
이 논문은 최신 AI(대규모 언어 모델, LLM) 가 단순히 코드를 '만드는' 것을 넘어, 기존 코드를 더 깔끔하고 유지하기 좋게 '다듬는(리팩토링)' 작업을 인간 개발자만큼 잘해낼 수 있는지 테스트한 연구입니다.
저희는 이 연구를 **'CODETASTE'**라는 이름의 새로운 시험지로 소개했습니다. 이 시험지를 통해 AI 가 얼마나 '맛있는' 코드를 요리하는지, 그리고 인간이 선택한 '레시피'를 얼마나 잘 따라하는지 맛보게 해보겠습니다.
1. 문제: AI 는 '먹을 수 있는' 코드는 만들지만, '정리된' 코드는 못 만듭니다
지금까지의 AI 코딩 도구는 "이 기능을 만들어줘"라고 하면 작동하는 코드를 만들어냅니다. 하지만 문제는 지속성입니다.
- 인간 개발자: 건물을 지을 때, 나중에 고장 나기 쉽거나 messy(지저분) 해지는 부분을 미리 정리하고 구조를 다듬습니다. 이를 **'리팩토링 (Refactoring)'**이라고 합니다.
- AI 코딩 에이전트: 기능을 구현하는 데는 능숙하지만, 코드가 점점 길어지고 복잡해지며, 나중에 수정하기 힘든 '기술 부채'를 쌓아둡니다. 마치 요리사가 맛은 나지만, 주방이 엉망이 되어 다음 요리를 하기 힘든 상태로 만드는 것과 같습니다.
2. 실험 도구: CODETASTE (코드 테이스팅)
이 연구팀은 GitHub 에 있는 오픈소스 프로젝트들에서 실제 인간 개발자들이 수행한 대규모 코드 정리 작업 100 건을 골라냈습니다. 이를 **'CODETASTE'**라는 시험지로 만들었습니다.
- 시험 방식: AI 에게 "이 코드를 정리해줘"라고 말하고, AI 가 수정한 코드가 원래 의도한 대로 작동하는지, 그리고 인간이 정리했던 방식과 얼마나 비슷한지를 점수화합니다.
- 채점 기준: 단순히 코드가 실행되는지 (기능 유지) 뿐만 아니라, 불필요한 패턴은 사라지고 원하는 패턴은 생겼는지를 정교한 분석 도구로 확인합니다.
3. 실험 결과: AI 의 두 가지 얼굴
실험은 두 가지 상황으로 나누어 진행되었습니다.
🅰️ 상황 1: "이것을 이렇게 바꿔줘" (지시된 과제)
- 상황: 인간이 "A 라는 함수를 B 라는 클래스로 옮겨주고, 변수 이름을 이렇게 바꿔줘"라고 구체적인 지시를 내립니다.
- 결과: 최상위 AI 모델 (GPT-5 등) 은 **약 70%**의 정확도로 지시를 따랐습니다.
- 비유: 레시피를 아주 상세하게 적어주면, AI 요리사는 그 레시피대로 요리를 완벽하게 해냅니다. 하지만 지시사항을 벗어나서 스스로 "여기 더 깔끔하게 정리할 수 있는데?"라고 생각하지는 못합니다.
🅱️ 상황 2: "이 부분 좀 정리해줘" (열린 과제)
- 상황: "이 코드가 너무 지저분한 것 같아. 정리해줘"라고 구체적인 지시 없이 영역만 알려줍니다. 인간 개발자가 스스로 "어디를 어떻게 고쳐야 할지" 판단해야 합니다.
- 결과: AI 의 점수는 10% 미만으로 급락했습니다.
- 비유: 주방이 messy 하다고만 말하면, AI 는 아무것도 안 하거나, 엉뚱한 곳 (예: 식탁을 치우는 대신 냄비만 닦는) 을 정리하거나, 임시방편 (테이프로 붙이는 등) 으로 해결하려 합니다. 인간이 생각한 '전체적인 구조 개선'을 스스로 찾아내지 못합니다.
4. 중요한 발견: "생각한 뒤 실행하기"가 핵심
이 연구에서 가장 흥미로운 발견은 전략의 중요성이었습니다.
- 직접 실행 (Direct): "정리해줘"라고 바로 말하면 AI 는 엉뚱한 일을 합니다.
- 계획 후 실행 (Plan then Implement): AI 에게 먼저 **"어떻게 정리할지 계획서를 써봐"**라고 시키고, 그 계획을 검토한 뒤 실행하게 하면 점수가 2 배 이상 향상되었습니다.
- 비유: 요리사가 바로 재료를 다듬기 전에 **"오늘 메뉴를 어떻게 구성할지, 어떤 순서로 요리할지 먼저 구상"**하면, 훨씬 더 인간적인 맛의 요리를 만들어냅니다.
5. 결론 및 시사점
이 논문은 현재 AI 코딩 도구에 대한 중요한 메시지를 줍니다.
- AI 는 '명령'은 잘 따르지만, '판단'은 못 합니다. 구체적인 지시가 없으면, AI 는 인간이 원하는 수준의 코드 정리를 스스로 찾아내지 못합니다.
- 계획의 중요성: AI 가 스스로 리팩토링을 하려면, 바로 코드를 고치는 것이 아니라 먼저 '어떻게 고칠지' 생각해보는 단계가 필수적입니다.
- 미래의 방향: 앞으로의 AI 개발자는 단순히 코드를 짜는 것을 넘어, 인간처럼 '코드의 구조와 유지보수성'을 고민할 수 있도록 훈련되어야 합니다.
한 줄 요약:
"AI 는 레시피를 주면 완벽하게 요리하지만, '주방을 정리해줘'라고만 하면 당황합니다. 하지만 **'먼저 정리 계획을 세워보자'**고 말해주면, 인간 셰프에 훨씬 더 가까워집니다."
이 연구는 AI 가 단순한 '코드 작성기'를 넘어, 인간 개발자의 진정한 파트너가 되기 위해 무엇을 더 배워야 하는지를 보여주는 중요한 이정표가 될 것입니다.