---
title: "SWE-bench Sonnet"
source_type: web
source_url: https://www.anthropic.com/engineering/swe-bench-sonnet
date: 2026-02-10
tags: [swe-bench, claude-sonnet, ai-agent, software-engineering, benchmark]
---

# SWE-bench Verified에서 Claude 3.5 Sonnet의 성과

## 핵심 요약

Anthropic의 업그레이드된 Claude 3.5 Sonnet이 SWE-bench Verified에서 49%를 달성하며, 기존 최고 성능(state-of-the-art) 45%를 뛰어넘었다. 이는 AI 시스템이 실제 소프트웨어 엔지니어링 작업을 해결하는 능력에서 의미 있는 진전을 보여준다.

## SWE-bench란

SWE-bench는 모델이 실제 소프트웨어 엔지니어링 작업을 수행하는 능력을 평가하는 벤치마크(benchmark)다. 인기 있는 오픈소스 파이썬 저장소의 GitHub 이슈(issue) 해결을 테스트한다. 시스템은 이슈 해결 전 시점의 파이썬 환경과 저장소 체크아웃(checkout)을 제공하며, 모델은 코드를 이해하고 수정한 후 솔루션을 제출해야 한다. 채점은 원래 이슈를 닫은 풀 리퀘스트(pull request)의 실제 유닛 테스트(unit test)를 기준으로 한다.

중요한 점은 SWE-bench가 모델 단독이 아닌 전체 "에이전트(agent)" 시스템을 평가한다는 것이다. 여기서 에이전트란 AI 모델과 그 주변의 소프트웨어 스캐폴딩(scaffolding)의 조합을 의미한다. 동일한 모델이라도 스캐폴딩 품질에 따라 성능이 크게 달라진다.

## 에이전트 아키텍처

설계 철학은 최소한의 스캐폴딩으로 언어 모델에 최대한의 제어권을 부여하는 것이었다.

- 지나치게 규범적이지 않은 접근 방식을 제안하는 프롬프트(prompt)
- 명령 실행을 위한 Bash Tool
- 파일 조회 및 수정을 위한 Edit Tool
- 모델이 완료하거나 200k 컨텍스트(context)가 소진될 때까지 계속 샘플링

### 도구 설계의 중요성

도구 설명과 명세에 상당한 노력을 기울였다. 팀은 모델의 오해와 잠재적 함정을 파악하기 위해 광범위하게 테스트한 후 설명을 개선했다. "인간을 위한 도구 인터페이스 설계에 많은 관심을 기울이는 것과 마찬가지로, 모델을 위한 도구 인터페이스 설계에도 훨씬 더 많은 관심을 기울여야 한다"고 강조했다.

**Edit Tool**에서는 문자열 교체(string replacement) 방식이 가장 안정적이었다. 모델이 `old_str`과 `new_str`을 지정하면 정확히 하나의 매치(match)가 있을 때만 성공하는 방식이다.

## 성능 결과

| 모델 | SWE-bench Verified 점수 |
|------|------------------------|
| Claude 3.5 Sonnet (신규) | 49% |
| 이전 SOTA | 45% |
| Claude 3.5 Sonnet (구버전) | 33% |
| Claude 3 Opus | 22% |

## 에이전트 동작 패턴

성공적인 사례에서 모델의 접근 방식은 다음과 같았다:

1. 저장소 구조 탐색
2. 재현 스크립트(reproduction script) 작성
3. 스크립트 실행으로 오류 확인
4. 소스 코드 수정
5. 테스트 재실행으로 수정 검증

업그레이드된 Sonnet은 자기 교정(self-correction) 능력이 향상되어, 실수를 반복하는 대신 다양한 솔루션 접근법을 시도하는 모습을 보였다.

## 주요 개선 사항

오류 방지(error-proofing) 도구 설계가 일반적인 실수를 예방했다. 예를 들어, 절대 경로(absolute path)를 요구함으로써 에이전트가 디렉토리를 변경할 때 발생하는 상대 경로 실수를 방지했다.

## 확인된 과제

- **소요 시간과 비용**: 많은 성공적인 실행이 수백 턴(turn)을 필요로 하고 100k 토큰을 초과했다. 하지만 이런 끈기가 오히려 솔루션을 찾는 데 도움이 되기도 했다.
- **채점 복잡성**: 환경 설정 문제와 패치(patch) 적용 문제가 올바른 모델 동작을 가릴 수 있었다.
- **숨겨진 테스트**: 모델이 채점 테스트를 볼 수 없어 잘못된 성공 판단으로 이어지는 경우가 있었다. 일부 실패는 잘못된 추상화 수준(abstraction level)에서 문제를 해결하거나 유닛 테스트 기대치와 불일치하는 데서 비롯되었다.
- **멀티모달 한계**: 뛰어난 비전(vision) 기능에도 불구하고 파일시스템이나 URL 파일 뷰어를 구현하지 않아, 특히 Matplotlib 관련 작업에 영향을 미쳤다.

## 결론

Claude 3.5 Sonnet은 간단한 프롬프트와 범용 도구만으로 최첨단 결과를 달성했다. 연구진은 개발자들이 이 초기 시연 이상으로 SWE-bench 점수를 개선하는 더 나은 접근법을 발견할 것이라는 자신감을 표현했다. 이 결과는 도구 인터페이스 설계의 중요성과 모델에 자율성을 부여하는 최소 스캐폴딩 접근법의 효과를 입증한다.
