한 줄 요약
Dockerless는 실행 환경 없이 코드 패치를 검증하는 에이전트 기반 검증기로, 기존 Docker 기반 검증 대비 14.3 AUC 포인트 개선된 성능을 보인다.
핵심 기여도
- Dockerless는 Docker 이미지와 같은 별도 실행 환경 없이 코드 패치를 검증하는 **에이전트 기반 검증기**를 제안.
- 기존 최고 오픈소스 검증기 대비 **14.3 AUC 포인트** 개선된 성능을 달성.
- Dockerless 기반 SFT 및 RL 파이프라인을 통해 **SWE-bench Verified, Multilingual, Pro**에서 각각 62.0%, 50.0%, 35.2%의 해결률 달성.
- Qwen3.5-9B 기준 대비 각각 **2.4, 8.7, 2.9 포인트** 개선.
핵심 아이디어
기존 검증 방식은 Docker 이미지 내에서 단위 테스트를 실행해 패치의 정확성을 판단하는 방식을 사용했으나, 이는 **Docker 이미지 생성, 의존성 해결, 테스트 스크립트 작성** 등 높은 설정 비용을 요구했다. Dockerless는 이러한 환경 설정 없이 **리포지토리 탐색을 통해 패치의 정확성을 판단**한다.
Dockerless는 주어진 이슈와 참조 패치를 바탕으로 **검증 질문**(verification questions)을 생성하고, 이 질문에 대한 답을 **서브 에이전트**(sub-agents)가 리포지토리 탐색을 통해 수집한 증거를 바탕으로 생성한다. 이후, Dockerless는 수집된 증거를 종합해 패치의 정확도를 판단한다. 이는 단순 텍스트 비교가 아닌, **리포지토리 내부 구조와 코드 흐름을 고려한 심층적 검증**을 가능하게 한다.
기술적 접근법
- **Dockerless 아키텍처**는 두 단계로 구성됨:
- **결정 모델**(verdict model)은 `(x, y_ref, y, {(Q_k, A_k)})`를 입력으로 받아 이진 판단(0 또는 1)을 출력.
- **결정 점수 계산**: 0과 1의 로짓(logit)을 사용해 연속적인 점수로 변환.
- **학습 데이터**: SWE-Gym과 Multi-SWE-RL에서 3.7K개 이슈를 기반으로 **거부 샘플링**(rejection sampling)을 통해 학습.
- **최종 모델 평가**: SFT 및 RL 파이프라인에서 Dockerless를 사용해 **환경 없이** 학습 가능.
1. **검증 질문 생성**: 이슈와 참조 패치를 바탕으로 `K`개의 검증 질문 생성 (예: "수정이 적용되어야 할 위치는?", "패치된 코드가 해야 할 역할은?").
2. **서브 에이전트 탐색**: 각 질문에 대해 `K`개의 서브 에이전트가 병렬로 실행되며, `find`, `grep`, `rg` 등의 리드-온리 쉘 도구를 사용해 증거를 수집.
주요 결과
- Dockerless는 **Verifier Evaluation Benchmark**에서 기존 최고 오픈소스 검증기 대비 **14.3 AUC 포인트** 개선.
- SFT 데이터 필터링에서 Dockerless 상위 25% (4K/16K)를 사용한 모델은 전체 환경 없음 풀 대비 **SWE-bench Verified, Multilingual, Pro에서 각각 1.8, 6.4, 3.4 포인트** 개선.
- RL에서 Dockerless 기반 보상은 DeepSWE Verifier 대비 **SWE-bench Verified, Multilingual, Pro에서 각각 1.4, 2.7, 1.1 포인트** 개선.
- Dockerless 기반 전체 환경 없음 파이프라인은 Qwen3.5-9B 대비 **SWE-bench Verified, Multilingual, Pro에서 각각 2.4, 8.7, 2.9 포인트** 개선.
의의 및 한계
Dockerless는 **리포지토리 탐색 기반의 증거 기반 검증**(evidence-grounded verification)을 도입함으로써, **Docker 환경 없이도 높은 정확도의 패치 검증**이 가능하다는 점에서 학술적·실용적 의의가 있다. 특히, **재현 가능한 실행 환경이 없는 리포지토리**(예: 프라이빗, 레거시)에서도 효과적으로 사용 가능하다는 점에서 기존 접근 방식을 극복했다.
그러나 Dockerless는 여전히 **참조 패치**(reference patch)에 의존하며, 참조가 없거나 부정확한 경우 성능이 저하될 수 있다. 또한, **서브 에이전트가 수집한 증거의 질**이 최종 판단에 큰 영향을 미치므로, 리포지토리 구조가 복잡하거나 문서화가 부족한 경우 정확도가 떨어질 수 있다.
실용적 활용
Dockerless는 **대규모 리포지토리**(특히, 재현 환경이 부족한)에서 코드 생성 에이전트의 학습 및 평가를 효율적으로 수행할 수 있는 도구로 활용 가능하다. 특히, **SFT 데이터 필터링** 및 **RL 보상 계산**에 사용할 수 있어, **CI/CD 파이프라인**, **소프트웨어 엔지니어링 자동화**, **코드 리뷰 시스템** 등에 적용 가능하다.