AI 에이전트 코드 변경의 3분의 1, 테스트로 검증 안 돼
In 14 agent sessions, a third of the changed files were never executed by any test the agent ran
핵심 내용
대규모 오픈소스 모노레포에서 AI 에이전트가 수행한 14개 세션을 분석한 결과, 변경된 소스 파일의 33%가 실행된 테스트의 임포트 클로저에 포함되지 않은 것으로 나타났다.
자세히 보기
AI 코딩 에이전트가 테스트를 실행하고 통과하더라도 실제 변경된 코드가 검증되지 않는 경우가 많다는 점을 정량화한 연구 결과가 공개됐다. 한 연구자는 대규모 오픈소스 모노레포에서 AI 에이전트가 수행한 14개 실제 작업 세션을 분석했다.
분석 방법은 테스트 명령어 출력에서 실제로 실행된 스펙 파일을 식별하고, 해당 스펙의 전이적 임포트 클로저(transitive import closure)를 계산하여 변경된 소스 파일과 교차하는 방식이다. 총 35개의 변경 파일 중 실행 대상이 아닌 타입 선언 파일 5개를 제외한 30개 파일에 대한 결과는 다음과 같다.
- 47% (14개): 테스트에 의해 실제로 실행됨
- 33% (10개): 실행되지 않음
- 20% (6개): 판정 불가 (테스트 미실행, 동적 모듈 로딩, 출력 잘림 등)
특히 '실행되지 않음'으로 분류된 파일들은 테스트가 존재하고 통과했음에도 변경된 코드 경로와 연결되어 있지 않았다. 이는 테스트가 통과했더라도 변경 사항이 검증되지 않은 '거짓 양성' 상황을 의미한다. 예를 들어, 한 세션에서 에이전트가 complete-cart.ts를 수정하고 테스트 5개가 모두 통과했으나, 해당 스펙은 complete-cart.ts를 임포트하지 않아 변경 사항이 전혀 실행되지 않았다.
분석 결과, 실행된 테스트와 변경 파일의 연결 중 절반(7개)은 스펙 파일이 변경 파일을 직접 임포트하는 단순한 구조였다. 따라서 에이전트에게 단순히 "테스트를 실행했는가?"라고 묻는 것보다, "실행한 테스트 중 어떤 것이 이 특정 파일을 실행하는가?"라고 질문하여 임포트 그래프를 직접 확인하는 것이 검증의 핵심이다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.