SWE-Touch: 사용자가 코드를 건드릴 때 코딩 에이전트는 얼마나 버틸까
도입
기존의 저장소 수준 코딩 에이전트 벤치마크는 대체로 단순한 전제를 둔다. 에이전트가 정적인 코드베이스를 혼자 읽고, 버그를 고치고, 최종 패치가 통과하는지 평가한다는 것이다. 하지만 실제 개발 현장은 훨씬 동적이다. 사용자는 에이전트가 작업하는 동안 파일을 열어 보고, 임시 수정을 넣고, 때로는 에이전트가 수정하려던 핵심 코드까지 직접 바꾼다.
SWE-Touch는 바로 이 지점을 평가 대상으로 삼는다. 질문은 명확하다. 사용자가 같은 저장소를 수정했을 때, 코딩 에이전트는 현재 작업공간의 상태를 제대로 이해하고, 충돌을 조정하며, 목표 달성에 맞게 행동을 바꿀 수 있는가.
논문은 SWE-chat 데이터 분석에서 59%의 세션에 사용자가 작성한 저장소 변경이 포함되어 있었다고 설명한다. 즉, 공동 편집은 예외적인 상황이 아니라 코딩 에이전트가 실제 제품 환경에서 자주 마주칠 가능성이 높은 조건이다.
핵심 요점
- 정적 평가에서 공유 작업공간 평가로 이동: SWE-Touch는 에이전트가 혼자 고정된 코드베이스를 고치는 능력만 보지 않는다.
- Counter-Edit 주입: 과제 완료와 충돌하지만 작은 규모이고 그럴듯해 보이는 사용자 코드 변경을 삽입한다.
- 중요 코드 영역을 표적으로 삼음: 여러 수리 궤적에서 과제에 중요한 영역을 찾고, 별도의 User Patch Generator가 수정안을 만든다.
- 작업 중간에 문맥과 함께 삽입: 에이전트가 관련 코드에 도달했을 때 사용자 메시지와 함께 변경을 주입한다.
- 해결률 하락 확인: SWE-bench Verified에서 9개 코딩 모델의 평균 해결률이 7.7%포인트 낮아졌다.
결과가 보여주는 것
SWE-Touch의 핵심 메시지는 자율 수정 성능이 곧 협업 환경에서의 안정성을 의미하지 않는다는 점이다. 많은 에이전트는 사용자가 코드를 바꾼 뒤에도 이전에 관찰한 저장소 상태를 계속 전제로 삼는 경향을 보였다.
실패한 실행을 분석한 결과, 63.3%는 사용자의 충돌 코드를 그대로 남겨두었다. 이는 모델이 변경을 충분히 감지하지 못했거나, 감지했더라도 과제 목표와의 충돌을 해결하지 못했음을 시사한다.
성능 저하는 SWE-Bench Pro와 DeepSWE 같은 더 긴 작업에서도 지속되었다. 긴 작업일수록 파일 탐색, 부분 수정, 재검토 단계가 늘어나기 때문에 작업공간 상태가 모델의 내부 이해와 어긋날 가능성도 커진다.
또한 절제 실험은 성능 하락의 주된 원인이 동반된 메시지가 아니라 코드 변경 자체임을 보여준다. 문제는 단순히 사용자의 말을 이해하는 능력이 아니다. 에이전트는 저장소를 다시 점검하고, 사용자 수정이 목표와 충돌하는지 판단하며, 영향을 받은 동작을 테스트로 검증해야 한다.
의미와 영향
SWE-Touch는 코딩 AI 평가가 앞으로 어떤 방향으로 나아가야 하는지 보여준다. 실제 협업 환경에서 유용한 에이전트는 패치를 생성하는 것만으로는 부족하다. 파일 변경을 추적하고, 사용자 의도와 작업 목표 사이의 충돌을 조정하고, 수정 뒤의 동작을 검증할 수 있어야 한다.
제품 관점에서는 파일 변경 감시, 컨텍스트 갱신, 사용자 편집 처리, 충돌 시 재검증 절차가 중요해질 수 있다. 연구 관점에서는 정적인 리더보드에서는 잘 드러나지 않는 작업공간 인식과 적응 행동을 측정하는 새로운 스트레스 테스트로 볼 수 있다.
댓글
로그인 상태 확인 중…
댓글 불러오는 중…