벤치마크 · agentic

SWE-bench

9 결과 7 모델

SWE-bench는 AI 시스템이 실제 소프트웨어 버그를 고칠 수 있는지 평가하는 벤치마크로, GitHub의 인기 오픈소스 Python 저장소에서 2,294개의 실제 issue를 모아 모델이 코드를 수정하는 patch를 생성하도록 합니다. 핵심 지표는 해결한 issue의 비율입니다.

자세히 보기
예시
전형적인 항목은 Python 프로젝트에 실제로 등록된 버그 리포트나 기능 요청(예: Django나 scikit-learn의 issue)을 해당 저장소의 코드와 함께 모델에 제공하고, 문제를 해결하는 patch를 생성하도록 요구합니다.
채점 방식
점수는 2,294개 issue 중 해결한 비율입니다. 모델의 patch를 적용했을 때 그 저장소 자체의 테스트 스위트가 통과하는 경우에만 해당 issue가 해결로 집계됩니다.
검증 방식
검증은 완전히 자동입니다. 생성된 patch를 저장소에 적용하고 프로젝트의 실제 테스트를 실행하며, 목표로 한 실패 테스트가 통과로 바뀌고 기존에 통과하던 테스트도 계속 통과할 때에만 과제가 해결로 인정됩니다. 사람의 판단이나 정확 일치는 사용하지 않습니다.
왜 중요한가
장난감 같은 문제가 아니라 실제 코드에 대한 엔드투엔드 소프트웨어 엔지니어링 능력을 측정하기 때문에 코딩 에이전트의 발전을 보여주는 주목받는 지표입니다. 다만 헤드라인 수치로는 사람이 검증한 부분집합 SWE-bench Verified가 대체로 그 자리를 대신하게 되었습니다.
예제 풀이
문제
저장소 psf/requests. 한 사용자가, 세션의 기본 헤더를 제거하려고 request 헤더를 None 으로 설정해도 효과가 없어 값이 None 인 key가 삭제되지 않고 병합된 헤더에 남는다고 보고했습니다. 버그가 있는 commit 상태의 저장소와 이 issue가 주어졌을 때, requests.sessions.merge_setting 이 값이 None 인 key를 제거하도록 하는 patch를 작성하세요.
해답
--- a/requests/sessions.py
+++ b/requests/sessions.py
@@ -412,6 +412,11 @@ def merge_setting(request_setting, session_setting, dict_class=OrderedDict):
     merged_setting = dict_class(to_key_val_list(session_setting))
     merged_setting.update(to_key_val_list(request_setting))
 
+    # Remove keys that are set to None. Extract the keys first to avoid
+    # mutating the dictionary while iterating over it.
+    none_keys = [k for (k, v) in merged_setting.items() if v is None]
+    for key in none_keys:
+        del merged_setting[key]
+
     return merged_setting
풀이
세션과 request 딕셔너리를 병합한 뒤 None 을 가리키는 key는 기본값을 지우려는 request 수준의 명시적 재정의에서 온 것이므로, 수정은 그런 key들을 모아 삭제합니다(반복 중 딕셔너리를 변경하지 않도록 먼저 목록을 만듭니다). SWE-bench는 patch를 적용하고 해당 인스턴스의 FAIL_TO_PASS 및 PASS_TO_PASS 테스트를 실행해 채점하며, 모두 통과해야만 해결로 인정합니다.
0 21.5 43 64.5 86 2023-10-10 2024-11-01 2025-11-25 Claude 2 · 2.0 · 2023-10-10 Claude 3.7 Sonnet · 70.3 · 2025-02-24 Claude Sonnet 4 · 72.7 · 2025-05-22 Claude Sonnet 4 · 72.7 · 2025-05-22 Claude Opus 4 · 72.5 · 2025-05-22 Claude Opus 4 · 72.5 · 2025-05-22 Grok 4 Code · 75 · 2025-07-10 Qwen3-Coder-480B-A35B-Instruct · 55.4 · 2025-10-17 Claude Opus 4.5 · 80.9 · 2025-11-25
Claude 2 Claude 3.7 Sonnet Claude Sonnet 4 Claude Opus 4 Grok 4 Code Qwen3-Coder-480B-A35B-Instruct Claude Opus 4.5
타임라인
날짜 모델 점수 출처
2025-11-25 Claude Opus 4.5 80.9% Anthropic, 최첨단 코딩 및 컴퓨터 사용 기능을 갖춘 Claude Opus 4.5 출시
2025-10-17 Qwen3-Coder-480B-A35B-Instruct 55.4% 알리바바, 독점 모델 수준의 성능을 갖춘 오픈소스 코딩 모델 'Qwen3-Coder-480B-A35B-Instruct' 출시
2025-07-10 Grok 4 Code 75.0% xAI, 무거운 다중 에이전트 티어와 실시간 웹 데이터를 갖춘 Grok 4 출시
2025-05-22 Claude Sonnet 4 72.7% Anthropic이 ASL-3 안전 조치를 갖춘 Claude Opus 4와 Sonnet 4를 출시
2025-05-22 Claude Opus 4 72.5% Anthropic이 ASL-3 안전 조치를 갖춘 Claude Opus 4와 Sonnet 4를 출시
2025-05-22 Claude Opus 4 72.5% Anthropic, 확장된 사고와 도구 사용 기능을 갖춘 Claude Opus 4 및 Sonnet 4 출시
2025-05-22 Claude Sonnet 4 72.7% Anthropic, 확장된 사고와 도구 사용 기능을 갖춘 Claude Opus 4 및 Sonnet 4 출시
2025-02-24 Claude 3.7 Sonnet 70.3% Anthropic, 동적 추론 제어가 가능한 Claude 3.7 Sonnet 출시
2023-10-10 Claude 2 1.96% SWE-bench, 실제 GitHub 이슈에 대한 LM 평가 프레임워크 도입