API 변경 경계 테스트가 LLM 코드 오답 줄여
최근 30일 조회수 — 좋아요 —핵심 요약
API 변경 문서에서 도출한 경계 입력이 일반 테스트를 통과한 LLM 코드의 조용한 실패를 크게 줄였다.

API 마이그레이션 뒤 거대언어모델(LLM)이 고친 코드가 일반적인 테스트를 모두 통과하고도 잘못된 결과를 내놓는 ‘조용한 실패’가 확인됐다. 11월 5일 공개된 사전등록 연구에 따르면, 전형적인 입력만 쓰는 전체 단언 검사(all-assertions gate)는 잘못된 수정본의 41.0%를 배포 가능한 코드로 판정했다.1
연구진은 CPython과 SQLite 등을 포함해 문서화된 런타임·API 변경 60건을 바탕으로 73개 과제를 구성했다. 각 수정 후보는 실제 런타임에서 실행한 뒤, 후보 작성 과정에 공개하지 않은 계약 조건으로 결과를 검증했다. 핵심 문제는 코드가 오류 없이 실행되는지와 새 API의 의미에 맞는 결과를 내는지가 별개라는 점이다. 일반적인 입력은 옛 동작과 새 동작의 차이가 드러나지 않아, 회귀 테스트를 통과한 오답도 그대로 출시될 수 있었다.
릴리스 노트에서 도출한 경계 입력 하나를 추가하자 잘못된 수정본의 통과율은 41.0%에서 6.5%로 떨어졌다. 학습에 쓰이지 않은 15개 클러스터에서도 6.1%였다. 프로그램을 보지 못한 GPT-5.6-luna가 작성한 입력 세 개는 7.0%를 기록했다. 즉 테스트 수보다 API 변경 문서에서 의미가 갈리는 경계를 찾아내는 일이 더 중요했다.
연구진은 이후 후보군을 1,491개 코드 조각으로 넓히고, 전형적인 입력에서는 기존 출력과 일치하는 어려운 오답 233개를 추가했다. 이 조건에서 경계 입력과 프런티어 모델 작성 테스트는 사전등록 기준을 통과했고 전체 오답 통과율도 각각 5.8%였지만, 어려운 오답만 보면 각각 16.8%와 15.3%가 여전히 검사를 빠져나갔다. 두 로컬 모델이 만든 테스트는 사전등록 기준을 충족하지 못했고, 수정 코드가 스스로 만든 테스트도 효과가 더 작았다.
세 개 오픈웨이트 모델 계열에서는 모든 후보군에서 경계 입력이 시도당 잘못된 출시를 줄였으며, 한 사례에서는 23.3%에서 5.7%로 낮아졌다. 올바른 수정의 완료율은 떨어지지 않았다. 다만 맹검 AI 감사는 계약 조건 34개가 요구사항보다 엄격하다고 지적했다. 논란이 된 검사를 제외해도 판정은 바뀌지 않았지만, 일부 분류 기준을 둘러싼 이견은 남아 있다. 연구진은 모델이 작성한 코드는 실행하지 않았다고 밝혔으며, 연구 산출물은 요청 시 제공한다.1
Footnotes
읽기 목록은 이 브라우저에 저장됩니다.
출처
이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.