SWE-Together: Evaluating Coding Agents in Interactive User Sessions
이 논문은 실제 사용자-에이전트 코딩 세션에서 유도된 멀티턴 벤치마크인 SWE-Together을 소개하며, 이는 리액티브(reactive) LLM 기반 사용자 시뮬레이터를 활용하여 최종 저장소의 정확성과 필요한 교정 피드백 턴 수를 기준으로 코딩 에이전트를 평가함으로써, 더 강력한 에이전트가 더 적은 개입으로 더 높은 성공률을 달성한다는 것을 밝혀낸다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 새로운 소프트웨어 엔지니어를 채용하고 있다고 상상해 보십시오. 과거에는 그들을 테스트하기 위해 완벽하게 작성된 10페이지 분량의 지침서를 건네며 이렇게 말하곤 했습니다. "이 기능을 만드세요." 그리고는 그들이 작업을 마칠 때까지 기다렸다가, 최종 코드를 살펴보고 점수를 매겼습니다. 코드가 제대로 작동하면 A를 주었고, 그렇지 않으면 F를 주었습니다.
문제점: 현실 세계는 그렇지 않습니다. 실제 업무에서는 완벽한 매뉴얼이 없습니다. 당신은 모호한 아이디어에서 시작하여, 엔지니어가 무언가를 만들면, 당신은 중요한 세부 사항을 빠뜨렸음을 깨닫고, 그들이 저지른 실수를 바로잡으며, 진행 도중에 목표를 명확히 수정하기도 합니다. 기존의 테스트들은 엔지니어가 이 복잡하고 상호적인 대화를 얼마나 잘 처리하는지를 측정하지 못했습니다. 그것들은 오직 최종 결과물만을 측정했을 뿐, 그 결과에 도달하기까지 얼마나 많은 '손길(hand-holding)'이 필요했는지는 무시했습니다.
해결책: SWE-Together
이 논문의 저자들은 SWE-Together라는 새로운 테스트 환경을 만들었습니다. 이것을 코딩 에이전트(AI 프로그래머)를 위한 "다시 플레이 가능한 비디오 게임"이라고 생각하십시오.
작동 방식은 다음과 같습니다.
1. 원천 자료: 실제 현장의 영상
연구진은 가짜 테스트 질문을 만들어내는 대신, 실제 세상에서 낚시를 했습니다. 그들은 실제 인간과 AI 코딩 어시스턴트 사이에 오간 11,260개의 실제 대화를 조사했습니다. 이 방대한 더미 중에서, 그들은 테스트에 적합한 109개의 특정 작업을 신중하게 선별했습니다.
- 필터링: 너무 복잡하거나, 목표가 불분명하거나, 재현할 수 없는 대화들은 버렸습니다. 인간의 목표가 명확하고, AI가 실제로 작업을 수행했으며, 결과를 확인할 수 있는 대화들만 남겼습니다.
2. "로봇 사용자" 시뮬레이터
이것이 가장 영리한 부분입니다. 새로운 AI를 테스트할 때, 단순히 예전 인간의 메시지를 그대로 재생할 수는 없습니다. 왜냐하면 새로운 AI는 다른 경로를 택할 수도 있기 때문입니다. 만약 새로운 AI가 다른 실수를 한다면, 예전 인간의 다음 메시지는 말이 안 될 수도 있습니다.
그래서 그들은 스마트 로봇 사용자를 만들었습니다.
- 작동 방식: 감독이 연극을 보고 있다고 상상해 보십시오. 감독은 원래의 인간이 무엇을 달성하고자 했는지 정확히 알고 있습니다. 새로운 AI 배우가 연기하는 동안, 로봇 사용자는 이를 지켜봅니다. 만약 AI가 경로를 벗어나거나 원래의 인간이라면 알아차렸을 지점을 놓친다면, 로봇 사용자가 개입하여 "잠깐, 제가 말한 것은 X였습니다" 또는 "Y를 잊으셨어요"라고 말합니다.
- 목표: 로봇 사용자는 원래의 인간처럼 행동하되, 새로운 AI의 성과에 맞춰 타이밍을 조절합니다. 이를 통해 모든 AI가 서로 다른 경로를 가더라도, 동일한 "의도(intent)"를 바탕으로 테스트받을 수 있도록 보장합니다.
3. 새로운 성적표
기존의 테스트에서는 단 하나의 점수만 받았습니다: 코드가 작동하는가?
SWE-Together에서는 두 부분으로 구성된 성적표를 사용합니다.
- 파트 A: 최종 성적 (정확도): AI가 요청받은 대로 결국 구축해냈는가?
- 파트 B: "손길" 점수 (사용자 교정): 이것이 핵심적인 혁신입니다. 그들은 로봇 사용자가 AI를 몇 번이나 교정해야 했는지를 계산합니다.
- 비유: 두 학생이 수학 시험을 보고 있다고 상상해 보십시오. 둘 다 정답을 맞혔습니다.
- 학생 A는 스스로 문제를 해결했습니다.
- 학생 B는 선생님이 세 번이나 힌트를 주고 주요 오류를 바로잡아 준 후에야 정답을 맞혔습니다.
- SWE-Together에서는 학생 A가 더 높은 점수를 받습니다. 왜냐하면 개입이 더 적었기 때문입니다. 논문에서는 이를 "사용자 교정(User Correction)"이라고 부릅니다.
- 비유: 두 학생이 수학 시험을 보고 있다고 상상해 보십시오. 둘 다 정답을 맞혔습니다.
연구 결과
연구진은 현존하는 가장 똑똑한 7개의 AI 모델을 테스트했습니다. 결과는 다음과 같았습니다.
- 똑똑한 AI는 도움을 덜 필요로 함: 명확한 패턴이 있었습니다. 더 "똑똑한" AI 모델(Claude Opus 4.8 등)은 더 높은 최종 점수를 받았고, 로봇 사용자로부터 받는 교정도 더 적었습니다. "약한" 모델들은 낮은 점수를 받았고, 로봇 사용자가 끊임없이 넛지(nudge)를 주거나 교정해야 했습니다.
- 로봇 사용자는 설득력이 있음: 그들은 인간이 로봇 사용자와 실제 인간을 구별할 수 있는지 테스트했습니다. 구별할 수 없었습니다. 시뮬레이션이 매우 정교하여 인간은 그 둘을 신뢰성 있게 구분해내지 못했습니다.
- 효율성: 어떤 모델은 더 빠르고 적은 "토큰(단어/컴퓨팅 자원)"을 사용하여 작업을 완료한 반면, 어떤 모델은 느리지만 더 정확했습니다.
결론
이 논문은 우리가 코딩 AI를 완벽한 정답지가 있는 필기 시험을 치르는 것처럼 테스트하는 것을 멈춰야 한다고 주장합니다. 우리는 그들이 실제 사무실에서 일하는 것처럼 테스트해야 합니다.
SWE-Together는 최고의 코딩 에이전트란 단순히 코드를 결국 고쳐내는 모델이 아니라, 모호한 지시를 듣고 이해하며, 인간이 끊임없이 "아니요, 제 말은 그 뜻이 아닙니다"라고 말할 필요 없이 스스로 실수를 바로잡을 수 있는 모델임을 증명합니다.
요약하자면: 이것은 AI가 단순한 코드 생성기가 아니라, 훌륭한 협업자가 되도록 보상하는 벤치마크입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.