← 최신 논문
💬 NLP

DevIntent: How Much Does LLM-Generated Code Violate Developer Intent?

이 논문은 의도 위반율(Intent Violation Rate, IVR) 지표와 그에 상응하는 벤치마크를 도입하여, LLM이 생성한 코드가 표준적인 가시적 테스트는 빈번하게 통과할지라도 절반 이상의 사례에서 개발자의 암묵적 의도를 체계적으로 위반한다는 점을 밝힘으로써, 현재의 통과율이 생성된 코드와 실제 개발자 의도 사이의 정렬 상태를 상당히 과대평가하고 있음을 시사한다.

원저자: Susana Haing, Natan Vidra, Spurthi Setty

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

원저자: Susana Haing, Natan Vidra, Spurthi Setty

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

당신이 가족을 위해 저녁 식사를 요리할 초특급 재능을 가진, 번개처럼 빠른 로봇 셰프를 고용한다고 상상해 보세요. 당신은 로봇에게 "샌드위치를 만들어 줘"라고 말합니다. 로봇은 윙윙거리며 작동을 시작하더니, 빵을 집어 들고, 터키(칠면경)를 슬라이스하고, 아름답고 완벽해 보이는 샌드위치를 접시에 담습니다. 당신이 한 입 베어 물자, 그것은 정확히 터키 샌드위치 맛이 납니다. 당신이 생각할 수 있는 모든 기준에 따르면—빵이 있는가? 네. 터키가 있는가? 네. 먹을 수 있는가? 네. 로봇은 모든 테스트를 아주 훌륭하게 통과했습니다.

하지만 여기에 반전이 있습니다. 당신의 가족은 채식주의자인데, 당신이 그 사실을 말하는 것을 깜빡했습니다. 로봇은 명확한 설명을 요구하지 않고, 그저 "샌드위치"가 "고기가 들어간 샌드위치"를 의미한다고 가정했습니다. 로봇은 당신의 지시를 완벽하게 따랐지만, 당신의 '의도'는 완전히 놓쳤습니다. 컴퓨터 과학, 특히 인공지능(AI) 분야에서 이것은 점점 커지는 골칫거리입니다. 우리는 컴퓨터 코드를 작성할 수 있는 강력한 AI 모델들을 보유하고 있지만, 이들은 종ًا 저처럼 글자 그대로만 받아들이는 셰프처럼 행동하곤 합니다. 그들은 프로그래머가 작성한 모든 공식적인 "테스트"를 통과하는 코드를 작성할 수 있지만, 실제로는 프로그래머가 진정으로 원했던 것과는 약간 다른 것을 수행합니다. 이 논문은 "코드가 하는 일"과 "인간이 의도한 것" 사이의 이 간극을 깊이 파고듭니다.

Claude Sonnet 4.6 및 OpenAI의 GPT-4.1과 같은 모델을 활용하여 연구를 진행한 연구진은, 단순히 코드가 "작동하는지"를 확인하는 것을 넘어, 코드가 "제대로 이해했는지"를 확인하기로 했습니다. 그들은 이를 측정하기 위한 새로운 방법인 **의도 위반율(Intent Violation Rate, IVR)**을 고안했습니다. IVR을 AI를 위한 "독심술 테스트"라고 생각하면 됩니다. 단순히 "코드가 오류 없이 실행되는가?"라고 묻는 대신, "코드가 인간이 말로 내뱉는 것을 깜빡한 부분까지 포함하여, 인간이 생각하고 있던 것과 정확히 일치하는가?"라고 묻는 것입니다.

이를 테스트하기 위해, 연구팀은 49개의 까다로운 코딩 퍼즐로 구성된 특별한 놀이터를 구축했습니다. 그들은 명확하고 상세한 지침("골드 프롬프트")을 가져온 뒤, 중요한 암묵적 세부 사항들을 제거하여 모호한 버전("모호한 프롬프트")을 만들었습니다. 그런 다음 AI에게 오직 그 모호한 버전만을 사용하여 퍼즐을 해결하도록 요청했습니다. AI에게는 주요 문제를 해결했음을 증명하기 위한 기본적인 체크리스트("명시적 테스트")가 주어졌지만, 연구진은 AI가 추측했어야 할 세부 사항을 담은 비밀 체크리스트("숨겨진 제약 조건")를 숨겨두었습니다. 예를 들어, 모호한 프롬프트가 "이 숫자들을 정렬하라"라면, AI는 단순히 숫자들을 나열할 수도 있습니다. 하지만 숨겨진 제약 조건은 "작은 숫자부터 큰 숫자 순서로 정렬하라"일 수 있습니다. 만약 AI가 무작위 순서로 나열했다면, 명시적 테스트는 통과하겠지만 숨겨진 테스트는 통과하지 못할 것이며, 이는 개발자의 의도를 위반한 것이 됩니다.

결과는 다소 충격적이었습니다. 연구진이 AI가 명시적인 테스트를 얼마나 자주 통과하는지 살펴보았을 때, 수치는 놀라웠습니다. **Claude Sonnet 4.6은 94.3%**의 확률로 통과했고, **GPT-4.1은 92.7%**의 확률로 통과했습니다. 만약 이 수치들만 본다면, 당신은 AI가 코딩 천재라고 생각할 것입니다. 하지만 연구진이 비밀스러운 "의도 위반율"을 확인했을 때, 그림은 극적으로 변했습니다.

코드가 명시적인 테스트를 통과했음에도 불구하고, Claude는 54.5%, GPT-4.1은 **63.5%**의 경우에서 개발자의 숨겨진 의도를 위반했습니다. 이는 절반 이상의 문제에서 AI가 기술적으로는 작동하지만, 인간이 원하는 바와는 근본적으로 다른 코드를 작성했다는 것을 의미합니다. 연구진은 이것이 단순한 노이즈나 몇 번의 잘못된 추측이 아니라는 것을 발견했습니다. AI의 행동은 놀라울 정도로 일관적이고 "양봉형(bimodal)"이었는데, 이는 AI가 숨겨진 의도를 완벽하게 맞히거나 아니면 완전히 틀리거나 둘 중 하나였으며, 그 중간 단계인 "거의 맞힌" 답변은 거의 없었다는 것을 의미합니다.

이 연구는 단순히 코드가 통과하는 테스트의 개수를 세는 것만으로는 그것이 좋은 코드인지 알 수 없음을 시사합니다. 높은 통과율은 개발자에게 잘못된 안전감을 주어, 코드가 실제로는 필수적인 암묵적 요구사항을 놓치고 있음에도 불구하고 배포 준비가 되었다고 믿게 만들 수 있습니다. 저자들은 비록 자신들의 발견이 특정 49개 문제와 두 가지 특정 AI 모델을 바탕으로 하고 있지만, 발견된 패턴은 체계적이라고 언급합니다. 그들은 우리가 AI가 단순히 테스트를 속이는 것이 아니라, 인간의 비전을 진정으로 이해하고 있는지 확인하기 위해 표면적인 "합격/불합격" 결과를 넘어 코드를 측정하는 새로운 방법이 필요하다고 주장합니다.

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

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

Digest 사용해 보기 →