Active-SWE: Benchmarking Coding Agents for Proactive Bug Fixing without Issue Reports
이 논문은 여러 카테고리와 언어에 걸쳐 1,663개의 태스크를 다룸으로써 이슈 리포트 없이 선제적으로 버그를 수정하는 능력을 평가하기 위해 설계된 새로운 벤치마크인 Active-SWE를 소개하며, 현재의 최첨단 에이전트들이 상세한 가이드가 없는 상황에서 버그를 찾아내고, 해결하고, 발견하는 데 상당한 어려움을 겪는다는 점을 밝혀낸다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
소프트웨어가 수백만 명의 사람들에 의해 건설된 거대하고 북적이는 도시와 같은 세상을 상상해 보십시오. 때때로 어떤 건물에는 숨겨진 균열이 있고, 어떤 다리에는 느슨한 볼트가 있으며, 어떤 신호등은 빨간불이 되어야 할 때 초록불에 멈춰 있기도 합니다. 현실 세계에서 우리는 보통 누군가가 "이봐, 다리가 부서졌어!"라고 외칠 때까지 기다린 후에야 수리팀을 보냅니다. 디지털 세계에서 이 "외침"은 **이슈 리포트(issue report)**라고 불립니다. 이는 인간이 어디에 버그가 있는지, 어떤 에러 메시지가 떴는지, 그리고 소프트웨어가 어떻게 동작해야 하는지를 상세하게 기술한 메모입니다.
오랫동안 컴퓨터 과학자들은 코딩 에이전트라고 불리는 초지능형 AI 비서들을 수리팀 역할을 하도록 훈련시켜 왔습니다. 이 에이전트들은 강력한 뇌 모델(거대 언어 모델, LLM)을 사용하여 코드를 읽고 문제를 해결합니다. 하지만 여기에는 함정이 있습니다. 지금까지 이 에이전트들을 훈련시키고 테스트한 대부분의 과정은 완벽하고 상세한 "외침"(이슈 리포트)이 항상 기다리고 있다고 가정합니다. 이는 마치 정비사에게 자동차를 견인해 오면서 "엔진에서 덜컥거리는 소리가 납니다"라는 메모를 남긴 상태로만 훈련시키는 것과 같습니다.
현실 세계에서는 항상 일이 그렇게 매끄럽게 흘러가지는 않습니다. 어떤 버그들은 너무나 은밀해서 아무도 알아차리지 못한 채 최종 제품에 스며들어 거대한 혼란을 야기하기도 합니다. 또 어떤 경우에는 인간이 남긴 메모가 모호하거나, 혼란스럽거나, 중요한 세부 사항이 빠져 있기도 합니다. 여기서 크고 흥미로운 질문이 생깁니다. AI 수리팀이 누군가 문제가 생겼다는 것을 알기도 전에, 스스로 코드를 스캔하여 균열을 찾아내고 지침서 없이도 문제를 고칠 수 있을까요? 그들이 능동적인 탐정처럼 행동할 수 있을까요?
이것이 바로 논문 **"Benchmarking Coding Agents for Proactive Bug Fixing without Issue Reports"**가 탐구하고자 하는 핵심입니다. 저자들(대학 및 독립 연구소의 연구진)은 Active-SWE라는 새로운 챌린지를 도입했습니다. 이것은 AI 에이전트가 단순히 명령을 따르는 정비사가 아니라 진정한 탐정이 될 수 있는지를 테스트하기 위해 설계된, 거대하고 긴장감 넘치는 비디오 게임 레벨과 같습니다.
연구진은 AI에게 "고쳐야 할 고장 난 목록"을 주는 대신, 방대한 코드 라이브러리(6가지 유형의 버그와 8가지 프로그래밍 언어에 걸친 1,663개의 서로 다른 작업)를 건네며 이렇게 말했습니다. "가서 문제를 찾고 고치세요. 행운을 빕니다. 힌트는 없습니다."
연구진은 두 가지 방식으로 이 챌린지를 구축했습니다. 첫째, AI가 코드베이스에 숨겨진 단 하나의 버그를 찾아내고 고쳐야 하는 "Simple Setting"을 만들었습니다. 이는 마치 소설에서 특정 오타를 찾는 것과 같습니다. 그다음, 난이도를 높여 AI가 한 번에 여러 개의 버그를 추적해야 하는 "Hard Setting"을 만들었습니다. 이는 마치 탐정이 하룻밤 사이에 일련의 범죄들을 해결하려는 것과 같습니다. 또한 연구진은 "Potential Bugs"(잠재적 버그) 시나리오에서도 AI를 테스트했습니다. 이는 AI가 원래 알려진 이슈 목록에 없던 문제를 발견했을 때, 즉 "당신이 새로 발견한 것이 실제로 고장 난 것이 맞느냐?"라고 묻는 상황입니다.
AI가 단순히 추측하는 것이 아니라는 것을 확실히 하기 위해, 연구진은 영리한 "이중 트랙(dual-track)" 채점 시스템을 사용했습니다. 한 트랙은 AI가 이미 알고 있는 버그를 찾았는지 확인하는 것이었습니다(Recorded Bugs). 다른 트랙은 더 까다로웠는데, 만약 AI가 새로운 버그를 발견했다고 주장하면 시스템은 AI에게 그것을 증명할 테스트 코드를 작성하도록 강제했습니다. 만약 AI가 테스트를 통해 버그의 존재를 증명하지 못한다면, 그 발견은 인정되지 않았습니다. 이는 탐정이 숨겨진 금고를 발견했다고 주장할 때, 그 금고가 진짜임을 증명하기 위해 열쇠를 보여주고 문을 열어야 하는 것과 같습니다.
결과는 어떠했을까요? 현재 가장 똑똑하고 발전된 AI 에이전트들조차도 이러한 능동적인 탐정 역할에는 여전히 어려움을 겪고 있는 것으로 나타났습니다. 연구진이 최상위 모델들(Claude Opus 4.8, GPT-5.5 등)을 테스트했을 때, 가이드가 없는 상태에서 대부분의 모델은 알려진 버그의 약 **20%**만을 해결할 수 있었습니다. 이는 상세한 이슈 리포트가 주어졌을 때와 비교하면 큰 폭의 하락입니다.
이 연구는 AI 에이전트들이 명령을 따르는 능력은 좋아지고 있지만, 지저도한 방을 둘러보고 무엇이 고장 났는지 스스로 파악하는 능력은 여전히 부족하다는 점을 시사합니다. 그들은 종종 코드 속에서 길을 잃고, 문제의 정확한 위치를 짚어내는 능력("localization")이 부족하며, 여러 문제를 동시에 해결하는 데 어려움을 겪습니다. 흥미롭게도 AI는 로직이나 데이터 흐름과 관련된 특정 유형의 버그는 조금 더 잘 찾아냈지만, 시스템의 "상태(state)"와 관련된 버그(예: 신호등이 특정 상태에 갇히는 경우)에 대해서는 거의 무지했습니다.
아마도 가장 중요한 점은, 버그를 찾는 것이 전투의 절반에 불과하다는 것입니다. 데이터에 따르면 AI가 코드의 고장 난 부분을 정확히 찾아내지 못하면, 결코 올바르게 고칠 수 없었습니다. 이는 마치 새는 파이프가 어디인지 모른 채 파이프를 고치려고 하는 것과 같습니다. 잘못된 파이프를 조이고 있을 수도 있기 때문입니다.
요약하자면, 이 논문은 AI가 소프트웨어 수리를 해결했다고 주장하는 것이 아닙니다. 대신, 현재 세대의 코딩 에이전트들이 여전히 문제를 지적해 줄 인간에게 너무 의존하고 있다는 경고를 보내고 있습니다. AI가 코드를 스캔하고 시스템 충돌이 발생하기 전에 문제를 해결하는 "능동적인" 꿈은 아직 진행 중인 과제입니다. 연구진은 이 에이전트들이 강력하긴 하지만, 안전망 없이 우리의 디지털 도시를 지키기 위해서는 훨씬 더 독립적인 탐정이 되어야 한다고 결론지었습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.