GameEngineBench: Evaluating Coding Agents on Real C++ Runtime Environments
이 논문은 9개의 게임 저장소에서 파생된 언리얼 엔진 5 프로젝트 내의 110개 실제 C++ 태스크로 구성된 벤치마크인 GameEngineBench를 소개하며, 이는 복잡하고 상태가 있는 실시간 시스템 내에서 기능적 변경 사항을 구현하고 컴파일하는 코딩 에이전트의 능력을 평가하고, 가장 강력한 모델들조차도 깊게 통합된 게임 엔진 개발에 어려움을 겪는다는 점을 밝혀낸다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
로봇에게 집을 짓는 법을 가르치고 있다고 상상해 보세요. 여러분은 "이 못을 박아라"와 같은 간단한 지시를 내릴 수 있고, 로봇은 아주 잘 해낼지도 모릅니다. 하지만 만약 여러분이 로봇에게 이미 절반쯤 지어진 집 안으로 걸어 들어가서, 배관이 전기 배선과 어떻게 연결되는지 파악한 다음, 기존의 조명을 고장 내거나 합선을 일으키지 않으면서 새로운 스마트 조명 시스템을 설치하라고 요청한다면 어떨까요? 그것은 훨씬 더 어려운 테스트입니다. 이것이 바로 코드를 작성하고 수정하도록 설계된 인공지능인 **코딩 에이전트(coding agents)**의 세계입니다. 오랫동안 과학자들은 이 로봇들을 수학 퍼즐을 풀거나 단일 함수를 작성하는 것과 같은 단순하고 고립된 작업들로 테스트해 왔습니다. 하지만 현실 세계는 퍼즐이 아닙니다. 모든 것이 서로 연결되어 상호작용하는 복잡하고 살아있는 시스템입니다. 연구자들이 던지는 핵심적인 질문은 이것입니다. 이 AI 에이전트들이 실제 실행 중인 소프트웨어 시스템의 혼돈을 감당할 수 있을 것인가, 아니면 그저 진공 상태에서만 작동하는 것인가?
GameEngineBench라는 제목의 이 논문은 비디오 게임 엔진을 궁극적인 테스트 실험실로 사용하여 이 질문을 파고듭니다. 게임 엔진을 단순히 게임을 만드는 도구가 아니라, 캐릭터(이하 "액터")들이 돌아다니고, 서로 대화하며, 무언가를 기억하고, 세상에 반응하는 복잡하고 살아있는 도시라고 생각해 보세요. 연구자들은 AI가 이 도시에 발을 들여놓아 특정 거리를 찾아내고, 도시 전체의 정전을 일으키지 않으면서 고장 난 신호등을 고칠 수 있는지 확인하고 싶었습니다. 그들은 인기 있고 강력한 게임 엔진인 Unreal Engine 5를 사용하여 GameEngineBench라는 벤치마크를 구축했습니다. 그들은 9개의 오픈 소스 게임 프로젝트에서 가져온 110개의 실제 작업들을 선정했습니다. 이 작업들은 단순히 "루프를 작성하라"는 식의 것이 아니었습니다. 예를 들어 "플레이어의 인벤토리가 올바르게 저장되도록 하라", "AI가 끼이지 않도록 수정하라", 또는 "멀티플레이어 게임의 동기화를 맞춰서 모든 플레이어가 동일한 것을 보게 하라"와 같은 것들이었습니다. AI는 까다롭고 정밀한 프로그래밍 언어인 **C++**로 코드를 작성하고, 컴파일한 다음, 실제로 게임 내부에서 실행하여 제대로 작동하는지 증명해야 했습니다.
결과는 AI 세계에 대한 일종의 현실 자각 타임이었습니다. 연구자들은 최고 수준의 AI 모델들의 12가지 "구성(configurations)"을 테스트했습니다. 가장 뛰어난 성능을 보인 claude-fable-5라는 모델은 첫 시도에서 약 **55.5%**의 작업을 해결했습니다. 이는 인상적으로 들릴 수도 있지만, 동시에 거의 절반의 경우에는 실패했다는 것을 의미하기도 합니다. 더욱 결정적인 것은, 어떤 AI 모델도 아무리 노력해도 해결할 수 없었던 31개의 작업이 있었다는 점입니다. 논문은 이러한 실패가 단순히 AI가 오타를 냈거나 세미콜론을 잊어버렸기 때문이 아니라고 시사합니다. 대신, AI는 게임 엔진의 깊고 보이지 않는 규칙들 때문에 어려움을 겪었습니다. AI는 어떤 일들이 "서버"(메인 브레인)에서 일어나야 하고 "클라이언트"(플레이어의 화면)에서 일어나면 안 되는지에 대한 규칙을 자주 잊었거나, 객체가 생성되거나 파괴되는 타이밍을 그르치곤 했습니다. 이는 마치 AI가 문장을 쓰는 법은 알지만, 전체 대화의 문법은 이해하지 못하는 것과 같습니다.
이 연구는 AI 에이전트들이 점점 나아지고는 있지만, 전문적인 소프트웨어 개발의 복잡하고 통합된 현실을 다루는 데에는 여전히 어려움을 겪고 있다고 결론짓습니다. 그들은 서류상으로는 완벽해 보이고 오류 없이 컴파일되는 코드를 작성할 수 있지만, 실제로 라이브 인터랙티브 시스템에서 실행하면 시스템의 섬세한 균형을 깨뜨리는 경우가 많습니다. 연구자들은 AI가 교과서적인 예시가 아니라 실제 실행되는 환경에서 자신의 코드가 작동함을 증명해야 하는 이와 같은 테스트가 더 많이 필요하다고 주장합니다. AI가 게임 엔진이라는 복잡하고 상호 연결된 도시를 안정적으로 항해할 수 있게 될 때까지, 우리는 그들이 미래의 복잡한 소프트웨어 시스템을 구축할 것이라고 완전히 신뢰할 수 없습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.