← 최신 논문
🤖 AI

Open-SWE-Traces: Advancing Dual-Mode Multilingual Distillation for Software Engineering Agents

이 논문은 실제 풀 리퀘스트(pull request)에서 추출한 207,489개의 소프트웨어 엔지니어링 에이전트 궤적을 포함하는 대규모 다국어 데이터셋인 Open-SWE-Traces를 소개하며, 이는 다양한 SWE-bench 평가에서 최첨단 성능을 달性能하는 고성능 오픈 소스 모델의 증류를 가능하게 합니다.

원저자: Wasi Uddin Ahmad, Nikolai Ludwig, Somshubra Majumdar, Boris Ginsburg

게시일 2026-06-16
📖 4 분 읽기☕ 가벼운 읽기

원저자: Wasi Uddin Ahmad, Nikolai Ludwig, Somshubra Majumdar, Boris Ginsburg

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 거대한 소프트웨어 라이브러리에서 고장 난 코드를 고치는 법을 로봇에게 가르치고 싶다고 상상해 보세요. 문제는, 로봇에게 단순히 무엇을 고쳐야 하는지 알려주는 것만으로는 부족하다는 것입니다. 로봇에게 문제를 어떻게 생각하고, 실수를 하고, 다시 시도하며, 결국 성공에 이르는지 그 방법을 보여주어야 합니다. 지금까지는 로봇을 잘 가르칠 수 있을 만큼의 다양한 프로그래밍 언어에 대한 "영상 자료"가 충분하지 않았습니다.

이 논문은 AI 에이전트에게 소프트웨어 엔지니어가 되는 법을 가르치기 위해 설계된 거대한 새로운 "영상 자료"인 OPEN-SWE-TRACES를 소개합니다.

다음은 그들이 수행한 작업을 쉬운 비유를 사용하여 정리한 내용입니다.

1. 문제점: "훈련 영상"의 부족

소프트웨어 엔지니어링을 복잡한 스포츠라고 생각해 보세요. 새로운 선수(AI)를 훈련시키려면, 기술을 배우기 위해 수천 시간의 프로 경기 영상을 봐야 합니다.

  • 병목 현상: 이전에는 연구자들이 몇 시간 분량의 "경기 테이프"밖에 가지고 있지 않았습니다. 진정으로 똑똑한 AI를 훈련시킬 만큼 다양한 언어(Python, Java, C++ 등)로 버그를 수정하는 다양한 예시가 부족했습니다.
  • 해결책: 저자들은 207,489개의 기록된 "경기"를 포함하는 데이터셋인 OPEN-SWE-TRACES를 제작했습니다. 이것은 AI가 실제 소프트웨어 프로젝트에서 버그를 해결하려고 시도했던 실제 상황들을 담고 있습니다.

2. 훈련 방법: 두 가지 사고 모드

이 논문은 인간이 일하는 방식에서 영감을 얻은, AI를 가르치는 영리한 방법인 **"이중 모드 증류(Dual-Mode Distillation)"**를 도입합니다.

  • 모드 A: "생각하는 자" (느리고 신중하게)
    체스 그랜드마스터가 말을 움직이기 전에 모든 가능한 수를 계산하며 잠시 멈추는 것을 상상해 보세요. 이 데이터셋에는 AI가 행동하기 전에 명시적으로 "생ر각을 밖으로 내뱉는(Chain-of-Thought)" 흔적들이 포함되어 있습니다.
    • 마법 같은 효과: 논문에 따르면 AI가 생각할 시간을 가질 때, 실제로 문제를 해결하기 위한 전체 이동 횟수가 줄어들었습니다. 이는 경로를 계획하느라 잠시 멈춤으로써 길을 잃거나 빙빙 돌지 않게 되어, 결과적으로 시간과 노력을 아끼는 것과 같습니다.
  • 모드 B: "행동하는 자" (빠르고 직접적으로)
    나사가 풀린 것을 보고 긴 설명 없이 즉시 조이는 정비사를 상상해 보세요. 이 데이터셋에는 내부적인 독백 없이 빠르게 행동하는 흔적들도 포함되어 있습니다.
    • 목표: AI는 이 모드들 사이를 전환하는 법을 배웁니다: "어려운 문제"에는 "생각"하고, "단순한 문제"에는 "행동"합니다.

3. 데이터셋 구축 방법

그들은 단순히 가짜 문제를 만들어내지 않았습니다. 그들은 실제 세상으로 나갔습니다.

  • 출처: 그들은 오픈 소스 프로젝트에서 제출된 20,000개의 실제 풀 리퀘스트(Pull Requests)(실제 인간이 제출한 코드 변경 사항)를 살펴보았습니다.
  • 연기자: 그들은 두 명의 강력한 AI "코치"(MiniMax-M2.5 및 Qwen3.5)를 사용하여 이 실제 문제들을 관찰하고, 에이전트가 이를 어떻게 해결할지 시뮬레이션했습니다.
  • 안전 점 검사: 기록을 라이브러리에 추가하기 전, 엄격한 보안 필터를 실행했습니다. AI가 정답지(git 히스토리)를 훔쳐보거나 규칙을 어기는 등의 "부정행위"를 하지 않는지 확인했습니다. 만약 AI가 부정행위를 시도했다면, 그 기록은 폐기되었습니다.

4. 결과: 새로운 챔피언

이 거대한 라이브 라이브러리를 학생 AI(Qwen3-30B 모델 기반)에게 학습시킨 후, AI가 실제 버그를 얼마나 잘 고치는지 측정하는 세 가지 유명한 "시험"(벤치마크)으로 테스트했습니다.

  • SWE-bench Verified: 학생 AI는 문제의 **61.7%**를 맞혔습니다.
  • SWE-bench Multilingual: 학생 AI는 다양한 언어에 걸쳐 **57.1%**를 맞혔습니다.
  • SWE-bench Pro: 매우 어렵고 전문적인 수준의 과제에서 **36.8%**를 맞혔습니다.

이것이 왜 중요한가요?
논문은 이 새로운 학생 모델을 다른 최고 수준의 AI 모델들과 비교합니다. 이 특정 데이터셋으로 훈련된 새 모델은 많은 오픈 소스 모델들을 능가했으며, 가장 비싼 "폐쇄형 소스" 초지능 모델들에 근접하는 성과를 보였습니다.

5. 핵심 교훈

저자들은 무엇이 AI를 똑똑하게 만드는지 알아보기 위해 실험을 진행했습니다.

  • 언어가 중요하다: AI를 Python으로만 훈련시켜도 괜찮았지만, 9가지 언어(Python, Go, Java 등)로 훈련시켰을 때 Python 문제를 포함한 모든 유형의 문제를 훨씬 더 잘 해결하게 되었습니다. 이는 비, 눈, 모래 속에서 운전하는 법을 배우면 도시에서도 운전을 더 잘하게 되는 것과 같습니다.
  • 실패도 도움이 된다: AI가 버그를 해결하는 데 실패한 기록을 포함하는 것이 실제로 도움이 된다는 것을 발견했습니다. 이는 AI에게 무엇을 하지 말아야 할지를 가르쳐 주었습니다. 학생에게 승리하는 장면만 보여준다면, 어떻게 하면 지지 않을 수 있는지 배울 수 없습니다.
  • "생각하기"의 트레이드오프: "생각하는" 흔적이 AI가 어려운 문제를 푸는 데 도움을 주었지만, 표준적인 작업에서는 AI가 빠르게 행동할 때("생각 없음") 전반적으로 약간 더 높은 성능을 보였습니다. 가장 좋은 접근법은 두 가지를 혼합하는 것입니다.

요약

이 논문은 AI 에이전트에게 인간 개발자처럼 생각하고 행동하는 법을 가르치는, 고품질의 방대한 소프트웨어 엔지니어링 "재생 영상" 라이브러리를 제시합니다. 여러 프로그래밍 언어에 걸친 "느린 사고"와 "빠른 행동"의 예시를 혼합하여 사용함으로써, 그들은 실제 세계의 소프트웨어 버그를 고치는 데 있어 현재 가장 뛰어난 오픈 소스 AI를 만들어냈습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →