터미널 기록을 실행 가능한 평가 환경으로 바꾸는 방법, Terminal-Universe가 보여준 것 | DAKER 커뮤니티

한 줄 답: 코딩 에이전트를 운영하는 팀이라면 로그를 얼마나 남길지보다, 그 로그를 나중에 다시 실행할 수 있는지가 더 중요해지고 있습니다 관련 일정 예: ; 2026년 9월 3일 17:41.
데이콘·DAKER 커뮤니티 기준으로 정리한 안내입니다.
코딩 에이전트를 운영하는 팀이라면 로그를 얼마나 남길지보다, 그 로그를 나중에 다시 실행할 수 있는지가 더 중요해지고 있습니다. 한 번 지나간 작업 기록이 단순한 보고서로 끝나면 학습과 평가에 쓰기 어렵지만, 실행 가능한 환경으로 되살릴 수 있다면 반복 검증과 내부 벤치마크의 출발점이 됩니다.
Terminal-Universe는 바로 이 지점을 겨냥합니다. 터미널 에이전트가 남긴 trajectory를 재사용 가능한 executable environment로 바꾸고, 그 환경을 다시 훈련과 평가에 연결하는 방식입니다. 코딩 에이전트의 성능을 높이려는 팀이라면 지금 읽어둘 만한 이유가 여기에 있습니다.
논문이 다루는 문제: trajectory와 environment의 차이
원문: https://arxiv.org/abs/2609.04148
논문: Terminal-Universe: Turning Agent Trajectories into Scalable Terminal Environments
저자: Jie Wu, Zhenru Zhang, Beichen Zhang, Xuwu Wang, Yuhui Su, Mouxiang Chen, Peng Wang, Zhihai Wang, Que Shen, Hao Zhou, An Yang, Fei Huang, Yujiu Yang, Dayiheng Liu
제출: 2026년 9월 3일 17:41:05 UTC
논문이 보는 핵심 문제는 trajectory와 environment가 다르다는 점입니다. 에이전트 trajectory는 한 번 실행된 시연에 가깝습니다. 반면 environment는 다시 질의할 수 있고, 여러 검증 가능한 과제를 만들 수 있으며, 실행 피드백도 제공합니다. 코딩 에이전트를 post-training하려면 단순한 대화 기록보다 실제로 실행되는 환경이 더 유용하지만, 이런 환경은 만들기 어렵고 충분하지 않습니다.
에이전트 기록은 읽는 보고서가 아니라 다시 실행할 수 있는 평가 환경으로 남겨야 합니다.
Terminal-Universe는 어떻게 환경을 복원하나
Terminal-Universe의 출발점은 기존 기록 안에 환경 복원의 단서가 이미 들어 있다는 관찰입니다. 에이전트가 어떤 파일을 읽고, 쓰고, 삭제하고, 테스트했는지가 남아 있다면 작업 전후의 workspace 구조를 어느 정도 되돌릴 수 있습니다.
논문에 따르면 기록된 file operation을 재생해 에이전트가 수정하기 전 각 파일 상태를 복원하고, completion agent가 누락 파일과 dependency를 채웁니다. 즉, 단순히 로그를 보관하는 데서 멈추지 않고, 그 로그를 기반으로 다시 실행 가능한 작업 공간을 만드는 방식입니다.
복원된 환경에서 과제를 다시 만든다는 점
이 접근이 흥미로운 이유는 원래 intent task만 되살리는 데 그치지 않기 때문입니다. 복원된 workspace를 바탕으로 새로운 과제도 합성합니다.
논문은 breadth 방향으로 관련 환경 사이의 directional dependency relation을 찾아 여러 codebase를 넘나드는 query를 만들고, depth 방향으로는 초기 single-turn query를 multi-round session으로 확장해 사용자 피드백과 요구사항 변경을 반영한다고 설명합니다. 실제 개발이 한 번의 요청으로 끝나지 않는다는 점을 훈련 환경에도 반영한 셈입니다.
논문이 보고한 수치
논문은 public terminal agent trajectory에 적용해 37.3k task-sufficient environment를 만들었다고 보고합니다. 또 이 corpus로 Qwen3.5-27B를 supervised fine-tuning했을 때 Terminal-Bench 2.1 single-round 성능이 11.9 points 개선됐고, EvoCode-Bench v2 MT@4 multi-round 성능은 13.8 points 개선됐다고 합니다.
단순히 로그를 많이 모으는 것보다, 실행 가능한 환경으로 바꾸는 과정이 더 강한 성능 신호를 만들 수 있다는 점이 이 논문의 핵심입니다.
빌더가 바로 볼 지점
이 논문이 팀에 던지는 질문은 분명합니다. 우리 코딩 에이전트 로그는 다시 실행할 수 있는가입니다. transcript만 남기면 학습이나 평가에 쓰기 어렵지만, 파일 snapshot, 명령, exit code, 테스트 결과, dependency 정보를 함께 남기면 같은 실패를 재현하거나 새로운 regression task로 바꾸기 쉬워집니다.
결국 자동화 로그 설계는 다음 학습 데이터 설계와 연결됩니다. 대화 내용만 저장하는 팀과 workspace 상태까지 함께 저장하는 팀은 나중에 만들 수 있는 평가 자산의 폭이 다를 수밖에 없습니다.
내부 적용에서 먼저 점검할 부분
원문은 실무적으로도 분명한 시사점을 줍니다. 작업 기록 형식을 점검해 repository 상태, 주요 파일 목록, 설치 명령, 테스트 명령, 실패 로그, 최종 diff처럼 재현에 필요한 정보가 함께 남는지 보는 것이 좋습니다. 민감한 토큰과 개인 정보는 저장하지 않아야 하지만, dependency와 명령처럼 재현에 필요한 정보는 충분히 남아야 합니다.
평가 관점에서도 의미가 있습니다. 이미 준비된 benchmark에 새 모델을 돌리는 방식만으로는 실제 서비스의 반복 실패를 충분히 반영하기 어렵습니다. 반대로 과거 실패 세션을 작은 실행 환경으로 복원하면, 같은 유형의 요구사항 변경을 여러 번 던져보는 내부 벤치마크를 만들 수 있습니다.
주의할 점: 복원 품질과 편향
논문이 제안하는 completion agent 방식은 누락 파일과 dependency를 채우는 데 유용하지만, 그 과정에서 편향이 생길 수 있습니다. 복원된 환경이 원래 환경과 다르면 평가가 쉬워지거나 어려워질 수 있기 때문입니다.
그래서 내부 적용에서는 원본 로그에서 확실한 부분과 보완된 부분을 구분해 보는 것이 중요합니다. 실행 가능한 환경을 만드는 목표가 로그를 보기 좋게 다듬는 일과 같아지면 안 됩니다.
또 terminal trajectory에는 파일 경로, 내부 패키지 이름, 환경 변수 이름, 테스트 데이터 일부가 들어갈 수 있습니다. 재사용 가능한 환경으로 바꾸기 전에 제거할 값과 보존할 값을 나누는 기준도 먼저 필요합니다.
작게 시작해 볼 수 있는 방식
팀 내부에서 시작할 때 꼭 큰 시스템이 필요한 것은 아닙니다. 과거에 실패한 에이전트 세션 몇 개만 골라도 어떤 정보가 부족한지 확인할 수 있습니다. 원본 repository 상태, 사용자 요청, 실행 명령, 실패한 테스트, 최종 수정 파일을 모아 같은 과제를 다시 주면 됩니다. 환경을 완전히 복원하지 못하더라도, 무엇이 빠졌는지가 다음 로그 포맷 개선안이 됩니다.
multi-round 평가도 함께 보는 편이 좋습니다. 실제 사용자는 처음부터 완벽한 요구사항을 주지 않고, 첫 결과를 본 뒤 추가 조건을 붙이거나 일부 조건을 바꾸곤 합니다. Terminal-Universe가 depth 방향으로 session을 확장하는 이유도 여기에 있습니다.
정리
이 논문은 로그를 많이 남기자는 이야기가 아닙니다. 다시 실행할 수 있는 형태로 남기자는 제안에 가깝습니다. 코딩 에이전트를 오래 운영할 계획이라면, 지금의 로그 스키마가 미래의 학습 데이터와 평가 환경으로 이어질 수 있는지 점검해 볼 만합니다.
원문은 아래 링크에서 확인할 수 있습니다.
https://arxiv.org/abs/2609.04148
출처
- https://arxiv.org/abs/2609.04148: https://arxiv.org/abs/2609.04148
- DAKER 대회 디렉터리: https://daker.ai/community?directory=competition