에이전트 실행 기록을 되감아 학습용 환경을 복원하는 Terminal-Universe

쌓여만 가는 터미널 에이전트 실행 기록을 거꾸로 재생해 실행 가능한 작업 공간으로 되살리고, 거기서 검증 가능한 새 과제를 합성하는 방법을 제안한 논문입니다.

왜 지금 이 주제인가

터미널에서 명령을 실행하며 코드를 고치는 에이전트가 늘면서, 이들이 남긴 실행 기록은 이미 수십만 건 단위로 쌓였습니다. 그런데 에이전트를 더 학습시키는 데 실제로 필요한 것은 기록이 아니라 돌아가는 환경입니다. 기록은 한 번 얼어붙은 시연에 그치지만, 환경은 같은 자리에서 새 문제를 계속 뽑아낼 수 있고 실행 결과로 정답 여부를 확인해 줍니다. 9월 3일 arXiv에 공개된 Terminal-Universe는 이 간극을 뒤집어 풉니다. 환경을 새로 짓는 대신, 이미 쌓인 실행 기록에서 환경을 되살립니다.

실행 기록을 되감아 작업 공간을 복원합니다

출발점이 되는 관찰은 단순합니다. 에이전트가 남긴 도구 호출 기록에는 어떤 파일을 읽고 쓰고 고쳤는지가 시간 순으로 들어 있습니다. 이 기록의 read, write, edit 연산을 순서대로 되짚어 재생하면 에이전트가 손대기 전의 파일 상태를 복원할 수 있고, 그 결과로 불완전한 작업 공간이 남습니다. 비어 있는 파일과 의존성은 별도의 완성 에이전트가 채웁니다. 이때 완성 에이전트는 정답 구현을 채워 넣지 않고 주변 맥락만 보충하도록 제한됩니다. 마지막으로 프로젝트 맥락이 충분한 작업 공간만 남기는 필터를 통과시킵니다.

복원한 공간에서 과제를 다시 뽑습니다

되살린 작업 공간에서는 원래 기록에 담겨 있던 의도를 복원한 과제뿐 아니라, 완전히 새로운 과제도 합성합니다. 저자들은 이 합성을 두 축으로 확장합니다. 넓이 축에서는 서로 관련 있는 환경들 사이의 방향성 있는 의존 관계를 찾아, 여러 코드베이스에 걸치는 교차 작업 공간 질의를 만듭니다. 실제 개발자가 하나의 저장소 안에서만 일하지 않는다는 점을 반영한 설계입니다. 깊이 축에서는 단발성 질의를 사용자 역할 에이전트가 개입하는 여러 라운드짜리 세션으로 늘려, 요구사항이 오가며 다듬어지는 상황을 담습니다.

검증기를 붙여 정답을 확인합니다

합성한 과제마다 전용 에이전트가 실행 가능한 검증기를 함께 작성합니다. 공개 인터페이스를 확인하는 pytest 스위트로 해답을 실행해 보고, 테스트를 통과한 것만 학습 데이터로 남깁니다. 여러 라운드짜리 세션에서는 마지막 결과만이 아니라 라운드마다 검증을 겁니다. 중간에 어긋난 세션이 그대로 학습에 들어가는 것을 막는 장치인데, 뒤의 절제 실험에서 이 장치가 성능에 직접 기여한다는 점이 확인됩니다.

결과

논문은 여섯 개의 공개 기록 모음에서 모두 359,593건의 원본 실행 기록을 모았고, 여기서 과제를 뽑기에 충분한 환경 37.3k개를 만들었다고 밝힙니다. 이 데이터로 Qwen3.5-27B를 지도 미세조정한 결과, 단일 라운드 지표인 Terminal-Bench 2.1에서 46.2%에서 58.1%로 11.9점 올랐고, 여러 라운드를 다루는 EvoCode-Bench v2의 MT@4에서는 6.3에서 20.1로 13.8점 올랐습니다. 확장 축별 절제 실험도 함께 보고합니다. 단일 작업 공간 과제만 쓰면 56.4%, 교차 작업 공간 과제를 더하면 58.4%였고, 다중 라운드를 더했을 때 MT@4는 18.4에서 21.0으로 올랐습니다. 라운드 단위 검증을 빼면 MT@4가 2.2점 떨어졌습니다.

의미와 한계

이 접근의 값어치는 데이터 병목의 위치를 옮겼다는 데 있습니다. 에이전트 사후 학습에서 비싼 것은 시연이 아니라 실행 가능한 환경이었고, 그 환경을 사람이 손으로 꾸리거나 저장소마다 빌드 스크립트를 짜는 일이 규모 확장을 막아 왔습니다. 이미 존재하는 기록을 원자재로 쓰면 이 비용 구조가 달라집니다. 같은 데이터 예산이라면 질의를 늘리거나 해답을 여러 개 뽑는 것보다 환경을 늘리는 쪽이 나았다는 보고도 이 해석과 맞아떨어집니다.

다만 짚어 둘 제약이 있습니다. 저자들 스스로 밝히듯 모든 작업 공간은 저장소별로 맞춘 환경이 아니라 표준 Ubuntu 24.04 컨테이너에서 돌아갑니다. 특수한 의존성이 필요한 프로젝트에서는 실제와의 거리가 벌어질 수 있습니다. 만들어지는 환경의 범위도 모아 온 원본 기록의 범위를 넘지 못합니다. 검증기와 해답을 한 계열의 모델이 만들어 내는 구조라, 그 모델이 못 보는 능력 공백이 그대로 데이터에 남거나 검증기 자체에 오류가 섞일 여지도 있습니다. 공개된 문서에서는 데이터와 코드의 배포 여부가 명시되어 있지 않아, 외부에서 그대로 재현하기까지는 시간이 더 필요해 보입니다. 이 부분은 추측입니다.

한 줄 정리

에이전트가 남긴 실행 기록을 되감아 실행 가능한 환경으로 되살리면, 학습에 쓸 검증 가능한 과제를 훨씬 싸게 늘릴 수 있다는 것을 보인 논문입니다.

출처

  1. Terminal-Universe: Turning Agent Trajectories into Scalable Terminal Environments (arXiv:2609.04148)
  2. Terminal-Universe 논문 전문 (arXiv HTML)
  3. Hugging Face Daily Papers - Terminal-Universe