여러 하네스의 성공 궤적을 일반 하네스용 학습 데이터로 다시 쓴다

Scaling Trajectories for Complex Tasks through Recursive Self-Rewrite

HF Daily2610.02826

Zongxia Li, Yucheng Shi, Zhongzhi Li2026-10-02

무엇인가

터미널 태스크를 푸는 에이전트의 성능은 모델 가중치만이 아니라 실행 하네스에 크게 좌우된다. 코딩 특화 하네스, 목표 지향 루프, StateM처럼 명시적 상태 전이를 관리하는 하네스는 서로 다른 부분집합의 문제를 푼다. 그래서 여러 하네스를 쓰면 같은 모델이 더 많은 문제를 풀 수 있고, 그 성공 궤적은 학습 감독으로 가치가 있다. 문제는 이 궤적들이 컨트롤러 개입, 태스크별 프롬프트, 워크플로 로직, 정지 규칙 같은 하네스 고유의 관습을 함께 담고 있다는 점이다. 그대로 모아 학습하면 배포 시점에 쓸 수 없는 외부 제어 패턴에 의존하게 된다.

어떻게 동작하나

Recursive Self-Rewrite(RSR)는 이 간극을 세 단계로 메운다. 먼저 Terminus 2, StateM, RSRT(Recursive Self-Reflect Terminus) 세 하네스로 같은 베이스 모델 Qwen-3.8-27B를 돌려 성공 궤적을 모은다. 다음으로 같은 모델을 planner, critic, executor 세 역할로 써서 궤적을 일반 하네스인 Terminus 2용으로 다시 쓴다. planner는 소스 궤적에서 하네스 제어 메시지를 걷어내고 태스크 지시·모델 행동·환경 관찰만 남긴 뒤, 최종 상태·핵심 마일스톤·검증 절차·복구 전략·흔한 함정을 담은 런북을 만든다. 완성된 결과물을 직접 주지 않도록 해 정답 전이를 줄인다.

무엇과 다른가

critic은 결정적 검사(스키마 검증, 알려진 아티팩트 제거, 지원되지 않는 도구 참조 거부)와 모델 기반 검사를 함께 쓴다. 모델 기반 critic은 공개 태스크 지시문과 후보 런북만 보고 verifier 누출과 솔루션 누출 여부를 판정하고, 탈락한 후보는 비평 피드백으로 재생성한다. 통과한 런북마다 executor가 새 샌드박스에서 일반 하네스로 태스크를 다시 푼다. 런북은 생성 중 비공개 지침으로만 쓰이고 공개 궤적에는 기록되지 않는다. 마지막으로 태스크나 환경에서 유도될 수 없는 값이 궤적에 있으면 숨은 정답 전이의 신호로 보고 그 데모를 버린다. 학습에는 태스크 지시·환경 관찰·모델 응답으로 이루어진 공개 상호작용 이력만 남는다.

어떻게 쓰나

실험 데이터는 자체 큐레이션한 약 3K 터미널 태스크다. SWR 약 2.5K개가 소프트웨어·생물·화학·물리·하드웨어·운영·보안 등 50개 이상 도메인을 덮고, 난이도를 높인 RST 태스크 420개를 더했다. 14,598개 롤아웃에서 성공 궤적 2,001개가 나왔고 759개 고유 태스크를 커버한다. 세 하네스의 합집합은 759개(25.9%)를 풀어 가장 강한 단일 하네스보다 194개, 상대 34.3% 더 많다. 단일 하네스만 푼 태스크가 288개(Terminus 2만 129, RSRT만 91, StateM만 68), 두 하네스가 푼 것 163개, 셋 다 푼 것 308개다. 롤아웃 수를 맞춘 1,247개 태스크 부분집합에서도 합집합은 352개(28.2%)로 RSRT 단독 대비 67개(23.5%) 많다. 도메인 커버리지도 개별 하네스가 49/46/42개인 반면 합집합은 51개다.

전제와 한계

RSR 재작성은 소스 성공 궤적마다 런북 후보 K=4개를 뽑고, 통과한 런북마다 온도 0.7에서 M=4회 새 실행을 돌린다. 총 12,893개 롤아웃, 975개 고유 태스크, 통과율 86%, 최종 11,094개 재작성 궤적을 얻었다. 학습 비교는 Base, Direct SFT(하네스 고유 표현만 제거한 소스 궤적 직접 학습), RSR(검증된 재작성 + Terminus 2 직접 통과 766개) 세 그룹으로 했다.

결과는 pass@3 기준 Terminal-Bench 2가 57.0%에서 74.2%로, Terminal-Bench 4가 1.5%에서 9.1%로, 자체 큐레이션 Terminal-Bench Hard가 39.0%에서 63.0%로, Software Terminal-Bench가 3.0%에서 6.0%로 올랐다. Long-Horizon Terminal-Bench의 프로세스 리워드는 0.21에서 0.29가 됐다(Direct SFT는 0.25). Direct SFT 대비 pass@3 이득은 TB2 +20.8, TB3 +4.1, TB4 +4.6, TBH +7.0, SWR100 +3.0%p이고, 평균 런당 통과율 이득은 26.3, 5.4, 2.9, 11.5, 2.0%p다. Direct SFT는 TBH +17.0%p, TB3 +5.4%p, TB4 +3.0%p로 Base를 앞섰지만 TB2에서는 3.6%p 하락했고 평균 런당 통과율도 51.7%에서 43.8%로 떨어졌다. 저자들은 RSRT가 만든 100스텝 넘는 긴 궤적을 27B 모델이 지속 실행 지원 없이 흡수하기 어렵다고 본다. 사례 연구에서는 Markdown 인라인 파싱이 12개 재작성 중 7개 통과(58.3%)했고 통과 재작성의 중앙값이 32턴으로 소스 64턴 대비 50% 줄었으며, OpenFOAM PitzDaily는 8개 중 7개 통과(87.5%), 중앙값 29턴이었다. 같은 런북을 쓴 재작성끼리는 정확한 명령 겹침과 명령 순서 유사도가 더 높았지만(예: Markdown 19.1% 대 12.1%), 워크플로 수준 유사도는 태스크에 더 좌우됐다. 학습 없는 하네스 비교에서도 StateM이 TB2에서 가장 높은 pass@1을 냈다.

개발자 관점에서 이 논문은 하네스 교체로 성능을 올리는 접근과 파라미터 학습을 연결하는 레시피다. 에이전트 궤적을 SFT 데이터로 쓸 때 하네스 고유 제어 메시지와 정답 누출을 걷어내고, 재작성 단계에서 새 샌드박스로 다시 풀게 해 현재 환경 기반 궤적만 남기는 절차를 참고할 만하다. 추론 시에는 소스 하네스나 비공개 런북 없이 일반 하네스만으로 동작해야 하므로, 계획·검증·복구·지속 실행이 모델 자체에서 나오는지 확인해야 한다.

한계도 분명하다. Long-Horizon Terminal-Bench에서 세 그룹 모두 46개 태스크 중 0개를 완수했기 때문에 0.29라는 상승은 완전 해결이 아니라 부분 진전을 반영한다. RSRT와 StateM은 하네스 복잡도 때문에 샌드박스 오류가 더 많아 롤아웃 수가 적었고, 같은 런북으로도 통과와 실패가 갈렸다. 저자들은 RSR이 단일 하네스를 최적화하거나 자율 재귀 사이클을 가정하는 방법이 아니라고 명시한다.