LEGO-RL: Harness-Native Reinforcement Learning for Coding Agents
LEGO-RL은 네이티브 실행 하네스와 정책 경사 최적화를 인프로세스 LLM 프록싱, 견고한 샌드박스 오케스트레이션 및 통합 모니터링을 통해 연결함으로써 코딩 에이전트를 위한 확장 가능한 강화 학습을 가능하게 하며, 이를 통해 다양한 환경에서 SWE-bench Verified에 대한 모델 성능을 유의미하게 향상시키는 동시에 높은 훈련-추론 정렬을 유지하는 프레임워크이다.
원본 논문은 CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/)에 따라 공공 도메인에 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
인공지능의 세계에서 연구자들은 컴퓨터가 자율적인 소프트웨어 엔지니어로 행동하도록 가르치고 있습니다. 이 디지털 에이전트들은 단순히 질문에 답하는 것에 그치지 않고, 복잡한 코드베이스를 탐색하고, 버그를 수정하기 위해 도구를 사용하며, 자신의 변경 사항이 제대로 작동하는지 확인하기 위해 테스트를 실행합니다. 이러한 기술을 배우기 위해 에이전트들은 강화 학습이라고 불리는 방법을 사용합니다. 퍼즐을 푸는 법을 배우는 학생을 상상해 보십시오. 학생은 어떤 수를 시도하고, 그 수가 해결책에 더 가까워지게 만들면 작은 보상을 받습니다. 시간이 지나면서 그들은 어떤 수가 성공으로 이어지는지를 배우게 됩니다. 코딩 에이전트의 경우, 이 과정은 긴 일련의 행동을 생성하고, 컴퓨터 프로그램이 실행되는 것을 지켜보며, 자신이 작성한 코드가 실제로 문제를 해결했는지를 나타내는 단순한 "예" 또는 "아니오" 신호를 받는 과정을 포함합니다. 문제는 이러한 에이전트들이 예측 불가능한 방식으로 문제가 발생할 수 있는 무질서한 실제 컴퓨팅 환경에서 작동한다는 점에 있습니다. 만약 환경이 충돌하거나, 보상 시스템이 속임을 당하거나, 에이전트의 생각을 기록하는 컴퓨터가 실제로 무엇이 말해졌는지 놓치게 된다면, 학습 과정은 무너집니다. 에이전트는 시스템을 악용하는 법을 배우거나, 받는 피드백이 신뢰할 수 없기 때문에 단순히 학습을 중단할 수도 있습니다.
한 연구팀은 이러한 특정 문제들을 해결하기 위해 LEGO-RL이라는 새로운 시스템을 개발했습니다. 그들의 목표는 기존의 복잡한 코딩 에이전트들을 변화시키지 않으면서도 강력한 학습 알고리즘에 연결하는 것이었습니다. 에이전트를 특정 도구 세트를 사용하고 특정 워크플로우를 따르는 법을 정확히 알고 있는 숙련된 노동자라고 생각해 보십시오. 이 노동자들을 훈련하려는 이전의 시도들은 종-종 훈련 소프트웨어에 맞추기 위해 작업 공간 전체를 재구축해야 했으며, 이는 빈번하게 오류를 일으키거나 노동자의 자연스러운 행동을 변화시켰습니다. 대신 LEGO-RL 팀은 훈련 소프트웨어가 실시간으로 모든 움직임과 생각을 포착하면서도, 현실 세계의 혼란으로부터 학습 과정을 보호하며 노동자를 있는 그대로 관찰할 수 있게 해주는 다리를 건설했습니다.
그들 솔루션의 핵심은 훈련 컴퓨터가 에이전트가 보는 것을 정확히 보도록 보장하는 프레임워크입니다. 에이전트가 응답을 생성할 때, 특별한 구성 요소가 다른 소프트웨어가 정보를 수정하거나 요약하기 전에 원시 단어 스트림과 에이전트가 각 단어에 할당한 정확한 확률을 포착합니다. 이는 에이전트의 환경을 관리하는 소프트웨어가 공간을 절약하기 위해 종종 역사를 다시 쓰거나 정보를 압축하기 때문에 매우 중요합니다. 만약 훈련 시스템이 이러한 재작성된 버전에 의존했다면, 사건에 대한 왜곡된 기억을 바탕으로 에이전트의 학습 진척도를 계산했을 것입니다. 데이터를 생성하는 순간에 포착함으로써, 연구자들은 학습 신호가 에이전트의 실제 결정에 충실하도록 보장했습니다. 또한, 그들은 에이전트가 내린 구체적인 내부 선택들을 재현할 수 있는 시스템을 구축하여, 여러 전문화된 부분들을 가진 복잡한 모델이라 할지라도 올바른 경로로부터 학습할 수 있도록 했습니다.
학습 과정을 신뢰할 수 있게 유지하기 위해, 팀은 각 테스트가 자신만의 격리되고 안전한 컨테이너에서 실행되는 매우 조직화된 환경을 만들었습니다. 이는 하나의 고장 난 테스트가 전체 시스템을 중단시키는 것을 방지하며, 에이전트가 점수 시스템을 우회하기 위한 지름길을 찾는 것을 막아줍니다. 예를 들어, 그들은 테스트 중에 에이전트로부터 정답을 숨겼고, 작업의 성적을 매기는 소프트웨어가 조작될 수 없도록 보장했습니다. 또한 그들은 실패를 우아하게 처리할 수 있는 시스템을 설계했습니다. 만약 에이전트가 막히거나 환경이 충돌하면, 시스템은 문제를 식별하고 해당 시도를 폐기한 뒤, 그 오류가 학습 데이터를 오염시키지 않고 다음 단계로 넘어갑니다. 이를 통해 복잡한 코딩 작업에서 빈번하게 발생하는 개별 테스트 실패 상황에서도 훈련이 원활하게 계속될 수 있습니다.
연구진은 세 가지 서로 다른 기존 코딩 에이전트 프레임워크를 사용하여 대규모 언어 모델을 훈련함으로써 이 시스템을 테스트했습니다. 그들은 시스템이 세 가지 모두에서 놀라울 정도로 잘 작동한다는 것을 발견했습니다. 실세계 소프트웨어 문제를 해결하는 모델의 능력이 눈에 띄게 향상되었습니다. 한 인기 있는 프레임워크를 사용할 때 성공률은 64%에서 70% 이상으로 뛰었습니다. 다른 프레임워크에서는 62%에서 거의 68%로 상승했고, 세 번째 프레임워크에서는 57%에서 거의 67%로 올랐습니다. 결정적으로, 연구진은 학습 과정이 정직하다는 것을 검증했습니다. 에이전트가 한 행동과 훈련 시스템이 계산한 것 사이의 수학적 관계는 99% 이상의 상관관계를 보이며 거의 완벽하게 유지되었습니다. 이는 시스템이 단순히 운이 좋았던 것이 아니라, 실제로 올바른 데이터로부터 학습하고 있었음을 증명했습니다.
단순히 점수를 높이는 것을 넘어, 이 시스템은 에이전트가 어떻게 학습하는지에 대한 명확한 창을 제공했습니다. 연구진은 훈련을 실시간으로 지켜보며, 왜 테스트가 실패했는지 또는 몇 주간의 훈련 동안 에이전트의 행동이 어떻게 변했는지를 정확히 볼 수 있었습니다. 그들은 에이전트가 개선됨에 따라 자신의 변경 사항이 정확한지 확인하기 위해 방금 편집한 파일들을 더 자주 읽으며 스스로의 작업을 더 자주 점검하기 시작한다는 것을 관찰했습니다. 또한 에이전트가 문제를 해결하기 위해 더 많은 단계를 밟으며, 해결책에 도달하기 위해 컴퓨터와 더 길고 복잡한 대화를 나누기 시작한다는 것도 발견했습니다. 이러한 수준의 세부 정보는 연구진이 에이전트가 도구 사용을 중단하고 텍스트를 쓰는 대신 글을 쓰기 시작하는 것과 같은 문제를 빠르게 진단하고 그에 따라 훈련을 조정할 수 있게 해주었습니다.
LEGO-RL의 성공은 코딩 에이전트의 훈련 규모를 키우는 데 필요한 것이 단지 더 빠른 컴퓨터나 더 큰 모델만이 아님을 보여줍니다. 그것은 에이전트의 워크플로우의 무결성을 존중하면서도 학습을 위한 안정적이고 관찰 가능한 환경을 제공하는 시스템을 요구합니다. 데이터를 충실하게 포착하고, 오류로부터 보호하며, 훈련 과정에 대한 깊은 가시성을 제공하는 프레임워크를 구축함으로써, 연구진은 복잡한 소프트웨어 에이전트를 신뢰할 수 있게 가르치는 것이 가능하다는 것을 보여주었습니다. 그들의 연구는 자율 코딩의 미래가 에이전트를 경직된 틀에 강제로 맞추는 것이 아니라, 소프트웨어 개발의 무질서한 현실로부터 학습할 수 있는 유연하고 견고한 시스템을 구축하는 데 있음을 시사합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.