← 최신 논문
🤖 AI

Characterizing the Quality Profile of AI-Generated C++ in Production

실제 운영 환경에서의 352만 건의 C++ 변경 사항을 대상으로 한 이 대규모 실증 연구는 AI가 생성한 코드가 인간이 작성한 코드에 비해 특정한 비효율성과 더 높은 리소스 비용을 초래한다는 점을 밝혀내는 동시에, 표적화된 분류 체계 기반의 피드백이 이러한 품질 및 성능 문제를 효과적으로 완화할 수 있음을 입증한다.

원저자: Michael Tran, Fred Lewis, Kun Yang, Saksham Thakur, Aditya Kini, Aditya Patil, Milad Hashemi, Parthasarathy Ranganathan

게시일 2026-08-10
📖 3 분 읽기☕ 가벼운 읽기

원저자: Michael Tran, Fred Lewis, Kun Yang, Saksham Thakur, Aditya Kini, Aditya Patil, Milad Hashemi, Parthasarathy Ranganathan

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

우리의 세상을 움직이는 소프트웨어—당신의 스마트폰에 있는 앱, 당신이 즐기는 게임을 구동하는 시스템, 글로벌 금융의 보이지 않는 엔진들—를 거대하고 북적이는 하나의 도시라고 상상해 보십시오. 수십 년 동안 이 도시는 모든 다리가 무게를 견디고 모든 파이프가 물을 새지 않고 운반할 수 있도록 엄격한 설계도를 따르는 인간 건축가와 건설팀에 의해 완전히 구축되었습니다. 하지만 최근, 새로운 종류의 조수가 도착했습니다. 바로 인공지능(AI)입니다. AI를 몇 초 만에 설계도를 작성할 수 있는 매우 빠르고 열정적인 견습생이라고 생각해 보십시오. AI는 속도 면에서는 뛰어나지만, 방대한 과거의 설계 도서관으로부터 학습하기 때문에 종이 위에서는 괜찮아 보일지 몰라도 실제 세상에서는 비효율적이거나 투박한 패턴을 복제하곤 합니다. 엔지니어들의 큰 질문은 단순히 "AI가 그것을 만들 수 있는가?"가 아니라, "그 건물이 완공되었을 때 제대로 서 있을 것인가, 원활하게 작동할 것인가, 그리고 대중에게 공개되었을 때 에너지를 낭비하지 않을 것인가?"입니다. 이것이 우리가 탐구하려는 이야기의 핵심입니다. 즉, AI가 작성한 코드가 실제 고도의 이해관계가 걸린 프로덕션 소프트웨어 환경에서 실제로 어떻게 성능을 발휘하는지에 대한 심층적인 탐구입니다.

이 논문은 한 거대 기술 기업의 엔지니어 팀이 수행한, 마치 1년 동안 진행된 거대한 탐정 소설과 같습니다. 그들은 매일 수십억 명의 사람들이 사용하는 거대 시스템을 위한 코드를 작성하는 데 AI가 도움을 줄 때 어떤 일이 발생하는지 알고 싶어 했습니다. 그들은 단순히 코드가 작동하는지(앱이 충돌하는지?)를 확인하는 대신, 코드의 "품질 프로필"을 살펴보았습니다. 코드가 지저분한가? 컴퓨터 자원을 너무 많이 사용하는가? 소프트웨어를 더 느리게 하거나 실행 비용을 높이는가?

연구진은 2025년 4월부터 2026년 4월 사이에 이루어진 350만 개 이상의 코드 변경 사항을 추적했습니다. 그 결과, AI가 작업의 엄청난 비중을 차지하고 있다는 것을 발견했습니다. 연구 종료 시점에는 출처가 알려진 코드의 거의 70%가 AI에 의해 생성되었습니다. 하지만 반전이 있습니다. AI는 빠르긴 했지만, 특정한 문제를 일으키는 뚜렷한 "성격"을 가지고 있었습니다.

AI가 생성한 코드를, 수학 문제를 풀 때 모두가 사용하는 단축 공식이 있음에도 불구하고 모든 계산 단계를 일일이 손으로 써 내려가는 학생이라고 생각해 보십시오. 논문에 따르면 C++(고성능 시스템에 사용되는 언어)로 작성된 AI 코드는 다음과 같은 경향을 보였습니다:

  1. 단순한 것을 지나치게 복잡하게 만듦: 표준적이고 효율적인 도구(예: 미리 만들어진 함수)를 사용하는 대신, AI는 종종 자신만의 길고 명시적인 루프를 직접 작성했습니다. 이는 마치 자동차에 표준 타이어를 끼우면 될 상황에 맞춤형 바퀴를 제작하는 것과 같았습니다.
  2. 너무 많이 복사하여 붙여넣음: AI는 불필요하게 데이터를 중복하는 경향이 있었는데, 이는 혹시 몰라서 똑같은 신발 세 켤레를 여행 가방에 챙겨 넣는 것과 같습니다. 이는 메모리와 프로세싱 자원을 낭비했습니다.
  3. "결합(coupling)" 부담을 생성함: 코드가 종종 서로 다른 부분들을 너무 긴밀하게 묶어 놓아, 나중에 무언가를 수정하거나 업데이트할 때 다른 부분을 망가뜨리지 않고 진행하기 어렵게 만들었습니다.

이것들은 단순하고 보이지 않는 작은 결함이 아니었습니다. 실질적인 비용을 초라했습니다. 연구에 따르면 주로 AI가 작성한 코드는 주로 인간이 작성한 코드보다 약 5~8% 더 많은 컴퓨팅 자원(CPU 전력 및 메모리 등)을 사용했습니다. 또한, 인간 검토자가 수정하는 데 더 많은 노력이 필요했으며, AI가 생성한 변경 사항은 제출을 막는 피드백인 "차단 댓글(blocking comments)"을 거의 두 배 더 많이 받았습니다.

하지만 이야기는 "AI는 나쁘다"라는 결론으로 끝나지 않습니다. 연구진은 AI가 고장 난 것이 아니라, 단지 안내를 받지 못했을 뿐이라는 것을 발견했습니다. 연구진이 "데이터를 불필요하게 복사하지 마라" 또는 "표준 라이브러리를 사용하라"와 같은 가장 흔한 실수들을 분류한 "분류 체계(taxonomy)"를 바탕으로 특정 피드백을 제공하자, AI는 극적으로 개선되었습니다. 테스트에서 이러한 표적 피드백은 특정 정적 분석 경고를 11.1% 감소시켰고, 코드 효율성 점수를 31% 향상시켰습니다.

그렇다면 결론은 무엇일까요? 이 논문은 AI가 생성한 코드가 본질적으로 위험하거나 망가진 것은 아니지만, 비효율적이고 지나치게 장황한 쪽으로 치우친 예측 가능한 "스타일"을 가지고 있다고 제안합니다. 좋은 소식은 우리가 이를 고칠 수 있다는 것입니다. 이러한 특정 패턴을 이해하고 AI에게 더 나은 지침을 제공함으로써, 우리는 AI의 속도 향상 효과를 유지하면서도 소프트웨어가 빠르고 효율적이며 유지보수가 용이하도록 만들 수 있습니다. 이 연구는 적절한 피드백 루프가 있다면, 우리가 AI 견습생에게 단순히 빠르게 만드는 법이 아니라, 똑똑하게 만드는 법을 가르칠 수 있음을 증명합니다.

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

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

Digest 사용해 보기 →