코딩 에이전트가 작업 중 사용자가 코드를 직접 고쳐버리면 얼마나 무너지는지 실측한 벤치마크
arXiv:2608.024992026-08-02
SWE-Touch: Benchmarking Coding Agents When Users Touch the Code
코딩 에이전트가 작업 중 사용자가 코드를 직접 고쳐버리면 얼마나 무너지는지 실측한 벤치마크
SWE-Touch는 코딩 에이전트가 작업을 진행하는 동안 사용자가 실제로 코드를 수정하는 상황을 시뮬레이션하는 평가 틀이다. 작업과 충돌하는 그럴듯한 가짜 사용자 수정(Counter-Edit)을 에이전트가 자주 들여다보는 코드 위치에 끼워 넣고, 아홉 개 모델의 대응을 SWE-bench Verified 등에서 측정했다. 그 결과 평균 해결률이 7.7퍼센트포인트 떨어졌고, 강한 모델일수록 반드시 안정적인 것은 아니었다.
METAL MEDIA 해설 도표
SWE-Touch 평가 파이프라인
증거 상태측정 결과가 보고됨
핵심 영역 채굴세 개의 서로 다른 모델(GPT 5.5, GLM 5.1, MiniMax M2.7)이 만든 수정 궤적을 겹쳐서 작업에 중요한 코드 영역을 찾아낸다.
Counter-Edit 생성 및 검증별도의 User Patch Generator가 그 영역 근처에 그럴듯하지만 작업을 방해하는 코드 수정을 만들고, 단독으로는 안 풀리고 정답과 합쳐도 안 풀리는지 검증한다.
공유 워크스페이스 주입에이전트가 해당 코드에 접근할 때마다 최대 3회까지 이 가짜 사용자 수정과 자연어 메시지를 저장소에 실시간으로 끼워 넣는다.
결과 검증 및 실패 분석최종 코드를 테스트로 검증하고, 실패한 경우 사용자의 충돌 코드를 방치했는지, 잘못 대체했는지, 불완전하게 고쳤는지 등 7가지 유형으로 분류한다.
METAL MEDIA이 원문을 바탕으로 재구성한 해설 도표이며, 논문 저자의 원문 figure가 아닙니다.
무엇을 했나
기존 코딩 에이전트 벤치마크는 에이전트가 혼자 작업하거나 사용자 개입을 메시지로만 제한했는데, 실제 SWE-chat 대화 데이터의 59.0% 세션에서 사용자가 저장소를 직접 수정한 이력이 있었다.
여러 모델(GPT 5.5, GLM 5.1, MiniMax M2.7)의 정답 궤적을 겹쳐서 작업에 핵심적인 코드 영역을 찾아내고, 별도의 User Patch Generator가 그 근처에 그럴듯하지만 작업 완료를 방해하는 코드 수정(Counter-Edit)을 만들어 검증한다.
검증은 사용자 수정만으로는 작업이 풀리지 않고, 정답 패치는 원래 문제를 풀며, 둘을 합쳐도 여전히 풀리지 않는다는 세 조건을 확인하는 방식으로 이루어졌다.
평가 중에는 에이전트가 해당 코드 영역에 접근할 때마다 최대 3회까지 이 가짜 사용자 수정과 사용자 메시지를 저장소에 주입하고, 이후 에이전트가 어떻게 반응하는지 관찰한다.
SWE-bench Verified에서 아홉 개 모델을 평가한 결과 평균 해결률이 7.7퍼센트포인트 하락했고, 더 긴 작업인 SWE-Bench Pro와 DeepSWE에서도 성능 저하가 이어졌다.
Figure 1: Users and agents share a workspace in real coding sessions. (a) A user edit alters the repository state that subsequent agent actions observe and modify. (b) Our analysis of the released SWE-chat data [5] finds that 59.0% of sessions contain repository changes attributed to the user.
Table 1: Comparison of user interaction modes in coding-agent benchmarks.
Benchmark
Code
User
User
Codebase
Repair
Simulator
Messages
Edit
SWE-bench Verified
✓
✗
✗
✗
Ambig-SWE
✓
✓
✓
✗
HiL-Bench
✓
✓
✓
✗
SWE-Interact
✓
✓
✓
✗
SWE-Together
✓
✓
✓
✗
SWE-Touch (ours)
✓
✓
✓
✓
Figure 2: Overview of SWE-Touch. Agent trajectories identify task-critical regions; a separate generator constructs and validates task-conflicting edits; evaluation injects each edit and its contextual message into the shared workspace before task verification.
Table 2: Average patch size, shown as changed lines / files.
Source
Reference repair
Counter-Edit
Lines / files
Lines / files
SWE-bench Verified
13.3 / 1.20
7.0 / 1.04
SWE-Bench Pro
361.0 / 5.44
13.0 / 1.40
DeepSWE
730.2 / 7.24
10.8 / 1.52
Figure 3: Longer-horizon robustness under user edits on SWE-Bench Pro and DeepSWE: (a) cost–performance shifts and (b) sensitivity to edit frequency.
Table 3: Main results on SWE-bench Verified over three runs. Resolve is mean ± standard deviation; Steps and Tok. (K) are completed-task means, with tokens reported in thousands. Δ is Counter-Edit minus Vanilla; Retention is the share of majority-solved Vanilla tasks that remain majority-solved under Counter-Edit. (1) indicates mean resolve-rate ranking; Rank Δ shows the corresponding ranking change.
Vanilla
Counter-Edit
Δ
Retention
Rank
Model
Resolve
Steps
Tok. (K)
Resolve
Steps
Tok. (K)
Resolve
Steps
(%)
Δ
Claude Opus 4.8
85.2±1.8 (1)
24.5
367
83.3±0.6 (1)
30.9
506
-1.8
+6.4
96.0
–
GPT 5.5
80.5±1.0 (2)
33.2
1,344
79.2±0.6 (2)
31.3
1,141
-1.3
-1.9
95.0
–
GLM 5.1
72.7±2.0 (7)
55.0
1,007
68.3±0.8 (4)
64.5
1,272
-4.3
+9.5
83.3
↑3
MiniMax M2.7
76.5±1.5 (3)
45.3
865
62.7±2.4 (8)
47.7
904
-13.8
+2.4
78.1
↓5
MiniMax M2.5
75.7±3.3 (4)
45.1
863
66.2±1.0 (5)
47.5
908
-9.5
+2.4
78.3
↓1
Qwen 3.7 Max
75.2±1.0 (5)
29.9
420
70.3±0.8 (3)
31.1
424
-4.8
+1.2
90.3
↑2
Qwen3-Coder-480B
57.2±3.5 (9)
52.6
763
40.7±1.0 (9)
54.6
806
-16.5
+2.0
60.8
–
Kimi K2.6
70.3±2.0 (8)
62.5
1,381
64.3±3.4 (6)
62.1
1,296
-6.0
-0.4
87.2
↑2
DeepSeek V4 Pro
74.8±0.8 (6)
41.9
827
63.8±1.8 (7)
46.6
954
-11.0
+4.7
81.5
↓1
(b) Resolve rate under varying edit frequency (K) on two longer-horizon benchmarks.
Table 4: Mean resolve rates on SWE-Bench Pro and DeepSWE over two runs. Δ Res. is the change in resolve rate, and Δ Steps is the change in mean model calls per observed trajectory. Both differences are Counter-Edit minus Vanilla.
SWE-Bench Pro
DeepSWE
Model
Vanilla
Counter-Edit
Δ Res.
Δ Steps
Vanilla
Counter-Edit
Δ Res.
Δ Steps
Claude Opus 4.8
68.0
68.0
0.0
+7.5
56.0
46.0
-10.0
+9.9
GPT 5.5
38.0
38.0
0.0
+0.9
64.0
56.0
-8.0
+4.9
GLM 5.1
43.1
32.8
-10.3
+19.1
19.4
16.8
-2.5
+31.4
MiniMax M2.7
30.6
24.6
-6.0
+9.4
2.2
2.2
0.0
+27.6
MiniMax M2.5
32.6
24.6
-8.0
+20.4
0.0
0.0
0.0
+33.1
Qwen 3.7 Max
36.0
26.0
-10.0
−1.4
4.1
2.1
-2.0
+2.3
Qwen3-Coder-480B
20.0
14.0
-6.0
+0.7
0.0
0.0
0.0
+7.8
Kimi K2.6
50.0
48.0
-2.0
−4.7
18.0
12.0
-6.0
+0.2
DeepSeek V4 Pro
34.0
32.0
-2.0
+8.9
4.1
2.0
-2.1
−7.6
Figure 4: Failure analysis of solved-to-unresolved runs across nine models on SWE-bench Verified. (a) Overall distribution across seven failure types. (b) Per-model composition. (c) Percentage of failures in which the agent revises or removes the user edit before termination. Sample sizes and audit details are reported in Appendix D.
Table 5: Resolve rates for message, code-edit, and edit-frequency ablations on SWE-bench Verified. Δ is relative to the paired Vanilla run.
Intervention
GPT 5.5
GLM 5.1
MiniMax M2.7
Qwen 3.7 Max
Resolve
Δ
Resolve
Δ
Resolve
Δ
Resolve
Δ
Vanilla
81.5
–
70.5
–
76.5
–
74.0
–
Message (K=3)
79.5
-2.0
73.0
+2.5
76.5
0.0
77.0
+3.0
Code edit (K=3)
80.5
-1.0
66.5
-4.0
67.0
-9.5
71.5
-2.5
Both (K=1)
78.5
-3.0
72.0
+1.5
64.5
-12.0
71.5
-2.5
Both (K=3)
79.5
-2.0
69.0
-1.5
64.5
-12.0
71.0
-3.0
Both (K=5)
78.0
-3.5
69.0
-1.5
60.0
-16.5
69.0
-5.0
Figure 5: Post-edit behavior on a diagnostic sample from SWE-bench Verified. (a) Mean read, edit, and test commands issued after the final user edit. (b) Agent response mode to the user edit.
Table 7: List prices used to convert tokens into dollars in Figure 3(a), as displayed by the serving endpoint on 27 July 2026; OpenRouter rates are the promotional prices shown at that time. Cached input is charged at the input rate.
Model
Endpoint
In ($/M)
Out ($/M)
Claude Opus 4.8
Anthropic
5.00
25.00
GPT 5.5
OpenAI
5.00
30.00
GLM 5.1
OpenRouter
0.966
3.036
MiniMax M2.7
OpenRouter
0.24
0.96
MiniMax M2.5
OpenRouter
0.15
0.90
Qwen 3.7 Max
OpenRouter
1.475
4.425
Qwen3-Coder-480B
OpenRouter
0.22
1.80
Kimi K2.6
OpenRouter
0.646
2.72
DeepSeek V4 Pro
OpenRouter
0.435
0.87
Figure 6: Task-level outcome transitions from Vanilla to Counter-Edit on SWE-bench Verified. Arrows indicate the direction and magnitude of shifts between solved and unresolved states.
Table 10: Verifier outcomes under Vanilla and Counter-Edit, by model.
Van. solved
Van. unresolved
Model
kept
→unres.
→solved
kept
GPT 5.5
152
8
7
33
Claude 4.8
166
7
3
24
GLM 5.1
125
25
16
34
MiniMax M2.7
121
34
6
39
MiniMax M2.5
119
33
10
38
Qwen 3.7 Max
139
15
4
42
Qwen3-Coder
73
47
9
71
Kimi K2.6
123
18
9
50
DeepSeek V4
123
28
7
42
실제로 확인된 결과
아홉 개 모델 평균으로 Counter-Edit 조건은 Vanilla(혼자 작업)보다 해결률이 7.7퍼센트포인트 낮았고, 모델별로는 1.3~16.5포인트까지 손실 폭이 크게 갈렸다.
가장 강한 두 모델인 Claude Opus 4.8(85.2%→83.3%)과 GPT 5.5(80.5%→79.2%)는 순위와 성능을 거의 유지했지만, 중위권 모델들은 Vanilla에서 비슷한 성능이었어도 Counter-Edit 후 순위가 크게 바뀌었다(예: MiniMax M2.7이 3위에서 8위로 하락).
실패한 궤적을 감사한 결과 63.3%는 사용자의 충돌 코드를 그대로 방치했고, 13.9%는 잘못된 다른 구현으로 대체했으며, 11.6%는 불완전하게만 수습했다.
메시지만 보내고 코드는 바꾸지 않으면 영향이 작고 모델마다 제각각(-2.0~+3.0점)이었지만, 메시지 없이 코드만 조용히 바꾸면 모든 모델이 꾸준히 성능이 떨어졌다(-1.0~-9.5점).
해를 끼치지 않는 대조 수정(Co-Edit)을 넣었을 때는 평균 -0.1점으로 거의 영향이 없어, 문제의 핵심이 단순한 외부 개입이 아니라 작업과 충돌하는 코드 자체임을 보여줬다.
어디에 쓸 수 있나
실제 서비스에서 사용자가 코드 리뷰나 수동 수정을 병행하는 페어 코딩 도구의 에이전트 안정성 점검에 이 프레임워크를 활용할 수 있다.
에이전트가 사용자 수정 이후 재검증(테스트 재실행) 습관을 얼마나 갖추고 있는지 평가하는 체크리스트로 참고할 수 있다.
자율 코딩 리더보드 성능만으로 모델을 선택하기보다, 협업 상황에서의 견고성을 별도로 검토해야 한다는 근거로 쓸 수 있다.
한계와 남은 검증
평가는 SWE-bench Verified, SWE-Bench Pro, DeepSWE라는 특정 벤치마크의 샘플(각각 200개, 25개, 25개 과제)에 한정되어 있어 다른 도메인이나 언어로의 일반화는 검증되지 않았다.
사용자 메시지는 GPT-4o가 생성한 시뮬레이션이며, 실제 인간 사용자의 다양한 어투나 의도 표현과는 차이가 있을 수 있다.
Counter-Edit는 인위적으로 설계된 '작업과 충돌하는' 극단적 사례로, 실제 사용자 수정이 항상 이렇게 명확히 충돌하는 것은 아니다.
롱호라이즌 벤치마크에서는 영역 기반 트리거 대신 궤적 진행률 기준으로 편집을 주입해 방식이 다르며, 두 세팅 간 결과를 직접 비교하기는 어렵다.
해결 회복에 필요한 조건(충돌 인지, 올바른 재작성, 표적 테스트 검증)을 모두 만족하는 에이전트 설계는 아직 제안되지 않았고 향후 과제로 남아 있다.
왜 중요한가
코딩 에이전트가 실제 협업 환경에서 사람이 코드를 직접 바꾸는 상황을 견디지 못한다면 도입 현장에서 신뢰하기 어렵다. 이 연구는 정적인 벤치마크 순위와 실제 협업 환경에서의 안정성이 다른 축이라는 점을 보여줘, 에이전트 개발자와 도입 담당자 모두에게 새로운 평가 기준을 제시한다.
이 논문의 용어
Counter-Edit · 작업을 방해하도록 설계된, 그럴듯하지만 틀린 가짜 사용자 코드 수정
resolve rate(해결률) · 검증 테스트를 모두 통과한 작업의 비율
retention(잔존율) · 원래(Vanilla) 상태에서 다수결로 풀렸던 작업이 사용자 수정 후에도 여전히 풀리는 비율
User Patch Generator · 작업과 충돌하는 가짜 사용자 코드 수정을 만들고 검증하는 별도의 에이전트
공유 워크스페이스(shared workspace) · 사용자와 에이전트가 같은 저장소, 같은 파일, 같은 실행 상태를 함께 다루는 환경