AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
기존의 소프트웨어 엔지니어링(SWE) 에이전트 학습 데이터는 규모가 작거나 내부 구조가 불투명하여 연구에 한계가 있었다. 이 논문은 45,320개의 실행 가능한 Docker 환경을 공개하여 누구나 고성능 코딩 에이전트를 학습시킬 수 있는 기반을 마련했으며, 데이터의 양뿐만 아니라 질적 필터링의 중요성을 입증했다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
기존의 소프트웨어 엔지니어링(SWE) 에이전트 학습 데이터는 규모가 작거나 내부 구조가 불투명하여 연구에 한계가 있었다. 이 논문은 45,320개의 실행 가능한 Docker 환경을 공개하여 누구나 고성능 코딩 에이전트를 학습시킬 수 있는 기반을 마련했으며, 데이터의 양뿐만 아니라 질적 필터링의 중요성을 입증했다.
45,320개의 실행 가능한 Docker 환경 구축
12,800개 이상의 Python 저장소를 기반으로 Dockerfile, 평가 스크립트, 인프라가 완전히 공개된 대규모 환경을 제공함.
멀티 에이전트 기반의 자동화된 합성 파이프라인
64개 노드 분산 클러스터에서 저장소 탐색, 환경 구축, 테스트 분석을 자동화하는 시스템을 설계하여 구축 비용과 시간을 대폭 절감함.
난이도 인지형 품질 필터링 시스템
해결 불가능하거나 너무 쉬운 사례를 걸러내고 학습 효율을 극대화할 수 있는 적절한 난이도의 데이터 13,000개를 선별함.
기존의 코딩 AI는 단순한 코드 조각 생성에 집중했으나, 실제 소프트웨어 개발은 복잡한 코드베이스 탐색과 실행 결과에 따른 반복적인 수정이 필수적이다. 이를 위해 에이전트가 직접 코드를 실행하고 피드백을 받을 수 있는 '실행 가능한 환경'이 필요하지만, 대규모로 이런 환경을 구축하는 것은 막대한 비용과 기술적 난이도가 따랐다.
OpenSWE는 이 문제를 해결하기 위해 AI 에이전트들을 활용해 다시 AI 에이전트를 위한 학습 환경을 만드는 '자기 증식형' 구조를 채택했다. 64개의 서버 노드에서 여러 에이전트가 협력하여 GitHub 저장소를 분석하고, 필요한 라이브러리를 설치하는 Docker 설정을 자동으로 생성하며, 수정된 코드가 맞는지 검증하는 테스트 코드까지 작성한다.
단순히 양을 늘리는 것에 그치지 않고, 모델이 학습하기에 너무 쉽거나 정보가 부족해 풀 수 없는 데이터를 걸러내는 필터링 과정을 거쳤다. 이를 통해 모델은 실제 개발자가 겪는 수준의 도전적인 문제들에 집중하여 학습할 수 있게 되었으며, 이는 결과적으로 수학이나 과학 같은 다른 논리적 사고 영역의 성능 향상으로도 이어졌다.
GitHub에서 5개 이상의 Star를 받은 Python 저장소를 수집하고, 이슈 설명과 Pull Request(PR) 패치가 포함된 데이터를 선별한다. 이후 멀티 에이전트 시스템이 저장소 구조를 탐색하고, 환경 구축을 위한 Dockerfile을 생성하며, 정답 여부를 판별할 평가 스크립트를 작성한다. 이 과정은 테스트 분석 에이전트의 피드백을 통해 오류를 수정하는 반복적 루프로 구성된다.
환경 구축의 효율성을 위해 openswe-python 베이스 이미지를 미리 빌드하여 네트워크 타임아웃을 방지하고 레이어 캐싱을 최적화한다. 또한 64개의 노드로 구성된 분산 컴퓨팅 클러스터를 운영하며, 개별 노드의 실패가 전체 작업에 영향을 주지 않도록 파일 기반 메시지 큐와 자동 리소스 정리 시스템을 도입하여 약 2주 만에 4.5만 개의 환경을 완성한다.
구축된 환경에서 GLM-4.7 모델을 사용하여 문제 해결 궤적을 샘플링한다. 각 인스턴스에 대해 4번의 시도를 수행하고, 성공한 궤적 중 난이도가 적절한 것들을 선별하여 최종 학습 데이터셋을 구성한다. Pass@1 지표를 계산할 때 [생성된 해결책 수 → 테스트 통과 여부 확인 → 성공 확률 산출] 과정을 거쳐 모델의 실질적인 문제 해결 능력을 정량화한다.
OpenSWE로 학습된 Qwen2.5-32B와 72B 모델은 SWE-bench Verified 벤치마크에서 각각 62.4%와 66.0%의 해결률을 기록하며 해당 시리즈 중 SOTA 성능을 달성했다. 이는 기존의 SWE-rebench 데이터로 학습된 모델들보다 모든 설정에서 우수한 성능을 보였으며, 데이터 규모가 커질수록 성능이 로그-선형으로 향상되는 경향을 확인했다.
일반 능력 평가에서도 괄목할만한 성과를 보였다. Qwen2.5-32B 모델의 경우 HumanEval에서 29점 이상, MATH-500에서 8점 이상의 점수 향상을 기록했다. 이는 소프트웨어 엔지니어링 특화 학습이 단순히 코딩 실력뿐만 아니라 다단계 계획 수립 및 논리적 추론 능력을 전반적으로 강화했음을 시사한다.
OpenSWE 아키텍처는 저장소 탐색기, Dockerfile 생성기, 평가 스크립트 생성기, 테스트 분석기라는 4가지 전문 에이전트로 구성된 파이프라인을 기반으로 한다. 각 에이전트는 이전 단계의 출력을 입력으로 받아 작업을 수행하며, 테스트 분석기가 실패 원인을 진단하여 이전 단계로 피드백을 보내는 반복적 루프를 통해 환경의 완성도를 높인다.
인프라 측면에서는 64개의 ECS 인스턴스를 활용한 분산 처리를 수행한다. 각 컨테이너는 4개의 CPU 코어와 24GB 메모리로 제한되어 자원 경합을 방지하며, Prometheus와 Grafana를 통해 실시간 모니터링을 수행한다. 특히 Docker 이미지 빌드 시 베이스 레이어를 고정하고 의존성 설치 레이어만 갱신하는 전략으로 빌드 속도를 5배 향상시켰다.
학습 전략으로는 멀티턴 대화 형식의 궤적 데이터를 사용하며, 에이전트의 행동에 대해서만 손실 함수를 계산하는 마스킹 기법을 적용한다. 128k 토큰의 긴 컨텍스트를 지원하며, 코사인 어닐링 스케줄러를 적용한 SFT를 통해 모델의 안정적인 수렴을 유도한다.
PR-이슈 불일치나 너무 단순한 해결책을 가진 사례들을 필터링했음에도 불구하고, 여전히 일부 환경은 외부 의존성 문제나 복잡한 설정으로 인해 완벽한 실행을 보장하기 어려울 수 있다. 또한 현재는 Python 언어에 집중되어 있어 다른 프로그래밍 언어로의 확장이 필요하다.
대규모의 실행 가능한 코딩 환경과 학습 데이터를 제공하므로, 기업이나 연구소에서 자체적인 자율 코딩 에이전트를 개발하고 성능을 검증하는 데 즉시 활용 가능하다.
코드 공개 여부: 공개
코드 저장소 보기아직 관련 토론이 없습니다.
댓글을 작성하려면 로그인이 필요합니다.
SWE-Bench ProMax는 평균 11.4개 파일을 바꾸는 170개 리팩터링 과제로 AI 코딩 에이전트의 파일 간 조정 능력을 측정하며 GPT-5.2도 41.2% 해결률에 그쳤다
DeepSWE는 장기 소프트웨어 과제와 동작 검증자를 통해 최첨단 코딩 모델을 더 엄격하게 평가한다.
26:42코딩 에이전트의 정의와 SWE-Bench, Terminal-Bench, RExBench 등 주요 벤치마크를 통한 성능 평가 방법론을 다룬다.
Ox alpha가 SWE-bench Verified-Mini에서 96%를 기록했지만 데이터 오염과 표본 편향 때문에 상한선으로 봐야 합니다.
SWE-bench Science는 119개 과학 코드 작업에서 에이전트의 낮은 첫 시도 성공률과 네 가지 실패 메커니즘을 측정했다