SWE-bench Science: Can Coding Agents Resolve Engineering Tasks in Science?
이 논문은 20개의 과학 분야에 걸친 119개의 저장소 수준 태스크로 구성된 포괄적인 벤치마크인 SWE-bench Science를 소개하며, 이는 현재의 코딩 에이전트들이 지식 결핍 및 탐색 오류와 같은 특정 실패 메커니즘으로 인해 과학 소프트웨어의 엔지니어링 태스크를 해결하는 데 어려움을 겪고 있음을 밝히는 동시에, 명시적인 과학적 가이드의 유용성이 그것이 수정 문맥과 얼마나 일치하는지에 달려 있음을 입증한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
과학은 언제나 도구에 의존해 왔습니다. 먼 별들을 드러낸 망원경, 세포라는 숨겨진 세계를 밝혀낸 현미경, 그리고 물질의 구조를 탐구하는 입자 가속기가 그러했습니다. 오늘날, 새로운 종류의 도구가 필수적인 존재가 되었는데, 이는 실험실 서랍 속에 있는 것이 아니라 컴퓨터 코드라는 디지털 영역에 존재합니다. 이 소프트웨어는 더 이상 과학자를 위해 단순히 숫자를 계산해 주는 보조 도구가 아닙니다. 그것은 도구 그 자체가 되었습니다. 연구자가 새로운 약물을 시뮬레이션하거나, 기후를 모델링하거나, 먼 은하에서 오는 빛을 분석할 때, 그들은 현실을 바라보는 바로 그 렌즈 역할을 하는 프로그램을 실행하는 것입니다. 만약 코드에 결함이 있다면, 그 결과는 단순한 컴퓨터 오류가 아니라 과학적 결론을 훼st할 수 있는 오염된 증거가 됩니다.
수년 동안 연구자들은 인공지능에게 이러한 고장 난 프로그램을 고치는 법을 가르치기 위해 노력해 왔습니다. 그들은 컴퓨터가 버그 보고서를 읽고 소프트웨어를 수리하기 위한 패치를 작성할 수 있는지 확인하기 위해 테스트를 구축했습니다. 이러한 테스트들은 기계가 단순한 코딩 실수를 고치는 데 점점 더 능숙해지고 있음을 보여주었습니다. 그러나 한 가지 결정적인 질문이 해결되지 않은 채 남아 있었습니다. 과연 이 지능형 시스템들이 복잡하고 중대한 과학적 소프트웨어의 세계를 다룰 수 있는가 하는 점입니다. 이 영역에서, 수정 작업은 단순히 프로그램이 실행되게 하는 것을 넘어, 코드가 표현하고자 하는 물리, 화학 또는 생물학의 섬세한 법칙들을 보존해야 합니다. 소프트웨어를 더 빠르게 실행되게 만들더라도 과학적 의미를 변화시킨다면, 설령 컴퓨터가 테스트를 통과했다고 말할지라도 그것은 실패한 것입니다.
한 연구팀은 'SWE-bench Science'라고 불리는 새로운 테스트 환경을 구축함으로써 이 질문에 도전했습니다. 그들은 화학, 생물학, 천문학, 토목 공학 등 20개의 서로 다른 분야에서 과학자들이 사용하는 98개의 실제 소프트웨어 프로젝트로부터 119개의 실질적인 과제를 수집했습니다. 이 과제들은 단순한 연습 문제가 아니었습니다. 이들은 결정(crystal)에 대해 잘못된 에너지 값을 산출하는 시뮬레이션이나, 생물학적 샘플의 좌표를 잘못 해석하는 데이터 분석 도구와 같이 과학자들이 실제로 겪었던 문제들로부터 추출되었습니다. 연구진은 이 도전 과제들을 세 가지 유형으로 분류했습니다. 어떤 것들은 알려진 버그에 대한 직접적인 수리였고, 다른 것들은 AI가 전문가적인 조사관처럼 행동하여 왜 과학적 결과가 잘못되었는지 파악하도록 요구했으며, 나머지 과제들은 AI가 거대한 소프트웨어 시스템의 서로 다른 부분들이 어떻게 맞물려 전체 워크플로우를 완성하는지 이해하도록 요구했습니다.
실험 결과는 시사하는 바가 컸습니다. 오늘날 사용 가능한 가장 진보된 코딩 에이전트들조차 상당한 어려움을 겪었습니다. 강력한 코딩 어시스턴트를 갖춘 정교한 모델인 최고 성능의 시스템조차도 과제의 절반 미만을 올바르게 해결했습니다. 이 낮은 성공률은 현재의 인공지능이 할 수 있는 능력과 과학적 소프트웨어를 유지하는 데 필요한 능력 사이에 깊은 간극이 있음을 강조합니다. 연구진은 이러한 시스템이 실패할 때 네 가지 예측 가능한 방식으로 실패한다는 것을 발견했습니다. 종종 AI는 문제를 이해하는 데 필요한 구체적인 과학적 지식이 부족하여, 컴퓨터에게는 타당해 보이지만 자연의 법칙을 위반하는 수정안을 제시했습니다. 때때로 시스템은 잘못되어 보이는 숫자와 같은 표면적인 증상만을 고칠 뿐, 오류의 근본 원인을 추적하지 못했습니다. 또 다른 경우에는, 수정 사항이 프로그램의 한 부분에는 작동하지만 다른 부분과의 연결을 깨뜨려, 수리 사항을 더 큰 시스템에 통합하는 데 실패했습니다. 마지막으로, AI는 과학적 원리를 새로운 상황에 적용하는 데 자주 실패하며, 주어진 특정 사례에만 머물러 솔루션을 일반화하지 못했습니다.
과학적 지식이 이러한 실패에 미치는 역할을 이해하기 위해, 연구진은 특정 실험을 수행했습니다. 그들은 과제의 일부를 추출하여 두 번 실행했는데, 한 번은 AI에게 관련 과학에 대한 추가 배경 정보를 제공한 상태로, 다른 한 번은 정보 없이 실행했습니다. 결과는 이 추가 정보가 마법의 해결책이 아님을 보여주었습니다. 일부 강력한 AI 모델의 경우, 과학적 맥락을 제공하는 것이 오히려 문제를 완벽하게 해결할 가능성을 약간 낮추었는데, 이는 추가된 텍xt가 모델을 혼란스럽게 하거나, 자신의 아이디어를 검증하기보다 제공된 설명에 너무 의존하게 만들었기 때문일 수 있습니다. 약한 모델들의 경우 추가 정보가 도움이 되었지만, 더 많은 컴퓨팅 자원을 필요로 했습니다. 이는 단순히 AI에게 더 많은 사실을 입력한다고 해서 더 나은 수리가 보장되는 것이 아니라, 시스템이 그 사실들을 코드와 연결하고 실행을 통해 검증할 수 있어야 함을 시사합니다.
이 연구는 인공지능이 일반적인 소프트웨어 공학 분야에서는 진전을 보이고 있지만, 과학적 컴퓨팅의 독특한 요구 사항은 여전히 거대한 도전 과제로 남아 있다고 결론짓습니다. 과학적 코드를 수정하는 것은 구문과 논리를 넘어서는 수준의 이해를 요구합니다. 즉, 코드가 구현하고 있는 물리적, 이론적 원리에 대한 파악을 요구합니다. 이러한 시스템이 프로그램이 실행되는 것과 프로그램이 과학적으로 유효한 것을 신뢰성 있게 구별할 수 있게 될 때까지, 디지털 과학 도구를 유지 관리하는 작업은 아마도 인간 전문가의 몫으로 남을 것입니다. 이 새로운 벤치마크는 현재 이 시스템들이 어느 위치에 있는지에 대한 명확한 지도를 제공하며, 완전한 자율적 과학 소프트웨어 수리로 가는 길이 여전히 멀고 복잡한 장애물로 가득 차 있음을 보여줍니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.