기술 가이드

SWE 벤치 및 코딩 에이전트 벤치마크

SWE-bench는 프로젝트 자체 테스트를 통과할 수 있도록 Python 코드베이스를 편집하여 AI 시스템이 실제 GitHub 문제를 해결할 수 있는지 테스트하는 벤치마크입니다.

  • 4분 읽기
  • 마지막 업데이트
이 페이지에서4분 읽기
  1. 개요
  2. 심층 분석
  3. 전략적 영향
  4. SWE 벤치 및 코딩 에이전트 벤치마크의 미래
  5. 실제 구현
  6. 위험 및 가드레일
  7. 구현 로드맵
  8. 계속 탐색하세요
  9. 자주 묻는 질문

개요

이는 코딩 에이전트에 대해 가장 많이 인용되는 측정값 중 하나이고 작업, 에이전트 스캐폴드 및 테스트 확인이 어떻게 작동하는지 모르더라도 점수를 쉽게 읽을 수 있기 때문에 중요합니다.

심층 분석

SWE-bench는 2023년 Princeton의 Carlos Jimenez와 동료에 의해 소개되었으며 ICLR 2024에서 게시되었습니다. 여기에는 Django, scikit-learn, Sympy, matplotlib 및 요청을 포함하여 널리 사용되는 12개의 Python 리포지토리에서 가져온 2,294개의 작업 인스턴스가 포함되어 있습니다. 각 인스턴스는 실제 GitHub 문제와 이를 해결한 풀 요청을 연결합니다. 테스트 중인 시스템은 수정 전과 마찬가지로 이슈 텍스트와 저장소를 받아 패치를 생성해야 합니다. 채점에서는 원래 풀 요청의 테스트를 사용합니다. FAIL_TO_PASS 테스트는 사람이 수정하기 전에는 실패하고 수정 후에는 통과되었으므로 문제가 해결되었는지 확인합니다. PASS_TO_PASS 테스트는 이전과 이후 모두 통과되었으므로 다른 문제가 발생하지 않았는지 확인합니다. 인스턴스는 이러한 사항이 모두 통과된 경우에만 해결된 것으로 간주되며 헤드라인 숫자는 해결된 비율입니다. 출시 당시 최고의 모델은 작업의 몇 퍼센트만 해결했습니다. 두 가지 하위 집합이 중요합니다. SWE-bench Lite에는 더 저렴하고 독립적으로 선택된 300개의 인스턴스가 있습니다. SWE-bench 작성자와 함께 OpenAI가 2024년에 출시한 SWE-bench Verified에는 유효한 솔루션을 거부하는 모호한 문제 설명이나 테스트를 제거하기 위해 인간 엔지니어가 선별한 500개의 인스턴스가 있습니다. 검증된 분할은 이제 가장 일반적으로 인용되는 분할입니다. 점수는 모델과 모델의 비계, 파일 탐색, 명령 실행 및 코드 편집을 가능하게 하는 프로그램을 반영합니다. 개방형 에이전트 루프 없이 현지화, 복구 및 검증을 수행하는 Princeton의 SWE-agent와 Agentless 파이프라인이 잘 알려진 예입니다. 동일한 모델이 다양한 비계에서 매우 다르게 점수를 매길 수 있습니다. 일반적인 오해: 원본 세트는 Python 전용이며 12개의 저장소를 포함합니다. 테스트를 통과한다고 해서 유지 관리 가능한 코드가 보장되는 것은 아닙니다. 저장소와 수정 사항은 공개되어 있으므로 오염이 가능합니다. 다중 시도 결과는 단일 시도 결과와 비교할 수 없습니다. SWE-bench Multilingual, SWE-Lancer 및 Terminal-Bench와 같은 관련 벤치마크는 다른 언어, 프리랜서 작업 및 명령줄 작업을 조사합니다.

전략적 영향

비용 및 예산

아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.

더 명확한 결정들

기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.

품질 관리

더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.

SWE 벤치 및 코딩 에이전트 벤치마크의 미래

SWE-bench Verified의 최고 점수가 상승함에 따라 벤치마크는 주요 시스템을 덜 명확하게 구분하고 더 새로운 문제, 더 많은 프로그래밍 언어, 더 긴 다단계 작업 및 비용 및 안정성 보고를 포함하는 새로운 작업 세트로 관심이 옮겨지고 있습니다. 소스 리포지토리는 공개되어 있어 최근 작업을 추가하는 벤치마크를 선호하기 때문에 오염은 지속적인 우려 사항입니다. 도구를 선택하는 팀의 경우 공개 리더보드가 출발점이 됩니다. 자체 코드베이스와 티켓에 대한 테스트 에이전트는 여전히 가장 신뢰할 수 있는 신호입니다.

실제 구현

작업은 잘못된 동작을 설명하는 Django 문제와 수정 전 커밋 시 저장소 체크아웃을 에이전트에 전달합니다. 에이전트는 패치를 작성해야 하며, 패치는 원래 사람이 수정한 내용이 통과되었는지 테스트를 통해 판단됩니다.

공급업체는 자체 에이전트 하네스와 작업당 여러 번의 시도를 사용하여 SWE-bench 검증 점수를 보고합니다. 구매자는 다른 공급업체의 번호와 비교하기 전에 단일 시도 결과인지 확인해야 합니다.

엔지니어링 팀은 자체 비공개 저장소에서 내부 SWE 벤치 스타일 세트를 구축하고 티켓을 해결하여 공개적으로 순위가 높은 에이전트가 실제로 코드에서 작동하는지 확인합니다.

연구원들은 JavaScript 프런트 엔드 프로젝트에서 문제가 발생하고 종종 시각적 버그의 스크린샷을 포함하는 SWE-bench Multimodal을 사용하여 Python 전용 원본으로는 측정할 수 없는 기술을 테스트합니다.

위험 및 가드레일

  • 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.

  • 인프라 및 유지 관리 비용은 종종 과소평가됩니다.

  • 시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.

구현 로드맵

  1. 구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.

  2. 현실적인 로드 및 데이터 조건에서 벤치마킹합니다.

  3. 오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.

  4. 확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.

계속 탐색하세요

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the SWE-bench and Coding Agent Benchmarks quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

퀴즈 시작

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

자주 묻는 질문

SWE-벤치 및 코딩 에이전트 벤치마크란 무엇입니까?

SWE-bench는 프로젝트 자체 테스트를 통과할 수 있도록 Python 코드베이스를 편집하여 AI 시스템이 실제 GitHub 문제를 해결할 수 있는지 테스트하는 벤치마크입니다. 이는 코딩 에이전트에 대해 가장 많이 인용되는 측정값 중 하나이고 작업, 에이전트 스캐폴드 및 테스트 확인이 어떻게 작동하는지 모르더라도 점수를 쉽게 읽을 수 있기 때문에 중요합니다.

SWE-벤치 작업은 시스템에 무엇을 요청합니까?

각 인스턴스는 실제 문제를 저장소 스냅샷과 짝을 이루며, 시스템은 이를 수정하는 코드 패치를 생성해야 합니다.

FAIL_TO_PASS 테스트란 무엇입니까?

수정 사항이 적용된 경우에만 통과하므로 문제가 실제로 해결되었음을 확인합니다.

PASS_TO_PASS 테스트의 역할은 무엇입니까?

이는 휴먼 픽스 전후에 통과되었으므로 에이전트 패치로 인해 발생하는 회귀를 방지합니다.

SWE-벤치 검증이란 무엇입니까?

Verified는 SWE 벤치 작성자와 함께 OpenAI에 의해 2024년에 출시되었으며, 과소 지정되었거나 유효한 솔루션을 거부하는 테스트를 거친 작업을 필터링했습니다.

SWE-bench Lite에는 몇 개의 인스턴스가 있습니까?

Lite는 더 저렴하고 독립적으로 작동하도록 선택된 300개의 인스턴스 하위 집합입니다.