
SWE-bench 점수, 높은데도 에이전트를 바로 맡기면 안 되는 이유
SWE-bench 점수가 높다는 말은 “정해진 실제 이슈 묶음에서 패치를 통과시킬 가능성”을 보여 줄 뿐, 낯선 사내 저장소에서 안전하게 원인을 찾고 검토 가능한 변경을 낸다는 보증은 아닙니다. SchrodingerRepo는 저장소의 익숙한 이름과 구조를 흐리자 성능과 탐색 효율이 함께 떨어질 수 있음을 보고했습니다. 점수는 후보를 좁히는 신호이고, 배포 권한을 주는 면허는 아닙니다.
30초 요약
- SWE-bench는 코드베이스와 이슈를 받아 패치를 평가하는 중요한 기준입니다.
- 다만 인기 공개 저장소는 학습·벤치마크 과정에서 친숙한 단서가 남을 수 있습니다.
- SchrodingerRepo는 동작은 가급적 유지한 채 이름·경로·배치·코드 형태를 바꿔 그 의존도를 살핍니다.
- 도입 평가는 점수 하나 대신 낯선 코드, 비용, 테스트, 사람 검토를 함께 봐야 합니다.
SWE-bench 점수는 무엇을 말해 주고, 무엇을 비워 두나?
SWE-bench는 실제 GitHub 이슈와 코드베이스를 주고, 에이전트가 문제를 고치는 패치를 만들게 하는 벤치마크입니다. 공식 저장소는 SWE-bench Verified를 실제 소프트웨어 엔지니어가 해결 가능하다고 확인한 500개 문제 부분집합으로 소개합니다.
이 점수는 에이전트 후보를 비교할 때 분명 쓸모가 있습니다. 이슈를 읽고, 저장소를 탐색하고, 수정안을 만들어 테스트를 통과시키는 연결된 작업을 보기 때문입니다.
하지만 팀이 도입 순간 궁금한 것은 보통 다른 질문입니다. “우리의 낯선 모듈 이름과 예외적인 디렉터리 규칙에서도, 수정 범위를 설명하며 안전하게 일할까?”입니다. 벤치마크 점수 하나에는 이 질문의 전부가 들어가지 않습니다.
| 비교 대상 | 점수가 주로 보여 주는 것 | 운영에서 별도 확인할 것 |
|---|---|---|
| SWE-bench 계열 | 지정된 이슈·저장소에서의 패치 해결 | 낯선 내부 구조에서의 탐색과 설명 |
| 사내 파일럿 | 실제 권한·테스트·리뷰 흐름 | 변경 위험과 되돌리기 비용 |
| 운영 도입 | 지속적인 협업 품질 | 권한 경계, 로그, 사람 승인 |
즉, 높은 점수는 출발선의 비교 자료이지 운영 결론이 아닙니다.
SchrodingerRepo는 저장소에서 무엇을 지우나?
SchrodingerRepo는 평가에 들어가는 순간 저장소 표현을 동적으로 만들고, 원래 실행 동작은 가능한 한 보존하면서 에이전트가 익숙하게 알아볼 만한 표면 단서를 약화하는 연구 프레임워크입니다. 사무실에서 익숙한 서랍 라벨을 모두 바꿔 놓고도 필요한 문서를 찾을 수 있는지 보는 시험에 가깝습니다.
논문과 공식 저장소가 설명하는 변환은 네 단계입니다. 이들은 단순 난독화가 아니라, “문제 해결이 저장소 정체성에 기대고 있지는 않은가”를 분리해서 보려는 장치입니다.
- 문제·저장소 정체성 흔들기: 이슈 서술과 저장소를 알아보게 하는 표면 정보를 약화합니다.
- 네임스페이스·심볼·경로 재매핑: 함수·클래스·폴더의 익숙한 이름 연결을 흐립니다.
- 파일 내부 배치 재정렬: 같은 파일 안의 배치 규칙을 바꿔 위치 기억의 도움을 줄입니다.
- 기능 보존 코드 재작성: 동작은 유지하면서 구현 형태의 익숙함을 약화합니다.
핵심은 코드를 망가뜨리는 시험이 아니라, 같은 기능을 낯선 표면에서 찾게 하는 비교입니다. 공식 저장소는 레벨 3·4에서 전체 저장소를 다루는 full 경로와, baseline이 실제로 건드린 코드 주변을 변환하는 lite 경로를 구분합니다. 두 결과를 같은 난이도로 읽으면 안 되는 이유입니다.

단서가 줄면 왜 점수와 비용이 함께 흔들릴까?
논문은 SWE-bench Verified와 SWE-QA에서 친숙한 저장소 단서를 제거하면 여러 모델의 성능이 일관되게 낮아지고 상호작용 비용이 크게 늘었다고 보고합니다. 또한 늘어난 비용의 중심을 저장소 탐색과 결함 위치 추적으로 분석합니다.
여기서 곧바로 “높은 점수는 전부 암기”라고 결론 내릴 수는 없습니다. 논문이 제시하는 더 좁고 유용한 해석은 현재 평가에는 일반화된 추론과 친숙한 저장소 단서 의존이 함께 섞여 있을 수 있다는 것입니다.
예를 들어 에이전트가 parse_config라는 이름과 config/ 경로에서 곧바로 수정 지점을 찾았다면, 실제 작업에서는 빠른 탐색일 수 있습니다. 하지만 이름이 m7로, 경로가 다른 모듈로 바뀌었을 때 데이터 흐름과 테스트를 따라 같은 지점에 도달하는지가 더 강한 신뢰 신호입니다.
입력: “설정 병합 뒤 기본값이 사라진다” + 익숙한 공개 저장소
출력: 알려진 파일·심볼을 빠르게 찾아 패치 제안
입력: 같은 동작 문제 + 이름·경로·배치가 바뀐 저장소 표현
출력: 호출 관계, 테스트, 데이터 흐름을 따라 원인을 설명한 패치 제안
두 번째 입력에서 시간이 더 든다고 무조건 나쁜 에이전트는 아닙니다. 탐색 과정이 로그로 남고, 변경 가설과 테스트가 연결되는지가 실제 팀에는 더 중요할 때가 많습니다.
팀에서 이 평가를 어떻게 읽으면 좋을까?
SchrodingerRepo 자체를 당장 모든 팀이 돌릴 필요는 없습니다. 먼저 자사 코드에서 작은 블라인드 파일럿을 설계하면 됩니다. 공개 벤치마크 순위표를 제품 선택표로 그대로 복사하는 순간, 표가 너무 많은 일을 맡게 됩니다.
아래처럼 같은 이슈를 두 조건으로 비교해 보세요.
- 정상 사내 저장소에서 이슈 해결을 요청합니다.
- 복제본에서 비밀값·저작권 고지를 건드리지 않는 범위로 비핵심 명칭이나 위치 단서를 일부 바꿉니다.
- 두 조건에 같은 테스트, 시간 한도, 읽기 권한, 모델 설정을 적용합니다.
- 패치 통과 여부뿐 아니라 탐색 횟수, 수정 파일 수, 실패한 가설, 사람이 리뷰하는 시간을 기록합니다.
이 실험은 ‘에이전트를 속이는 일’이 아니라, 우리 코드에서 신뢰할 수 있는 작업 범위를 정하는 일입니다. 다만 변환 복제본은 실제 배포 경로와 분리하고, 자동 실행 권한·비밀값·외부 네트워크 권한은 처음부터 주지 않는 편이 안전합니다.
도입 판단은 어떤 순서가 현실적인가?
첫 단계는 읽기 전용 이슈 분류나 테스트 실패 요약처럼 되돌리기 쉬운 작업입니다. 다음으로는 브랜치에서 작은 패치를 만들게 하고, 마지막에만 사람이 diff와 테스트 결과를 보고 병합합니다.
SWE-bench 공식 도구도 Docker 기반의 재현 가능한 평가를 안내합니다. 같은 인스턴스를 다른 패치로 다시 평가할 때는 run_id를 바꿔야 캐시 결과를 잘못 재사용하지 않는다고 명시하므로, 사내 파일럿에서도 실행 식별자와 설정을 남겨 두는 습관이 필요합니다.
| 단계 | 맡길 작업 | 통과 기준 |
|---|---|---|
| 1 | 코드 읽기·원인 후보 정리 | 근거 파일·테스트를 링크하거나 설명 |
| 2 | 격리 브랜치의 작은 패치 | 기존·추가 테스트와 변경 범위가 일치 |
| 3 | 제한된 자동화 | 사람 승인, 롤백, 로그가 모두 존재 |
점수는 1단계 후보를 고르는 데 쓰고, 2·3단계의 증거로 권한을 늘리는 편이 안전합니다.

언제 이 관점이 특히 유용하고, 언제 과한가?
오래 공개된 프레임워크, 널리 쓰이는 라이브러리, 유명 오픈소스에 기대는 작업이라면 저장소 친숙성의 영향을 점검할 가치가 큽니다. 반대로 에이전트를 문서 요약이나 정형화된 코드 생성에만 쓰고, 병합 권한을 주지 않는 팀이라면 저장소 변환 실험까지는 과할 수 있습니다.
SchrodingerRepo는 단서 의존 가능성을 드러내는 평가 연구이지, 특정 에이전트의 실무 가치에 대한 단정은 아닙니다. 논문은 공개된 v1 연구이고, 이 글은 개별 모델의 수치 경쟁보다 평가 설계의 변화를 다룹니다.
작업 환경을 함께 정리한다면

낯선 저장소를 탐색할 때는 에이전트 출력과 테스트 로그를 나란히 보게 됩니다. 아래 도구는 그 기록을 정리하는 작업 환경용 후보이며, 에이전트 성능을 높인다고 주장하지 않습니다.

두 번째 도구는 같은 역할을 겹치지 않도록, 격리된 파일럿에서 남기는 테스트 산출물·실행 로그의 별도 보관 장면에 맞춰 골랐습니다. 실제 호환성·구성은 카드의 판매 정보에서 다시 확인하세요.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
출처
- SWE-bench 공식 저장소: https://github.com/SWE-bench/SWE-bench
- SchrodingerRepo 논문(v1, 2026-08-21 제출): https://arxiv.org/abs/2609.27891
- SchrodingerRepo 공식 저장소: https://github.com/cslsolow/Schrodinger-Repo
핵심 정리: 다섯 가지 질문과 답
Q. SWE-bench 고득점이면 사내 저장소에서도 바로 자동 병합해도 되나요?
아닙니다. 점수는 후보 비교에 쓰고, 사내 테스트·리뷰·롤백 조건을 통과한 뒤에 권한을 단계적으로 넓히는 편이 낫습니다.
Q. SchrodingerRepo는 코드를 일부러 망가뜨리는 도구인가요?
아닙니다. 논문과 공식 저장소는 실행 동작을 가능한 한 보존하면서 이름, 경로, 배치, 구현 형태의 친숙한 단서를 약화하는 평가를 설명합니다.
Q. 단서 제거 뒤 성능이 낮으면 암기만 했다는 뜻인가요?
그렇게 단정할 수 없습니다. 다만 친숙한 저장소 단서가 성능에 기여했을 가능성과, 탐색·위치 추적 능력을 따로 점검할 필요를 보여 줍니다.
Q. 우리 팀도 네 단계 변환을 전부 구현해야 하나요?
아닙니다. 먼저 격리된 복제본에서 작은 명칭·경로 단서 변화와 같은 테스트 조건을 비교하는 파일럿부터 시작할 수 있습니다.
Q. 에이전트 도입에서 가장 먼저 기록할 것은 무엇인가요?
패치 통과 여부와 함께 수정 파일 수, 테스트 결과, 실패한 가설, 사람 리뷰 시간을 남기면 다음 권한 결정을 설명하기 쉬워집니다.
'AI > AI 최신 기술' 카테고리의 다른 글
| WanPE 역구성 방식, 한 줄 영상 프롬프트가 샷 계획으로 바뀌는 이유 (0) | 2026.09.26 |
|---|---|
| 토큰 중첩 학습, 두 텍스트를 한 번에 예측해도 되는 이유와 멈춰야 할 지점 (0) | 2026.09.26 |
| JitMem, 에이전트 메모리를 저장할 때 요약하면 놓치는 단서 (0) | 2026.09.25 |
| GameHorizon 장기 행동 평가, 짧은 점수로 에이전트를 믿으면 놓치는 것 (0) | 2026.09.22 |
| RecreationWorld, 화면만 닮은 AI 앱을 멈추게 하는 동작 검증 (0) | 2026.09.21 |
댓글