Real-SWE는 최첨단 AI 코딩 모델을 실제 기업의 비공개 엔터프라이즈 코드베이스를 바탕으로 평가하는 새로운 벤치마크이다. 각 태스크는 실제 기업으로부터 라이선스를 취득한 비공개 프로덕션 코드베이스에서 가져온 것이다. 전문가 생성 태스크나 합성 태스크와 달리 실제 기업 엔지니어들이 처리해야 하는 검증된 실제 업무 과제이다. 태스크 코드는 실사용자와 비즈니스 니즈를 충족하기 위해 작성된 것을 벤치마크용으로 만든 코드보다 우선시하여 선정되었다. 코드베이스 선정은 엄격한 스크리닝 과정을 거치며, 상당한 사용량, 강력한 엔지니어링 팀, 까다로운 프로덕션 워크로드를 가진 실제 기업에 초점을 맞춘다.
태스크는 기초 코딩 아티팩트와 지시사항의 구체성이라는 두 가지 축에서 차별화되며, 이 두 가지 요소가 오늘날 최첨단 모델에 도전 과제를 제시한다. 실제 프로덕션 엔지니어링은 기존 아키텍처 이해, 사용자가 의존하는 기존 동작 보존, 실제 운영 제약 내에서의 변경 수행을 요구한다. 태스크의 지시사항은 필요한 변경 사항을 설명하며 에이전트가 코드베이스와 주변 도구에서 구현 세부 사항을 직접 발견하도록 요구한다. 검증기가 요구하는 모든 동작은 명시되거나 합리적으로 발견 가능해야 한다. 프롬프트는 약간 불완전하게 명세되어 있으며, DeepSWE 및 Terminal Bench 수준이지만 지시를 누락하지 않을 정도로는 구체적이다.
작업은 부서 간 협업이 필요하고 복잡하여, 단일 변경이 애플리케이션의 여러 부분에 걸쳐 발생할 수 있다. 에이전트는 주변 시스템을 정상 작동시키는 동시에 기존 비즈니스 로직과 회사 코딩 패턴을 이해해야 한다. 전형적인 Real-SWE 지시사항은 1,742자 분량이다. 파일 수는 Real-SWE에서 평균 11개로, FrontierCode와 DeepSWE의 6개에 비해 많다. 10분 미만의 실행 중 71.4%가 실패했으며, 이는 더 긴 실행의 73.4% 실패율과 비교된다. 기존 비즈니스 로직과 코딩 패턴이 가득한 코드베이스에서 여러 시스템을 트리아지하고 요구사항을 파악하는 것은 어렵다.
인보이스 청구 및 세금 정산 시스템
각 기업이 올바른 세금을 부과하고 면세 고객에게는 세금이 부과되지 않도록 인보이스 청구를 수정하는 작업이 포함된다. 월요일에 청구가 재개되면서 이 서비스가 발행하는 모든 인보이스가 세금 없이 나오고 있다. 플랫폼의 각 기업은 자체 세율 유지, 세금 당국 제공자를 통한 구매자 목적지별 가격 책정, 또는 전혀 수집하지 않는 방식 등 세금을 정산하는 방식이 다르며, 면세 고객은 설정과 무관하게 세금이 부과되지 않는다.
목적지 가격 책정은 주소 두 개, 가격이 책정된 라인, 해당 기업의 제품 카테고리를 가지고 계정에 따라 샌드박스 또는 프로덕션 당국에 요청하는 방식으로 이루어지며, 당국이 거부한 주소는 인보이스 발행을 중단하지 않고 보고되어야 한다. 세율, 세금, 총액은 발행된 인보이스에 포함되어야 하고, 인보이스가 정산되면 해당 인보이스 번호로 당국에 매출이 신고되어 반환 내역이 일치해야 한다. 유럽 당사자 간의 인보이스에는 양측의 VAT 등록 번호가 모두 표시된다. 당국과 원장은 TAX_JAR_URL, PROD_TAX_JAR_URL, INFLUX_URL을 통해 이용할 수 있다.
엔지니어의 실제 업무 방식을 반영하기 위해 모델 단독 평가가 아닌 모델과 허네스의 조합을 네이티브 허네스를 사용하여 평가한다. 각 태스크는 워크플로우에 필요한 서비스만 노출하며, 각 에이전트는 격리된 샌드박스에서 실행되었다. 모든 태스크는 Harbor 형식이며, 채점 시점에 검증기가 주입된다. 검증기는 코드베이스의 기존 테스트 스위트를 영감으로 삼거나 해당 테스트를 그대로 사용한다.
평가 결과와 실패 분류 체계
전체 해결률은 백분율로 표시된다. 실패는 DeepSWE와 동일한 분류 체계를 사용하여 관찰된 제출 행동을 기준으로 그룹화되며, 실패 백분율은 모든 실행이 아닌 각 모델의 실패한 실행을 기준으로 한다.
차트의 각 사각형은 하나의 실행을 나타내며, 각 행은 태스크, 각 열은 시도를 의미하고 모든 모델에 대해 태스크당 8회의 시도가 진행된다. 주요 실패 유형에는 작업 공간에서 확인하는 대신 시스템에 대한 추측에 기반하여 빌드하는 경우, 지시사항이 요구하는 동작을 누락하는 경우, 올바른 아이디어이지만 주변 시스템에 잘못 연결하는 경우, 변경을 수행하면서 기존 동작을 깨뜨리는 경우, 일회성 스크립트처럼 실행 중인 애플리케이션이 전혀 호출하지 않는 곳에 변경 사항을 전달하는 경우가 포함된다.




