← 최신 논문
💻 computer science

DeNovoSWE: Scaling Long-Horizon Environments for Generating Entire Repositories from Scratch

이 논문은 장기적인 소프트웨어 엔지니어링 작업을 수행하는 LLM 에이전트를 훈련하기 위해 설계된 4,818개의 전체 저장소 생성 인스턴스로 구성된 대규모 자동 큐레이션 데이터셋인 DeNovoSWE를 소개하며, 이는 BeyondSWE-Doc2Repo 벤치마크에서의 성능을 5.8%에서 47.2%로 크게 향상시켰습니다.

원저자: Jiale Zhao, Guoxin Chen, Fanzhe Meng, Wayne Xin Zhao, Ruihua Song, Ji-Rong Wen, Kai Jia

게시일 2026-06-17
📖 3 분 읽기☕ 가벼운 읽기

원저자: Jiale Zhao, Guoxin Chen, Fanzhe Meng, Wayne Xin Zhao, Ruihua Song, Ji-Rong Wen, Kai Jia

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

당신에게 아주 뛰어난 마스터 건축가가 있다고 상상해 보십시오. 이 건축가는 벽에 생긴 단 하나의 깨진 벽돌을 고치는 데 매우 탁월합니다. 특정 균열을 보고 왜 발생했는지 파악한 뒤 완벽하게 메울 수 있죠. 이것이 현재의 AI 코딩 어시스턴트들이 잘하는 일입니다. 기존 소프트웨어의 작은 버그를 수정하는 것이죠.

하지만 만약 당신이 그 똑같은 건축가에게 냅킨 위에 그려진 모호한 스케치 하나만을 가지고 처음부터 거대한 마천루를 지으라고 요청한다면 어떻게 될까요? 그것은 훨씬 더 어려운 작업입니다. 기초를 설계하고, 엘리베이터를 배치하고, 전선을 깔고, 모든 방이 논리적으로 연결되도록 보장해야 하기 때문입니다. 지금까지 AI는 이러한 "전체 건물" 구축 작업에서 어려움을 겪어왔습니다. 충분한 연습이 부족했기 때문입니다.

문제점: 설계도의 부재
AI가 전체 소프트웨어 "마천루"(레포지토리)를 구축하는 데 어려움을 겪는 주요 원인은 학습 데이터의 부족입니다. 기존의 대부분의 학습 데이터는 "이 새는 수도꼭지를 고쳐줘" 또는 "이 금 간 창문을 수리해줘"와 같은 목록에 불과합니다. AI에게 높은 수준의 설명(사용 설명서 등)을 주고, 이를 바탕으로 처음부터 완전히 기능하는 복잡한 건물을 만드는 법을 가르치는 데이터는 거의 없습니다.

해결책: DeNovoSWE
이 논문은 AI가 처음부터 전체 소프트웨어 프로젝트를 구축하는 법을 구체적으로 가르치기 위해 설계된 거대하고 새로운 학습 데이터셋인 DeNovoSWE를 소개합니다. 이것을 4,818개의 "건설 과제"로 이루어진 거대한 도서관이라고 생각하십시오. 각 과제에서 AI는 상세한 지침(문서)을 부여받으며, 그 지침에 완벽하게 부합하도록 전체 소프트웨어 시스템을 구축해야 합니다.

학습 데이터를 구축하는 방법 ("분할 정복" 전략)
이런 데이터셋을 만드는 것은 쉽지 않습니다. AI에게 단순히 "복잡한 앱을 위한 매뉴얼을 써줘"라고 요청한다고 해서 완벽한 결과가 나오지는 않기 때문입니다. 저자들은 이 힘든 작업을 수행하기 위해 정교하고 자동화된 AI 에이전트 팀을 사용했습니다.

  1. "분할(Divide)" 단계: 거대한 도시의 매뉴얼을 쓰는 것을 상상해 보십시오. 한 번에 하기에는 너무 큽니다. 그래서 AI는 먼저 도시를 여러 구역(기능 단위)으로 나눕니다. 각 구역이 무엇을 하는지, 어떤 건물(코드 파일)이 그 구역에 속하는지를 식별합니다.
  2. "정복(Conquer)" 단계: 이제 특화된 AI 에이전트들이 한 번에 딱 하나의 구역만을 위한 매뉴얼을 작성합니다.
    • 초안 작성 에이전트(Draft Agent): 매뉴얼의 첫 번째 버전을 작성합니다.
    • 비평 에이전트(Critic Agent): 엄격한 편집자 역할을 합니다. 매뉴얼을 검사하며 묻습니다. "교통 신호등 작동 방식에 대한 설명을 빠뜨리지 않았나? 배선도가 명확한가?"
    • 수정 에이전트(Repair Agent): 비평가가 찾아낸 실수를 바로잡습니다.
      이 순환 과정은 매뉴얼이 완벽해질 때까지 반복됩니다.
  3. "골든(Golden)" 테스트: 매뉴얼이 작성되면, 시스템은 "클린룸"(샌드박스)을 생성합니다. 원래의 코드를 가져와서 모두 버리고 오직 매뉴얼만 남깁니다. 그런 다음, 다른 AI 에이전트에게 오직 그 매뉴얼만을 사용하여 소프트웨어를 재구축하라고 요청합니다. 새로 만들어진 소프트웨어가 모든 테스트를 통과하면, 그 매뉴얼은 고품질로 간주되어 데이터셋에 추가됩니다.

AI의 정직성 유지 (부정행위 방지)
AI가 자신이 재구축해야 할 원래의 코드를 훔쳐보는 등의 "부정행위"를 할 수 있다는 점은 주요한 우려 사항입니다. 저자들은 이를 방지하기 위해 엄격한 보안 시스템을 구축했습니다.

  • 모든 히스토리, 캐시, 숨겨진 파일을 제거합니다.
  • AI가 원래의 코드를 다운로드하기 위해 온라인에 접속하는 것을 차단합니다.
  • AI가 진정으로 "폐쇄형(closed-book)" 상태가 되도록 하여, 오직 주어진 문서에만 의존하도록 강제합니다.

"난이도 인지형" 필터
모든 건설 프로젝트가 동일한 것은 아닙니다. 어떤 것은 작은 창고이고, 어떤 것은 마천루입니다. 만약 AI가 첫 시도에 완벽한 마천루를 지어낸 사례들만 남겨둔다면, AI가 거의 성공할 뻔했지만 몇 가지 실수를 했던 어려운 프로젝트들로부터 얻을 수 있는 귀중한 교훈을 놓치게 됩니다.

저자들은 프로젝트의 난이도를 살펴보는 스마트한 필터를 만들었습니다.

  • 쉬운 프로젝트(작은 창고)의 경우: 완벽한 점수를 요구합니다.
  • 어려운 프로젝트(마천루)의 경우: 완벽한 마천루를 만드는 것이 매우 어렵다는 점을 고려하여, 약간 낮은 점수(예: 80% 성공률)도 수용합니다.
    이를 통해 AI가 쉬운 성공뿐만 아니라 어려운 과제에서의 "거의 성공할 뻔했던" 순간들로부터도 배울 수 있도록 합니다.

결과
이 새로운 데이터셋을 사용하여 AI 모델을 학습시켰을 때, 결과는 극적이었습니다.

  • 학습 전, AI는 요구되는 소프트웨어를 약 **5.8%**만 정확하게 구축할 수 있었습니다.
  • DeNovoSWE로 학습한 후, 성공률은 **47.2%**로 급증했습니다.

이는 적절한 종류의 "건설 연습"—문제를 작게 나누고, 엄격한 편집자를 활용하며, 부분적인 성공으로부터 배우는 것—을 제공함으로써, 우리가 AI를 단순한 "벽돌 수리공"에서 진정한 "소프트웨어 설계자"로 진화시킬 수 있음을 증명합니다.

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

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

Digest 사용해 보기 →