PAUSE: 첫 소스코드 수정 직전에 플랜 한 번으로 코딩 에이전트 조종하기
PAUSE: Search-Free Steering of Coding Agents Before Their First Source-Code Edit
TL;DR Highlight
첫 코드 수정 직전 플랜 1회 주입으로 SWE-bench 해결률 최대 16.8%p 상승
Who Should Read
SWE-agent나 OpenHands류 코딩 에이전트를 돌리는데 실패 패치가 많고 감독용 모델 호출 비용이 부담스러운 개발자
Core Mechanics
- 첫 코드 수정 직전에 한 번만 개입
- 에이전트가 소스코드를 처음 고치려는 요청을 막고, 별도 Planner 모델이 만든 수정 계획을 대화에 붙인다.
- 같은 에이전트(Executor)가 기존 대화와 작업 공간을 그대로 가진 채 이어서 작업한다.
- 타이밍 찾는 데 비용이 안 든다
- 편집 도구 요청이고 대상 경로가 소스코드 경로면 그 순간이 개입 시점이다.
- 모니터 모델, 체크포인트 탐색, 추가 모델 호출이 필요 없어서 논문은 이를 search-free라 부른다.
- 에이전트는 수정 전에 한참 조사한다
- Qwen3-coder 500개 실행을 보니 첫 소스코드 수정은 진행도 중앙값 60%에서 나왔다.
- 그 앞 구간은 코드 읽기, 버그 재현, 테스트가 대부분이다.
- 주기적 감독과 비슷하고 훨씬 싸다
- SICA(주기적으로 궤적을 검토하는 감독자)와 해결률 차이는 통계적으로 유의하지 않았다.
- Planner 비용은 SICA의 약 11%(Verified), 15%(Multilingual)였다.
- Planner 성능이 결과를 좌우한다
- 에이전트와 같은 모델을 Planner로 쓰면 회복이 거의 늘지 않았다.
- 강한 모델일수록 실패 회복이 크게 늘었다.
- 실패한 실행도 재활용할 수 있다
- 기록된 실패 궤적을 수정 직전으로 되돌려 플랜을 넣고 이어서 돌린다.
- 처음부터 다시 돌리는 것보다 Executor 토큰이 적게 든다.
Evidence
- SWE-agent + Qwen3-coder, Planner는 GPT-5.6 Sol
- Verified 해결률 50.2%→65.0%(+14.8%p)이고 Multilingual은 28.3%→43.0%(+14.7%p)였다.
- OpenHands Verified는 45.4%→62.2%(+16.8%p), Pi는 37.0%→43.0%(+6.0%p)였다.
- LivePlan·SICA 비교(SWE-agent, Verified)
- LivePlan 61.8%(Planner 비용 $26.10) 대비 PAUSE 65.0%($26.13)이며 p=0.11로 유의하지 않았다.
- SICA 67.6%($231.71) 대비 PAUSE 65.0%($26.13)이며 p=0.18로 유의하지 않았다.
- 어려운 과제(Verified, 45개)
- 기본 Executor 11.1%에서 PAUSE는 26.7%로 올랐고 SICA는 17.8%였다.
- PAUSE Planner 비용은 $3.06, SICA는 $29.53이었다.
- 오프라인 회복(OpenHands, Qwen3-coder 실패 223건)
- GPT-5.6 Sol 플랜으로 79건(35.4%)을 회복했고 플랜 없이 이어서 돌리면 9건(4.0%)이었다.
- Executor 자신의 모델을 Planner로 쓰면 12건(5.4%)이었고, 처음부터 재시작 대비 resume은 전체 평가에서 Executor 토큰이 33–41% 적었다.
How to Apply
- 실패한 에이전트 로그로 플랜 프롬프트 돌려 보기
- 오늘 실패한 코딩 에이전트 실행 1건에서 첫 소스 수정 직전까지의 로그를 잘라낸다.
- 아래 프롬프트에 이슈와 로그를 넣어 플랜이 나오는지 확인한다.
- 편집 도구 호출 앞에 훅 달기
- 하네스에서 파일 편집 요청이 실행되기 전에 가로챌 수 있는지 확인한다.
- 대상 경로가 소스코드 경로(테스트·재현 스크립트 제외)일 때만 한 번 차단하고 Planner를 호출한다.
- Planner는 에이전트보다 강한 모델로 고르기
- Planner에는 도구와 작업 공간 접근 권한을 주지 않고 이슈와 사전 기록만 넘긴다.
- 에이전트와 같은 모델이면 효과가 작았으니 더 강한 모델로 A/B 비교한다.
- 실패 실행은 처음부터 말고 수정 직전부터 재개하기
- 실패 궤적에서 첫 소스 수정 전 마지막 think 지점으로 복원한다.
- 계획을 사용자 메시지로 추가하고 남은 예산으로 이어 돌린다.
Try It
# Claude나 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 도구 없는 Planner 역할)
당신은 도구 접근 없는 Planner입니다. 아래 이슈와, 코딩 에이전트가 첫 소스코드 수정 직전까지 남긴 기록만 읽고 수정 계획을 하나 작성하세요.
[이슈]
{{이슈 설명}}
[수정 전 기록: 읽은 코드, 실행 명령과 출력, 에이전트의 추론]
{{에이전트 로그}}
다음 세 가지를 자연어로 답하세요.
1. 가장 가능성 높은 근본 원인
2. 바꿔야 할 코드 위치
3. 의도하는 수정 내용과 그 이유
기록에서 확인되지 않은 부분은 가설이라고 표시하세요.
이어서 해 볼 것: 출력을 에이전트 대화에 사용자 메시지로 붙여 넣고, 같은 에이전트가 이어서 수정하게 해 보세요.Terminology
관련 논문
AI가 SRE를 대체하는 게 아니라 실력을 깎아먹는다
인시던트 95%를 AI에 맡기자 나머지 5%를 다룰 SRE의 실력이 녹슬 수 있다
Cursor Marketplace의 Claude Code 확장에 심어진 SSH 백도어
Cursor Marketplace의 변조된 Claude Code 확장이 SSH 백도어를 심었다
AI-native 엔지니어링 조직 만들기: FurtherAI 9개월 회고
배포 전 과정을 단계별로 자동화하자 엔지니어 1인당 일일 머지가 약 5배 늘었다
Minecraft·Mindustry에서 AI 에이전트 군집 50마리를 돌려 봤다
에이전트 50개를 Minecraft에 풀었더니 배급 장부와 관료제가 생겼다
Cursor Agent SDK 출시: 에이전트를 코드로 정의하고 한 줄로 배포
Cursor가 에이전트를 코드로 정의·배포하는 Agent SDK를 정식 공개했다
에이전트가 코드를 짜는 시대, 엔지니어가 여전히 알아야 할 것: 기초·폭넓은 지식·필요할 때 깊이 파기
에이전트가 짠 코드의 오너십은 기초, 폭넓은 지식, 즉시 깊이 파는 능력에 달렸다
AI가 일을 줄여준다더니, 이렇게 많이 일한 적이 없다
에이전트를 병렬로 돌렸더니 GitHub 활동이 엔지니어 시절 수준으로 돌아왔다
Corgi: 사람과 에이전트를 위한 터미널 멀티플렉서
여러 AI 에이전트의 상태를 한눈에 보는 tmux류 터미널 도구
Original Abstract (Expand)
Coding agents can invest substantial effort in repository exploration and testing yet still produce unsuccessful patches. Existing online steering methods review trajectories periodically or invoke an advisor when a monitor detects behavioral problems; frequent reviews are costly, and the absence of anomalous behavior does not mean that an agent is on the right track. We propose PAUSE, a framework for steering coding agents with a single planning intervention. Agents reach their first source-code edit at a median of 60% of trajectory progress, after exploration, bug reproduction, and testing. PAUSE intercepts this edit request before it executes, which requires no learned monitor, no search over checkpoints, and no extra model call (search-free). A separate Planner reads the task and the pre-edit transcript and writes one repair plan; the same agent, the Executor, resumes with this plan, keeping its context and workspace. PAUSE applies online, during a live run, and offline, from a recorded trajectory prefix. We evaluate PAUSE on SWE-bench Verified and SWE-bench Multilingual with two Executors and three agent harnesses. With Qwen3-coder as Executor and GPT-5.6 Sol as Planner, online steering improves resolution by 16.8% on Verified in OpenHands and by 14.7% on Multilingual in SWE-agent. In SWE-agent, PAUSE outperforms LivePlan, a rule-triggered advisor, by 3.2% on Verified and 3.7% on Multilingual at similar Planner cost, and is comparable to SICA's periodic overseer at about 11-15% of its Planner cost. Offline, PAUSE recovers 35.4% of eligible failed Verified tasks, and resuming from the recorded prefix uses 33-41% fewer Executor tokens than restarting.