Agentic AI / Generative AI

SWE-Serve가 밝혀낸 로컬 테스트와 실제 서버 제공 간의 격차

Reading Time: 5 minutes

AI 코딩 에이전트가 작성한 패치가 단위 테스트를 통과하더라도, 실제 모델을 로드해 요청을 처리하는 서버 실행 단계에서는 오작동을 일으킬 수 있습니다. 따라서 추론 서빙 소프트웨어의 수정 사항을 제대로 평가하려면 퍼블릭 인터페이스를 통해 올바른 결과가 반환되는지를 포함해, 전체 서빙 경로를 엔드투엔드로 통합 검증해야 합니다.

SGLang 팀과의 협력으로 개발된 SWE-Serve는 대형 언어 모델(LLM) 서빙 오픈소스인 SGLang의 실제 커밋 변경 사항에서 도출한 53개 과제로 이러한 검증 격차를 측정합니다. 라이브 서빙 검증이 포함된 19개 과제를 분석한 결과, 해당 검사를 제외했을 때 동일한 패치의 통과율은 69.4%에 달했으나 완전한 검증기를 적용했을 때는 45.9%에 불과했습니다. 일반 테스트를 통과한 패치 3개 중 1개는 실제 서빙 환경에서 작동에 실패한 셈입니다.

SWE-Serve의 검증 항목

기존의 리포지토리 레벨 벤치마크는 일반적인 소프트웨어 공학 과제 전반에 걸쳐 코딩 에이전트를 평가하는 반면, 추론 벤치마크는 커널 생성이나 성능 최적화 단면에 집중하는 경우가 많았습니다. 반면 SWE-Serve는 모델 활성화부터 디코딩, 캐싱, 스케줄링, 서빙 API, 런타임 성능에 이르기까지, 추론 서빙 스택 전체에 걸친 리포지토리 단위의 코드 변경 사항을 다각도로 테스트합니다.

이처럼 광범위한 엔지니어링 작업을 검증하기 위해, SWE-Serve는 실제 병합된 83개의 SGLang 풀 리퀘스트(PR)를 6개 추론 엔지니어링 영역의 53개 실행 가능한 과제로 재구성했습니다.

엔지니어링 영역태스크 수
투기적 디코딩 및 고급 디코딩14개
모델 및 백엔드 활성화12개
커널, 양자화 및 성능8개
서빙 API 및 런타임 정밀성8개
캐싱 및 런타임 상태7개
분산 실행 및 스케줄링4개
표 1. 6개 추론 엔지니어링 영역에 걸친 SWE-Serve 53개 태스크의 분포

12개 태스크는 CPU 환경에서 실행되며, 41개 태스크는 단일 NVIDIA H100 GPU를 사용합니다. 이번 첫 번째 릴리스에서는 다른 추론 엔진이나 다중 GPU 실행, 다중 노드 서빙에 대한 평가를 포함하지 않습니다.

37개 태스크는 단일 업스트림 풀 리퀘스트에서 도출되었으며, 나머지 16개는 연관된 2~6개의 변경 사항을 조합하여 구성되었습니다. 결과적으로 본 벤치마크는 총 83개의 병합된 SGLang 풀 리퀘스트를 기반으로 구축되었습니다. SWE-Serve의 출범 파트너인 SGLang 팀은 난이도 높은 태스크 식별 아이디어를 제공하고 까다로운 풀 리퀘스트를 제안하는 한편, 정밀성 검증 방식의 기틀을 잡는 데 기여했습니다.

각 태스크는 에이전트에 작업 지시서와 함께 타깃 변경 이전 시점의 컨테이너화된 SGLang 코드베이스를 제공합니다. 에이전트가 작성한 패치가 지정된 하드웨어에서 해당 태스크의 숨겨진 검증기 조건을 충족하면 통과로 판정됩니다. 패치를 레퍼런스 구현체와 직접 비교하는 방식은 사용하지 않습니다.

이러한 수정 작업은 상당한 규모를 자랑합니다. 레퍼런스 솔루션의 중앙값 기준 변경량은 7개 파일에 걸친 553줄의 코드 수정입니다. 일반적인 검증기는 신규 기능 동작을 검증하는 7개 테스트와 10개의 리그레션 테스트로 구성됩니다. 19개 태스크는 실제로 라이브 서버를 구동하며, 3개 태스크는 H100 환경에서 보정된 성능 게이트 기준을 강제 적용합니다.

단일 태스크의 실제 구성

대표적인 예시로 덴스(Dense) 및 전문가 혼합(MoE) 아키텍처 기반의 Qwen3.5 모델에 서빙 지원 기능을 추가하는 과제가 있습니다. Qwen3.5가 지원되지 않는 이전 코드베이스에서 출발하여, 에이전트는 단일 H100 GPU 환경에서 0.8B 덴스 모델과 35B-A3B MoE 모델이 표준 SGLang 인터페이스로 정상 로드되고 서빙되도록 구현해야 합니다.

이 과제의 검증기는 모델 등록, 설정 및 가중치 로딩부터 이미지·비디오 입력 처리, OpenAI 호환 요청, 네이티브 배치 생성, 로그 확률 연산, MoE 모델의 전문가 라우팅 실행까지 전 과정을 면밀히 검증합니다.

라이브 서빙 테스트가 포착하는 오류

일부 버그나 오류는 실제로 서버를 띄워 가동하는 시점에야 비로소 드러납니다. SGLang 팀은 엔드투엔드 검증 방식과 함께 특정 모델 서빙 테스트에 필요한 핵심 가이드라인을 제공했습니다. 이에 따라 SWE-Serve에는 실제 모델을 로드한 뒤 라이브 서빙 인터페이스로 에이전트의 패치를 다각도로 검증하는 19개 과제가 포함되었습니다.

이 19개 과제에 제출된 동일한 627개 패치는 전체 검증 과정을 거쳤을 때 45.9%의 통과율을 보였습니다. 그러나 라이브 서빙 테스트를 제외하자 통과율은 69.4%로 대폭 상승했습니다. 라이브 서빙 검사를 생략하는 것만으로 147개 패치의 결과가 실패에서 통과로 바뀐 셈입니다.

해당 19개 과제는 총 276개의 라이브 서빙 테스트 항목으로 구성됩니다. 이 가운데 242개는 SGLang 공식 코드베이스에서 가져오거나 재구성한 것이며, 나머지 34개는 적합한 기존 테스트가 없어 새로 반영된 동작을 검증하고자 직접 수립한 항목입니다.

Gemma 4 MoE 과제는 이러한 성능 격차를 선명하게 보여줍니다. 제출된 33개 패치 중 16개는 일반 검사를 모두 통과했지만 라이브 서빙 테스트에서 최소 하나 이상 실패했습니다. 주요 실패 항목에는 모델 로딩, 전문가 라우팅, 텍스트 및 이미지 서빙, 그리고 정확한 순서와 로그 확률을 보장하는 배치 생성 기능이 포함되어 있었습니다.

SWE-Serve에서의 ‘통과’는 패치가 벤치마크 검증기 조건을 충족했음을 의미하는 한정된 개념입니다. SWE-Serve의 테스트는 SGLang의 업스트림 리뷰 프로세스를 대체하지 않으며, 에이전트의 패치나 벤치마크 레퍼런스 솔루션이 즉시 배포 가능하거나, 머지 준비가 완료되었거나, SGLang 메인테이너의 승인을 받았음을 보증하는 것은 아닙니다.

에이전트 성능이 저하되는 영역

요청 처리부터 출력 생성까지의 경로를 4개의 런타임 도메인, 즉 요청 처리 및 입출력, 스케줄링 및 요청 라이프사이클, 모델 실행, KV 캐시 및 런타임 자원 관리로 구분했습니다.

11개 모델 각각의 최적 설정 기준, 단일 런타임 도메인에 국한된 26개 태스크의 평균 통과율은 69.0%를 기록했습니다. 반면 2개 이상의 런타임 도메인에 걸쳐 있는 27개 태스크의 통과율은 47.7%로 21.3%p의 현격한 성능 격차를 보였습니다. 이러한 격차 경향은 테스트된 모든 모델 설정에서 동일하게 나타났습니다.

모델별 성능 격차 분석

평가 대상 모델에 따라 성능 격차가 명확히 드러났습니다. 모델별 최적 테스트 설정 기준, 평균 pass@1 수치는 34.6%에서 75.5% 사이를 기록했습니다. 모든 과제 영역에서 독보적 1위를 차지한 모델은 없었으며, 종합 점수가 비슷한 모델 간에도 추론 비용과 실행 시간 면에서는 현격한 차이가 존재했습니다.

기본 Bash 환경만 사용하는 경량 에이전트인 mini-swe-agent 기반으로, 폐쇄형(Closed-book) 평가 조건 아래 11개 모델과 총 31개의 모델-노력(Effort) 조합을 검증했습니다. Claude 모델 2종과 GPT-5.6 모델 3종은 5단계의 노력 수준으로 나누어 평가했고, 나머지 6개 모델은 단일 설정으로 테스트를 진행했습니다.

각 조합별로 53개 SWE-Serve 전체 과제 벤치마크를 3회 반복 실행했습니다. 에이전트 세션당 실행 제한은 최대 210분 및 350 스텝으로 설정되었습니다. 지정된 하드웨어 환경에서 완전한 검증기 테스트를 완벽히 통과한 패치에 한해서만 과제 해결 성공으로 간주했습니다. 다음 표는 각 모델이 기록한 최고 성적의 노력 설정을 정리한 결과입니다.

모델추론 설정pass@1 (평균 ± 표준편차, 3회 실행)태스크당 평균 비용태스크당 평균 실행 시간
Claude Opus 5max75% ± 3%$17.4057.5분
GPT-5.6 Solmax75% ± 6%$12.2629.5분
Claude Sonnet 5xhigh64% ± 3%$6.6140.6분
Kimi K3max64% ± 5%$7.2499.9분
GPT-5.6 Lunamax64% ± 4%$0.9528.9분
GPT-5.6 Terramax64% ± 4%$5.0625.5분
DeepSeek V4 Flash (0731)max55% ± 4%$0.6936.4분
GLM-5.2max48% ± 2%$2.1034.0분
Gemini 3.6 Flashhigh48% ± 6%$4.8437.3분
Laguna S 2.1max46% ± 5%$0.3356.9분
Inkling Sxhigh35% ± 3%$0.4417.6분
표 2. 전체 53개 SWE-Serve 태스크의 3회 실행 결과에 따른 모델별 최고 추론 설정. pass@1은 평균 ± 표준편차를 나타내며, 비용 및 실행 시간은 태스크당 평균값임. API 모델 비용은 기록된 토큰 사용량과 고정 가격 기준이며, 다운로드형 모델 비용은 호스팅 요금 추정치를 적용함

네이티브 하네스 적용이 상위 두 모델의 성능을 향상시키지는 못했습니다. GPT-5.6 Sol은 Codex 환경에서 73.6%, Claude Opus 5는 Claude Code 환경에서 69.8%를 기록하여, mini-swe-agent 환경에서의 75.5%보다 다소 낮았습니다.

소요 비용이 성능과 그대로 직결되지는 않았습니다. 64%의 통과율로 동률을 이룬 4개 모델의 경우, 태스크당 평균 비용은 $0.95에서 $7.24, 평균 실행 시간은 25.5분에서 99.9분까지 큰 폭의 차이를 보였습니다.

6개 엔지니어링 영역 전체를 독식한 모델은 없었으며, 전체 점수가 동일한 모델이라도 강점을 보이는 세부 영역은 달랐습니다. 최상위 점수는 현재 AI 에이전트로 해결 가능한 SWE-Serve 태스크가 다수 존재함을 보여주는 동시에, 모델 간 성능 스펙트럼이 여전히 고르지 않음을 나타냅니다.

벤치마크 검증 및 신뢰성 확보 방안

총 786개의 잠재적 과제 출처를 검토하여 156개의 실행 가능한 후보를 구축하고, 최종적으로 53개 과제를 선별하여 도입했습니다.

선별된 모든 과제는 지정된 하드웨어 환경에서 사전 검증을 마쳤습니다. 수정을 가하지 않은 기존 코드베이스는 리그레션 테스트를 통과하는 동시에, 신규 기능 검증 테스트에서는 반드시 실패해야 했습니다. 반대로 레퍼런스 패치는 전체 검증기 조건을 완벽히 충족해야 했습니다. 이에 더해 에이전트가 생성한 패치로 검증기를 역테스트하여 구조적 결함이 발견된 과제는 수정을 거치거나 범위를 축소, 또는 최종 평가에서 제외했습니다.

보고된 모든 평가 결과는 폐쇄형(Closed-book) 환경에서 측정되었습니다. 오픈 네트워크 시범 평가 당시 모델이 과제와 관련된 업스트림 코드를 직접 검색하여 가져오는 현상이 확인되었기 때문입니다. 이에 따라 외부 웹 및 업스트림 소스 저장소 접근은 차단하되, 모델 가중치 로드를 위한 Hugging Face 접근만 제한적으로 허용했습니다. 리더보드 산출에 활용된 총 1,749건의 시도를 모두 감사했으며, 이 과정에서 차단된 196건의 미인가 검색 시도 중 성공한 사례는 단 한 건도 없었습니다. 자세한 과제 검증 및 평가 무결성 유지 절차는 논문에 명시되어 있습니다.

SWE-Serve 시작하기

SWE-Serve는 태스크 환경, 검증기, 베이스라인 구성을 완벽히 포함합니다. 이를 통해 로컬 검사 통과와 전체 서빙 경로 정상 동작 간의 격차를 정량적으로 측정할 수 있습니다.

SWE-Serve 리더보드를 확인하고 GitHub에서 SWE-Serve를 실행하여 SGLang 추론 엔지니어링 과제에 대한 코딩 에이전트의 성능을 직접 평가해 보시기 바랍니다.

Discuss (0)

Tags