TL;DR
대부분의 기존 코딩 에이전트 벤치마크는 단일 턴·정적 평가에 의존하여 실제 사용자와의 상호작용에서 발생하는 요구 변화와 수정 비용을 반영하지 못했다. SWE-Together는 실제 사용자–에이전트 대화 기록에서 복원한 109개 레포지토리 수준 과제를 통해 상호작용 비용과 최종 정확도를 동시에 측정함으로써 에이전트의 실전 유용성을 더 직접적으로 계량할 수 있게 했다. 이 접근은 에이전트 능력뿐만 아니라 사용자 개입량(User Correction)과 시뮬레이터 충실도(Intent Coverage)를 분리하여 해석 가능하게 만들었다.
왜 중요한가
대부분의 기존 코딩 에이전트 벤치마크는 단일 턴·정적 평가에 의존하여 실제 사용자와의 상호작용에서 발생하는 요구 변화와 수정 비용을 반영하지 못했다. SWE-Together는 실제 사용자–에이전트 대화 기록에서 복원한 109개 레포지토리 수준 과제를 통해 상호작용 비용과 최종 정확도를 동시에 측정함으로써 에이전트의 실전 유용성을 더 직접적으로 계량할 수 있게 했다. 이 접근은 에이전트 능력뿐만 아니라 사용자 개입량(User Correction)과 시뮬레이터 충실도(Intent Coverage)를 분리하여 해석 가능하게 만들었다.
핵심 기여
109개 레포지토리 수준의 재현 가능 태스크 구축
실제 11,260개 세션에서 복원 가능한 변경과 명확한 사용자 목표를 가진 세션을 선별하여 109개의 실행 가능한 태스크로 변환했다. 각 태스크는 고정된 커밋, 실행 가능한 검증기, 원본 세션 기록 및 태스크별 시뮬레이터 프롬프트를 포함하여 로컬로 재현 가능한 패키지로 제공된다. 변환 파이프라인은 규칙 기반 필터링, LLM 기반 가용성 심사, 샌드박스 내 태스크 생성의 세 단계를 거쳐 결정론적 재현성을 보장했다.
상태 조건적·앵커 기반 LLM 사용자 시뮬레이터
시뮬레이터는 고정 세션 앵커(의도·트리거 조건), 최근 에이전트 턴 요약, 시뮬레이터 메모리를 결합해 각 체크포인트에서 단일 구조화된 행동(무작동, 질문, 리디렉트, 새로운 요구, 외부 검사)을 선택한다. 시뮬레이터는 원본 의도를 유지하면서 에이전트의 실시간 경로에 따라 개입 시점을 조정하여 재생 간 편차를 줄인다. 이러한 설계로 시뮬레이터 충실도와 에이전트-유도 보정 신호를 분리해 비교 가능성을 확보했다.
최종 저장소 상태 기반의 판정 루브릭과 상호작용 진단 지표 도입
태스크별로 Phase 1에서 고정된 목표와 가중치를 생성한 뒤 Phase 2에서 각 제출물에 대해 목표 충족 여부를 이진 판정해 가중합으로 점수를 계산했다(score = round(sum_g w_g I[g met], 2)). 상호작용 진단으로는 Intent Coverage(가중 복원율·범위 정밀도 결합)와 User Correction(N_correction + 0.2 * N_nudge)을 도입하여 시뮬레이터 충실도와 사용자 개입량을 분리 측정했다. 이 평가체계는 실행 증거와 인간-유사 피드백 비용을 동시에 포착한다.
109개 태스크와 7개 최신 모델 간 실험을 통한 성능·효율성 평가
opencode 하니스와 k=2 복제 설정으로 7개 전방위 모델을 평가하여 모델 간 순위, 안정적 해결률(SSR), pass@1, pass^2, MeanJudge, User Correction 및 비용(토큰·시간)을 보고했다. Claude Opus 4.8이 가장 높은 MeanJudge(0.801)와 낮은 평균 User Correction(1.38)을 기록했고 GPT-5.5는 효율성 측면에서 낮은 토큰 비용(29.9k)·짧은 시간(10.7m)을 보였다. User Correction과 성능 지표 간 강한 음의 상관관계(Pearson −0.92 등)가 확인되었다.
관련 Figure

이 패널은 최종 저장소 상태의 correctness를 결과 메트릭으로 두고, 시뮬레이터 충실도( Intent Coverage)와 에이전트가 유도한 보정량(User Correction)을 별도 진단으로 보고해 두 축을 분리하는 평가 설계의 핵심 논리를 시각적으로 요약한다. 해당 그림은 채점이 단순 실행 결과만으로 이루어지지 않고 시뮬레이터 행태를 진단해 비교 가능성을 확보하는 점을 강조한다.
최종 정확도와 상호작용 진단을 분리해 보고하는 패널을 보여주며 Intent Coverage와 User Correction의 역할을 요약한 Figure이다.
핵심 아이디어 이해하기
현실의 코딩 지원은 사용자가 요구를 점진적으로 드러내고 제약을 추가하며 잘못된 출력에 대해 교정하는 다중 턴 상호작용이다. 기존의 단일 턴·정적 평가 방식은 초기 명세가 완전하다는 가정 하에 에이전트를 판단하므로 실제 사용자가 제공하는 점증적 정보와 개입 비용을 반영하지 못했다. 결과적으로 동일한 최종 점수를 얻더라도 사용자 부담은 크게 달라질 수 있다. SWE-Together의 출발점은 이 격차를 줄이기 위해 실제 세션에서 복원 가능한 상호작용을 재현 가능한 태스크로 전환하고, 에이전트 출력 경로에 따라 시뮬레이터가 조건부로 개입하도록 설계하는 것이다. SWE-Together는 재현 가능한 태스크 패키지, 상태 조건적 사용자 시뮬레이터, 그리고 두 축(최종 저장소 정확도와 상호작용 비용)의 평가 프로토콜을 결합하여 문제를 해결한다. 구체적으로, 각 태스크는 샌드박스에서 고정 커밋을 클론하고 실행 가능한 검증기를 포함하며, 시뮬레이터는 원본 세션에서 유도한 트리거 조건을 앵커로 삼아 에이전트의 경로에 맞춰 피드백을 방출한다. 이 방식은 시뮬레이터 변동으로 인한 평가 편향을 줄이고 에이전트 성능 차이를 상호작용 관점에서 해석 가능하게 만든다. 이 접근은 두 가지 실용적 가치를 제공한다. 하나는 최종 저장소 상태의 행동적 완전성을 중심으로 한 판정 루브릭으로 서로 다른 구현 방식의 기능적 동등성을 비교할 수 있게 한 점이다. 다른 하나는 User Correction과 Intent Coverage 같은 상호작용 진단을 통해 에이전트가 동일한 점수를 얻더라도 사용자 개입량 또는 시뮬레이터 충실도에서 어떻게 다른지를 분리해 보여준다는 점이다. 이러한 분리는 연구자가 단순 성능 지표뿐만 아니라 사용자 경험 측면에서 모델을 평가하도록 유도한다.
방법론
세 단계의 세션→태스크 변환 파이프라인을 사용했다. 첫 단계는 규칙 기반 수집기로 다중 턴 상호작용, 코드 변경, 저장소 신호 등의 결정론적 필터를 적용해 후보 세션을 선별한다. 두 번째 단계는 LLM 기반 가용성 심사로 후보의 핵심 산출물이 로컬 환경에서 재구성 가능한지 판별하며, 외부 상태 의존성(배포·비밀키 등)이 있으면 탈락시킨다. 세 번째 단계는 호스트 샌드박스에서 타깃 리포지토리를 고정 커밋으로 체크아웃하고 로컬 설치·테스트 명령을 식별한 뒤 태스크 아티팩트(초기 사용자 명령, 검증기, 시뮬레이터 프롬프트)를 생성해 실행 가능한 패키지를 완성한다. 사용자 시뮬레이터는 각 체크포인트에서 고정 세션 앵커, 최근 에이전트 활동 요약, 시뮬레이터 메모리를 결합해 단일 구조화 행동을 결정한다. 행동 공간은 no-op, question, redirect, new-requirement, check-external으로 제한되어 있으며 무작동이 기본값이다. 이 설계는 시뮬레이터가 원본 의도와 개입 순서를 보존하되 에이전트의 실제 경로에 따라 메시지 타이밍을 조정하게 한다. 평가는 최종 저장소 상태의 행동적 완전성을 판정하는 agentic rubric과 상호작용 진단( Intent Coverage, User Correction)을 병행했다. 루브릭은 Phase 1에서 태스크별 목표와 가중치를 고정한 뒤 Phase 2에서 각 제출물의 목표 충족 여부를 이진으로 판정해 가중합으로 점수를 계산한다(score = round(sum_g w_g I[g met],2)). Intent Coverage는 원본 의도 대비 재현율과 범위 정밀도를 0.7/0.3 가중으로 결합해 계산하고 User Correction은 correction과 nudge를 각각 1과 0.2 가중으로 계수한다(UserCorrection = N_correction + 0.2 * N_nudge).
관련 Figure

이 도식은 시뮬레이터가 원본 세션 분석으로부터 의도와 개입 조건을 앵커로 보관하고, 각각의 에이전트 턴 후에 상태 조건을 평가해 무작동 또는 메시지 삽입을 결정하는 실제 의사결정 흐름을 나타낸다. 그림은 시뮬레이터가 타이밍, 에이전트 출력, 파일 변경, 이전 시뮬레이터 결정 등을 입력으로 삼아 반복적으로 판단함을 시각적으로 보여주어 평가 시 재현성과 편향 통제를 어떻게 확보하는지를 직접적으로 보강한다.
사용자 시뮬레이터가 고정 세션 앵커, 현재 턴 요약, 시뮬레이터 메모리를 결합해 체크포인트마다 한 가지 구조화된 행동을 선택하는 런타임 루프를 도식화한 다이어그램이다.
주요 결과
opencode 하니스와 k=2 복제 설정에서 7개 모델을 평가했고 주요 성능 지표로 pass@1, stable solve rate(SSR), pass^2, MeanJudge, User Correction, 토큰/시간 비용을 보고했다. Claude Opus 4.8이 MeanJudge 0.801, pass@1 63%, SSR 59%로 최상위를 기록했고 평균 User Correction은 1.38으로 가장 낮았다. GPT-5.5는 MeanJudge 0.763으로 2위에 해당하면서 토큰 효율성 측면에서는 평균 출력+추론 토큰 29.9k와 평균 시간 10.7분으로 가장 효율적인 코호트로 나타났다. 모델 성능과 User Correction 간 상관관계가 강하게 음의 상관을 보였다(Pearson −0.92 등), 즉 더 높은 성능 모델이 적은 교정 개입을 요구했다. Intent Coverage는 대체로 0.70~0.72 범위로 안정되어 시뮬레이터가 대체로 원본 의도를 일관되게 재현했음을 시사했다. 레퍼런스 기준은 93개 태스크에서 평균 점수 0.90, pass 약 78%를 보였으며 레퍼런스가 100% 미만인 이유로는 프로세스 요구사항, 추출 노이즈, 일부 불완전한 인간 솔루션의 존재가 확인되었다.
관련 Figure

그래프는 모델들이 더 높은 pass@1 또는 SSR을 보일수록 평균 User Correction이 낮아지는 경향을 보이며 Pearson 상관계수가 강한 음수임을 직관적으로 확인시킨다. 이 시각 증거는 논문 본문에서 보고한 통계적 상관관계를 보강하며, 성능과 사용자 개입 비용 사이의 트레이드오프가 모델 비교에 중요한 추가 축임을 실험적으로 뒷받침한다.
모델별 pass@1 및 안정적 해결률(SSR)과 평균 User Correction 간의 관계를 산점도로 표시한 그래프들로, 모델 성능과 교정 요구량의 음의 상관관계를 시각화한 결과이다.

이 그림은 성능(SSR)과 비용(시간/토큰)이 완전히 결부되지 않음을 보여준다. 일부 모델은 높은 성능을 얻는 데 더 많은 토큰을 소비하는 반면 다른 모델은 시간 대비 효율적으로 동작하는 사례가 있어 연구자가 운영 환경별 비용·성능 균형을 고려할 필요가 있음을 시사한다.
모델별 안정적 해결률(SSR)을 평균 wall-clock 시간 및 평균 출력 토큰 수와 비교한 두 개의 산점도로, 상위 성능·효율성 위치를 시각화한 Figure이다.
기술 상세
전체 아키텍처는 세 부분으로 구성된다: 세션 수집 및 필터, 태스크 생성 오케스트레이터, 평가 하니스와 시뮬레이터. 세션 수집기는 규칙 기반 필터로 다중 턴, 코드 변경, 저장소 신호를 요구하며 후보를 정제한다. 태스크 생성기는 샌드박스에서 타깃 리포지토리를 고정 커밋으로 체크아웃하고 로컬 설치·테스트 명령을 식별한 뒤 deterministic verifier와 태스크별 시뮬레이터 프롬프트를 생성한다. 이 과정은 호스트 상태 의존성을 제거하기 위해 격리된 샌드박스에서 실행된다. 시뮬레이터의 의사결정은 체크포인트마다 최근 에이전트 활동 요약(에이전트 액션, 출력 텍스트, 타이밍), 고정 세션 앵커(원본 의도·트리거 조건), 그리고 시뮬레이터 메모리를 입력으로 받는다. 입력을 통해 트리거 조건이 만족되면 시뮬레이터는 질문·리디렉트·새 요구·외부 검사 중 하나를 선택하거나 기본값인 no-op을 반환한다. 시뮬레이터 메시지에는 다중 라벨 태깅을 적용해 각 메시지의 communicative act를 분해하고 correction과 nudge에 다른 가중을 부여한다. 루브릭 기반 채점은 두 단계로 동작한다. Phase 1은 원본 세션 증거와 참조 패치를 검토해 목표 집합과 정규화된 가중치(w_g)를 고정한다. Phase 2는 각 제출물에 대해 목표별 충족 여부 I[g met]을 보고하고 최종 점수를 score = round(sum_g w_g I[g met], 2)로 계산한다. 이 분리는 채점 기준이 평가 대상 해법에 맞춰 변형되는 것을 방지해 교차 모델 비교 가능성을 유지한다. 실험 설정은 N=109 태스크, k=2 복제, 성공 임계값 τ=0.85를 사용했다. 보고된 지표에는 pass@1, SSR(평균 judge 점수에 임계값 적용), pass^2(모든 복제가 임계값 초과), MeanJudge(연속 점수 평균), User Correction 및 Intent Coverage가 포함된다. User Correction은 메시지별 라벨링으로 N_correction + 0.2 * N_nudge를 계산해 태스크별·모델별 평균을 취해 집계했다.
한계점
시뮬레이터는 에이전트 턴을 중단할 수 없고 직접 파일을 편집할 수 없으며 텍스트 기반 입력과 도구 출력에만 의존한다. 따라서 시각적 인터페이스, 라이브 서비스 상태 의존 작업, 또는 매우 개방형이고 모호한 사용자 목표를 포괄적으로 커버하지 못한다. 또한 태스크 선정 과정에서 고정된 기준을 사용해 전체 원본 세션 중 0.97%만 최종 109개로 남기는 고정밀 필터링을 적용했기 때문에 데이터셋은 보수적으로 구성된 고품질 사례에 치우쳐 있다.
실무 활용
SWE-Together는 실제 사용자 세션을 재생 가능한 태스크로 포장해 코딩 에이전트의 대화형 협업 능력과 사용자 개입 비용을 함께 측정할 수 있는 실무용 벤치마크를 제공한다. 평가 파이프라인과 샌드박스화된 태스크 패키지는 에이전트 개발자와 평가자들이 실험을 재현하고 비교 분석하기에 적합한 구조를 갖춘다. GitHub 저장소가 공개되어 있어 태스크 패키지와 구현 코드를 직접 활용할 수 있다.
- 코딩 에이전트의 상호작용 안정성 개선을 위한 모델 간 비교 실험에 사용 가능하다.
- 사용자 시뮬레이터를 장착한 에이전트 학습 또는 보상 설계 실험에서 학습 신호로 활용할 수 있다.
- 제품화 전 에이전트의 사용자 개입 요구량을 정량적으로 평가하여 UX 개선 우선순위를 정하는 데 적용 가능하다.
코드 공개 여부: 공개
코드 저장소 보기키워드
용어 해설
- User Simulator
- — 실제 사용자–에이전트 대화 기록을 바탕으로 상태 조건적 결정을 내려 후속 피드백을 재생하는 LLM 기반 구성요소로, 평가 시점에서 에이전트의 최근 응답, 저장소 변화, 이전 시뮬레이터 결정 등을 입력으로 하여 메시지 삽입 또는 무작동(no-op)을 선택하여 원본 의도를 보존하는 역할을 수행한다.
- Intent Coverage
- — 원본 세션에서 추출한 원자적 사용자 의도 집합에 대해 시뮬레이터가 재발화한 비율과 범위 준수도를 가중 결합하여 산출하는 지표로, 재현된 대화가 원래 사용자의 요구를 얼마나 완전하게 재현하는지를 평가하여 시뮬레이터 충실도를 진단한다.
- User Correction
- — 시뮬레이터 메시지별 태깅을 통해 명시적 correction과 약한 nudge를 계수하여 UserCorrection = N_correction + 0.2 * N_nudge로 계산한 값으로, 에이전트가 해결 과정에서 얼마나 많은 사용자의 개입을 요구하는지를 수치화하여 에이전트 품질과 연계하는 보조 측정치이다.
- Agentic Rubric
- — 각 태스크에 대해 Phase 1에서 고정된 행동 목표와 가중치를 산출하고 Phase 2에서 각 목표의 충족 여부를 이진으로 판단해 가중합으로 최종 점수를 산출하는 평가 기구로, 실행 증거와 저장소 검사를 결합하여 구현 세부가 다른 대체 해법도 동일 기준으로 비교 가능하게 만든다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.

