← 최신 논문
🤖 AI

AI-Generated Code Is Not Reproducible (Yet): An Empirical Study of Dependency Gaps in LLM-Based Coding Agents

이 논문은 300 개의 생성된 프로젝트를 실증적으로 분석한 결과, LLM 기반 코딩 에이전트가 생성한 코드의 실행 재현성이 언어에 따라 44.0% 에서 89.2% 로 크게 달라지며, 선언된 의존성과 실제 런타임 의존성 사이에 13.5 배의 격차가 존재하는 등 현재로서는 재현성이 보장되지 않음을 규명했습니다.

원저자: Bhanu Prakash Vangala, Ali Adibifar, Ashish Gehani, Tanu Malik

게시일 2026-03-25
📖 4 분 읽기☕ 가벼운 읽기

원저자: Bhanu Prakash Vangala, Ali Adibifar, Ashish Gehani, Tanu Malik

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

🤖 AI 가 쓴 코드는 정말 '그대로' 실행될까? (한 번에 이해하는 연구 요약)

이 논문은 **"인공지능 (AI) 이 코딩을 대신 해준다고 해서, 그 코드가 바로 내 컴퓨터에서 켜질까?"**라는 아주 중요한 질문을 던집니다. 결론부터 말씀드리면, "아직은 아닙니다." AI 가 코드를 잘 써내려가지만, 그걸 실행하려면 우리가 직접 많은 수고를 해야 한다는 놀라운 사실을 발견했습니다.

이 복잡한 연구를 요리여행에 비유해서 쉽게 설명해 드릴게요.


1. 연구의 핵심: "요리 레시피"는 완벽할까?

상상해 보세요. AI 가 당신에게 **"이탈리아 파스타 레시피"**를 만들어줬습니다.

  • AI 가 준 것: "토마토, 마늘, 올리브유만 사서 요리해." (이게 선언된 의존성)
  • 실제 상황: 요리를 시작하려는데, 팬이 녹슬어서 쓰러지고, 소금통이 비어있고, 가스불이 안 켜집니다.

이 논문은 AI 가 만들어준 300 개의 소프트웨어 프로젝트를 깨끗한 컴퓨터 (아무것도 설치되지 않은 상태) 에 넣어서 실행해 봤습니다. 결과는 어땠을까요?

  • 성공: 68.3% (약 3 분의 2)
  • 실패: 31.7% (약 3 분의 1)

**"아니, AI 가 다 만들어줬는데 왜 실패해?"**라고 생각하실 수 있죠? 문제는 AI 가 필요한 재료 (라이브러리/패키지) 를 제대로 다 알려주지 않았기 때문입니다.


2. 세 가지 '레시피' 층 (Dependency Framework)

연구진은 AI 가 알려준 정보와 실제 필요한 것을 세 가지 층으로 나누어 분석했습니다.

  1. AI 가 말한 것 (Claimed): "토마토, 마늘만 있으면 돼." (AI 가 requirements.txt 에 적어준 것)
  2. 실제로 필요한 것 (Working): "아, 마늘을 다지려면 칼도 필요하고, 팬도 필요하네." (코드를 실행하다가 에러가 나서 찾아낸 것)
  3. 진짜로 돌아가는 것 (Runtime): "토마토를 재배하려면 비료도 필요하고, 운송 트럭도 필요하고..." (토마토 하나를 사면, 그 토마토를 만드는 과정 전체가 다 필요한 것)

놀라운 사실:
AI 가 "토마토 3 개만 필요해"라고 했지만, 실제로는 37 개의 재료가 다 필요했습니다! (평균 13.5 배 증가).
이를 **'의존성 폭주 (Dependency Explosion)'**라고 부릅니다. 마치 아이스버그처럼, AI 가 알려준 것은 수면 위의 작은 부분일 뿐, 숨겨진 거대한 부분이 있다는 뜻입니다.


3. 언어별 차이: "파이썬은 easy, 자바는 hard"

모든 프로그래밍 언어가 AI 를 똑같이 잘 이해하는 건 아닙니다.

  • 파이썬 (Python): 🥇 성공률 89%
    • 레시피가 단순해서 AI 가 잘 맞춰줍니다. "토마토, 마늘"만 적으면 대충 알아서 해결됩니다.
  • 자바 (Java): 🥉 성공률 44%
    • 레시피가 너무 복잡합니다. "토마토" 하나를 쓰려면 "토마토 재배법", "운송 계약서", "세금 신고서" 등 XML 파일에 복잡한 규칙을 다 적어야 합니다. AI 는 이 복잡한 규칙을 잘 못 따라가서 실패합니다.
  • 자바스크립트 (JavaScript): 🥈 성공률 62%
    • 그 중간 정도입니다.

4. AI 모델별 '성향' 차이 (비밀스러운 전문성)

세 가지 유명한 AI 모델 (Claude, Gemini, Codex) 을 비교했는데, 각자 잘하는 분야가 다 달랐습니다.

  • Gemini: 파이썬은 100% 완벽하게 잘하지만, 자바는 **28%**밖에 못 합니다. (데이터 과학에 특화된 느낌)
  • Claude: 자바를 **80%**나 잘 처리합니다. (기업용 소프트웨어에 강함)
  • Codex: 파이썬은 잘하지만 자바는 매우 어렵습니다.

교훈: "이 AI 가 무조건 최고야"가 아니라, **"내가 어떤 언어 (자바 vs 파이썬) 를 쓸지"**에 따라 AI 를 골라야 합니다.


5. 진짜 문제는 '재료'가 아니라 '요리 실수'

가장 충격적인 발견은 무엇일까요?
코드가 실행되지 않는 이유는 **재료가 부족해서 (10.5%)**가 아니라, **AI 가 요리하는 법을 잘못 썼기 때문 (52.6%)**이었습니다.

  • 재료 부족: "소금 없어!" (이건 쉽게 해결됨)
  • 요리 실수: "불을 켜지 않고 팬에 고기를 구워라" (이건 코드의 논리나 문법 오류)

AI 가 코드를 작성할 때, 문법 (Syntax) 이나 논리 (Logic) 에 큰 실수를 많이 저지릅니다. 개발자는 이걸 고치기 위해 평균 15 분을 허비합니다.


6. 결론: AI 는 아직 '완벽한 비서'가 아닙니다

이 논문은 우리에게 다음과 같은 메시지를 줍니다.

  1. AI 가 코드를 짜준다고 해서 바로 쓸 수 있는 건 아닙니다. (31.7% 는 바로 고장 납니다.)
  2. 숨겨진 비용이 큽니다. 개발자들이 AI 가 만든 코드를 고치는 데 쏟는 시간은 막대합니다.
  3. 과학적 연구에도 위험합니다. AI 가 만든 코드로 실험을 했다면, 다른 사람이 그 결과를 재현할 수 없을지도 모릅니다.

마치:
AI 는 이제 막 요리 학원을 졸업한 신입 요리사입니다. 레시피는 잘 외웠지만, 실제 주방 (실행 환경) 에 들어가면 필요한 도구 찾느라 헤매거나, 불 조절을 잘못해서 음식을 태우기도 합니다.

우리는 AI 가 **"완벽한 레시피 (코드)"**만 주는 게 아니라, **"완벽한 주방 (실행 환경)"**까지 함께 만들어줄 수 있게 되기를 기다려야 합니다. 그 전까지는, AI 가 준 코드를 믿기 전에 직접 한번 맛보고 (실행해 보고) 고쳐주는 개발자의 노력이 여전히 필요합니다.

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

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

Digest 사용해 보기 →