AI 코딩 에이전트가 실패하는 이유: 파일과 라인 사이의 결정적인 격차

AI 코딩 에이전트가 소프트웨어 버그를 해결하는 능력이 점점 향상되고 있지만, 새로운 연구에 따르면 이들은 심각한 "위치 식별(localization)" 문제를 겪고 있는 것으로 나타났습니다. 에이전트가 방대한 코드베이스 내에서 올바른 파일로 이동할 수는 있지만, 수정을 구현하는 데 필요한 특정 코드 라인을 식별하는 데는 자주 실패합니다.

SWE-Explore 소개: 수정률을 넘어

역사적으로 AI 코딩 에이전트의 효과는 에이전트가 버그를 수정했는지 여부라는 단일 이진 지표로 측정되어 왔습니다. 이러한 접근 방식은 실패 뒤에 숨겨진 "이유"를 무시합니다. 수정에 실패했다는 것은 에이전트가 잘못된 패치를 작성했음을 의미할 수도 있고, 에이전트가 관련 로직을 아예 살펴보지 않았음을 의미할 수도 있습니다.

이러한 사각지대를 해결하기 위해 상하이 교통대학교 과학자들을 포함한 국제 연구팀은 SWE-Explore를 개발했습니다. 기존의 벤치마크와 달리, SWE-Explore는 업스트림 검색 단계를 분리하여 평가합니다. 이는 버그 설명을 바탕으로 문제와 실제로 관련된 특정 코드 섹션의 순위 목록을 반환하는 에이전트의 능력을 평가합니다. 데이터셋은 203개의 오픈 소스 프로젝트와 10개의 프로그래밍 언어에 걸친 848개의 작업을 활용하여 광범위하게 구성되었으며, 그중 Python이 가장 큰 비중(547개 작업)을 차지합니다.

정밀도의 격차: 파일 성공 vs 라인 실패

이 연구의 가장 놀라운 발견은 파일 수준과 라인 수준 정확도 사이의 거대한 격차입니다. Claude Code, Codex, OpenHands와 같은 범용 에이전트를 대상으로 테스트했을 때, 결과는 시사하는 바가 컸습니다.

  • 파일 수준 정확도: 에이전트가 올바른 소스 파일을 성공적으로 식별하고 높은 순위를 매기는 등 좋은 성능을 보입니다.
  • 라인 수준 정확도: 성능이 급격히 떨어집니다. 일반적인 코딩 에이전트는 수정에 중요한 실제 코드 라인의 **14%에서 19%**만을 커버했습니다.

흥미롭게도, 기반이 되는 거대 언어 모델(LLM)을 업그레이드하는 것만으로는 이 문제가 해결되지 않습니다. OpenAI, Anthropic, Google, Moonshot 또는 Zhipu의 모델을 사용하든 패턴은 동일했습니다. 즉, 파일 적중률은 높지만 라인 커버리지는 형편없었습니다. 연구진은 CoSIL과 같은 특화된 시스템이 코드를 서로 연결된 빌딩 블록의 네트워크로 취급함으로써 일반 에이전트보다 뛰어난 성능을 보였다는 점에 주목하며, 이는 모델의 원시적인 성능보다 아키텍처의 변화가 더 중요하다는 것을 시사합니다.

임계값 효과: 왜 "더 많이 읽는 것"이 중요한가

통제된 어블레이션(ablation) 실험을 통해 연구진은 컨텍스트와 관련된 '임계값 효과(threshold effect)'를 발견했습니다. 모델에 제공되는 핵심 코드의 양을 0%에서 100%까지 변화시키며 실험한 결과, 코드 수정 성능이 선형적으로 향상되지 않는다는 것을 확인했습니다.

난이도가 낮은 작업의 경우 명확한 변곡점이 존재합니다. 에이전트가 필요한 핵심 영역의 50% 미만을 볼 경우, 수정 성공률은 0에 가깝게 유지됩니다. 수정 성공률이 급격히 상승하는 지점은 에이전트가 필요한 컨텍스트의 50%에서 75% 사이를 확보했을 때부터입니다. 결정적으로, 연구 결과에 따르면 무관한 '노이즈(noise)' 코드를 제공하는 것이 핵심 코드를 누락하는 것만큼 성능에 악영향을 미치지는 않았습니다. 개발자들에게 주는 시사점은 명확합니다. AI 에이전트 시대에는 필수적인 세부 정보를 필터링할 위험을 감수하기보다, 더 많은 컨텍스트를 제공하는 것이 훨씬 유리합니다.

핵심 요약

  • 로컬라이제이션(Localization)이 병목 현상입니다: AI 에이전트는 적절한 파일을 찾는 데는 능숙하지만, 수리에 필요한 특정 코드 라인을 정확히 찾아내는 데는 상당한 어려움을 겪습니다.
  • 모델 스케일링이 만능 해결책은 아닙니다: 더 강력한 LLM으로 업그레이드한다고 해서 라인 단위의 정확도 격차가 해결되지는 않습니다. CoSIL과 같은 특화된 아키텍처 접근 방식이 더 효과적입니다.
  • 50% 컨텍스트 규칙: AI 수정 성공률은 임계값 패턴을 따릅니다. 성공적인 수정이 가능해지려면 관련 코드 컨텍스트의 최소 50~75%가 가시적으로 확보되어야 합니다.