대규모 Docker 환경 기반 터미널 에이전트 궤적 생성

대규모 Docker 환경 기반 터미널 에이전트 궤적 생성
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

TerminalTraj 파이프라인은 GitHub 저장소에서 Docker 이미지와 검증 가능한 터미널 작업을 자동으로 구축·생성한다. 32 K개의 Docker 환경과 50 733개의 검증된 궤적을 확보했으며, Qwen2.5‑Coder 기반 모델을 fine‑tuning 하면 TerminalBench 1.0에서 35.30 %, 2.0에서 22.00 %의 성능을 달성한다.

상세 분석

본 논문은 터미널 기반 AI 에이전트 학습에 필수적인 ‘실행 가능성(Executability)’과 ‘검증 가능성(Verifiability)’을 동시에 만족하는 대규모 데이터셋 구축 방법을 제시한다. 기존 접근법은 (1) 규칙 기반 혹은 LLM‑생성된 시뮬레이션에 의존해 실제 실행 환경과의 격차가 크고, (2) 고품질 저장소를 별점이나 스타 수에만 의존해 필터링함으로써 환경 다양성이 제한되는 문제점을 가지고 있었다. TerminalTraj는 이러한 한계를 극복하기 위해 세 단계 파이프라인을 설계한다.

첫 번째 단계인 데이터 소스 수집에서는 899 741개의 GitHub 저장소를 대상으로 Dockerfile·빌드 스크립트가 포함된 레포를 우선 수집하고, 외부 데이터(이미지, CSV, 비디오 등)와 도메인‑특화 문서까지 크롤링한다. 여기서 핵심은 ‘리포지터리 품질 점수’를 예측하는 ScoreModel을 학습시켜, 파일 수준의 완전성·실행 가능성을 0‑1 사이의 점수로 정량화한다. 평균 점수가 0.2 이하인 레포는 배제함으로써 Docker 이미지 빌드 실패율을 크게 낮추면서도 언어·도메인 다양성을 유지한다.

두 번째 단계인 Docker 이미지 커레이션에서는 선정된 레포의 Dockerfile을 그대로 사용하거나, 도메인‑특화 툴이 누락된 경우 자동으로 의존성을 주입한다. 이 과정에서 32 325개의 Docker 이미지가 성공적으로 생성되었으며, 전체 레포 대비 빌드 성공률은 약 17 %에 머물렀지만, 이는 고품질 레포만을 대상으로 한 결과라 해석할 수 있다.

세 번째 단계인 인스턴스 생성에서는 동일 레포 내 .sh와 .md 파일을 쌍으로 활용해 LLM(Qwen3‑Coder‑480B)에게 ‘쿼리(사용자 요청)’와 ‘검증 코드(pytest 형태)’를 동시에 생성하도록 프롬프트한다. 검증 코드는 단순 정답 문자열이 아니라 실행 후 파일·프로세스·시스템 상태 변화를 검사하도록 설계돼, 에이전트가 실제로 올바른 부작용을 일으켰는지 확인한다. 이렇게 생성된 1 030 695개의 인스턴스 중 50 733개(≈4.9 %)만이 검증을 통과했으며, 이는 높은 정밀도와 낮은 허위 긍정률을 의미한다.

데이터를 활용한 실험에서는 Qwen2.5‑Coder 백본에 TerminalTraj 데이터를 fine‑tuning한 모델이 기존 Nex‑N1 기반 데이터 대비 TB 1.0에서 최대 20 %p, TB 2.0에서 10 %p 절대 성능 향상을 보였다. 특히 32 B 파라미터 모델(TerminalTraj‑32B)은 100 B 이하 모델 중 최고 수준인 35.30 %/22.00 %를 기록했으며, pass@k 스케일링에서도 7 B 대비 급격히 가파른 상승 곡선을 나타냈다. 이는 실행 기반 슈퍼비전이 모델의 추론 효율성을 크게 개선한다는 중요한 시사점을 제공한다.

전반적으로 이 연구는 (1) 모델 기반 레포 점수화로 지속 가능한 환경 스케일링, (2) 도메인‑특화 입력과 검증 코드를 통한 고품질 궤적 확보, (3) 실행‑기반 학습이 테스트‑타임 스케일링에 미치는 긍정적 효과라는 세 가지 핵심 인사이트를 제시한다. 향후 연구에서는 더 낮은 임계값으로 레포를 확대하거나, 멀티‑컨테이너·클라우드‑네이티브 환경을 포함한 복합 작업을 추가함으로써 데이터 다양성과 난이도를 더욱 강화할 여지가 있다.


댓글 및 학술 토론

Loading comments...

의견 남기기