핵심 요약
LLM이 실제 소프트웨어 엔지니어링 도구로 활용되려면 터미널 환경을 자유자재로 다루는 능력이 필수적이지만, 관련 학습 데이터는 매우 부족한 실정이다. 이 논문은 고품질 합성 데이터를 대량으로 생성하는 체계적인 파이프라인을 제시하여, 중소형 모델로도 거대 모델을 능가하는 터미널 제어 성능을 달성할 수 있음을 입증했다.
왜 중요한가
LLM이 실제 소프트웨어 엔지니어링 도구로 활용되려면 터미널 환경을 자유자재로 다루는 능력이 필수적이지만, 관련 학습 데이터는 매우 부족한 실정이다. 이 논문은 고품질 합성 데이터를 대량으로 생성하는 체계적인 파이프라인을 제시하여, 중소형 모델로도 거대 모델을 능가하는 터미널 제어 성능을 달성할 수 있음을 입증했다.
핵심 기여
Terminal-Task-Gen 파이프라인 구축
시드 데이터 기반 변환과 기술 분류 체계(Skill Taxonomy) 기반 생성을 결합하여 대규모 터미널 작업 데이터를 자동으로 생성하는 경량 파이프라인을 개발했다.
Terminal-Corpus 데이터셋 공개
터미널 에이전트 학습을 위해 구축된 대규모 오픈소스 데이터셋을 공개하여 관련 분야의 연구 가속화를 지원한다.
Nemotron-Terminal 모델군 개발
Qwen3를 기반으로 파인튜닝된 8B, 14B, 32B 모델을 선보였으며, 특히 32B 모델은 Terminal-Bench 2.0에서 480B 규모의 모델보다 우수한 성능을 기록했다.
터미널 특화 데이터 엔지니어링 전략 규명
데이터 필터링 시 실패한 경로를 포함하는 것이 모델의 강건성을 높이며, 커리큘럼 학습보다 단순 혼합 학습이 터미널 작업에서 더 효과적임을 실험적으로 증명했다.
핵심 아이디어 이해하기
기존 LLM은 텍스트 생성에는 능숙하지만 실제 터미널 환경에서 명령어를 실행하고 결과를 확인하며 문제를 해결하는 '행동' 능력은 부족하다. 이는 웹 데이터에 터미널 상호작용 기록이 거의 포함되어 있지 않아 모델이 명령어의 실행 결과나 오류 복구 과정을 학습할 기회가 없었기 때문이다. 이 논문은 이 문제를 해결하기 위해 기존의 정적인 코드/수학 문제를 동적인 터미널 시나리오로 변환하는 'Dataset Adaptation'을 도입한다.
단순한 변환을 넘어, 모델이 논리적 추론을 수행하도록 'Skill Taxonomy'를 설계했다. 이는 데이터 처리, 보안, 시스템 관리 등 9개 도메인의 핵심 기술 단위를 정의하고 이를 LLM이 조합하여 새로운 문제를 만들게 하는 방식이다. 이를 통해 모델은 단순한 명령어 암기가 아니라, 여러 기술을 엮어 복잡한 문제를 해결하는 고차원적인 능력을 습득하게 된다.
결과적으로 고성능 교사 모델이 생성한 해결 경로를 학습함으로써, 작은 규모의 모델도 터미널 환경의 문맥을 정확히 이해하고 적절한 명령어를 선택할 수 있게 된다. 특히 학습 과정에서 성공한 사례뿐만 아니라 실패 후 복구하는 과정까지 포함시켜 실제 환경에서 발생할 수 있는 다양한 변수에 대응할 수 있는 지능을 갖추게 했다.
방법론
Terminal-Task-Gen은 두 가지 상호 보완적인 방식으로 데이터를 생성한다. 첫째, Dataset Adaptation은 기존의 고품질 수학, 코드, 소프트웨어 엔지니어링 데이터셋을 터미널 환경에서 실행 가능한 프롬프트로 변환한다. 둘째, Skill-based Generation은 9개 도메인의 기술 분류표를 바탕으로 LLM이 스스로 새로운 시나리오를 창조한다. [도메인 및 기술 프리미티브 입력 → LLM의 시나리오 및 테스트 케이스 생성 → Docker 환경에서의 검증 결과 출력] 순으로 작업이 구성된다.
해결 경로(Trajectory) 생성에는 DeepSeek-V3.2를 교사 모델로 활용한다. 모델은 Docker 컨테이너 내부의 tmux 세션과 상호작용하며 명령어를 입력하고 출력값을 받아 다음 행동을 결정한다. [현재 터미널 상태 입력 → 교사 모델의 추론 및 명령어 생성 → 실행 결과 관찰 → 최종 성공 여부 판단] 과정을 거쳐 SFT 학습용 데이터를 확보한다.
데이터 정제 단계에서는 14-gram 중복 제거를 통해 테스트 데이터 오염을 방지한다. 특이한 점은 'No filtering' 전략의 우수성이다. [전체 경로 데이터 입력 → 필터링 없이 학습 → 모델의 오류 복구 능력 향상]의 인과관계를 확인했으며, 이는 실패한 시도들이 모델에게 현실적인 오류 상태와 복구 패턴을 가르치는 귀중한 학습 신호가 되기 때문이다.
학습 인프라로는 Harbor 프레임워크를 확장하여 대규모 병렬 실행 환경을 구축했다. 8B와 14B 모델은 32개의 GPU에서, 32B 모델은 128개의 GPU에서 학습되었으며, 32,768 토큰의 문맥 길이를 수용하기 위해 시퀀스 병렬화 기술을 적용했다.
주요 결과
Terminal-Bench 2.0 평가 결과, Nemotron-Terminal 모델군은 모든 크기에서 비약적인 성능 향상을 보였다. 8B 모델은 기존 2.5%에서 13.0%로, 14B 모델은 4.0%에서 20.2%로, 32B 모델은 3.4%에서 27.4%로 정확도가 상승했다. 특히 32B 모델은 파라미터 수가 15배 더 많은 Qwen3-Coder-480B(23.9%)를 앞지르는 성과를 거두었다.
도메인별 분석에서는 데이터 쿼리(Data Querying)와 모델 학습(Model Training) 분야에서 괄목할 만한 성장이 나타났다. Nemotron-Terminal-32B는 기존 모델이 0점에 그쳤던 데이터 쿼리 항목에서 60.0점을 기록하며 단순한 모델 크기보다 도메인 특화 데이터 엔지니어링이 터미널 능력 확보에 결정적임을 입증했다.
데이터 구성에 따른 Ablation Study에서는 소프트웨어 엔지니어링(SWE) 데이터와 기술 기반 합성 데이터(Skill-based)의 조합이 가장 효과적이었다. 합성 데이터만 사용했을 때보다 기존 벤치마크를 변환한 데이터를 섞었을 때 성능 편차가 줄어들고 모델의 강건성이 향상되는 결과가 관찰되었다.
기술 상세
Nemotron-Terminal은 Qwen3 모델을 베이스로 하며, 터미널 상호작용에 최적화된 SFT를 수행한다. 학습 시 AdamW 옵티마이저(beta=0.9, 0.95), 학습률 2e-5, 배치 사이즈 128 설정을 사용한다. 32,768 토큰의 시퀀스 길이를 기본으로 하며, 긴 경로 처리를 위해 YaRN2와 같은 문맥 확장 기법을 검토했으나 표준 설정이 가장 안정적인 성능을 보였다.
데이터 생성의 핵심인 'Skill Taxonomy'는 알고리즘(그래프 탐색 등), 시스템(프로세스 관리 등), 데이터 처리(파싱 등), 수학(통계 모델링 등), 테스트(검증 등), 웹/보안(인증 분석 등)의 6개 차원으로 구성된다. 각 도메인별로 특화된 생성 프롬프트를 통해 LLM이 3~5개의 기술 단위를 유기적으로 결합한 복합 작업을 생성하도록 유도한다.
실행 환경의 효율성을 위해 도메인별로 미리 빌드된 9개의 Docker 이미지를 사용한다. 이는 매 작업마다 Dockerfile을 새로 빌드하는 오버헤드를 제거하여 데이터 생성 속도를 획기적으로 높였으며, 에이전트가 런타임에 필요한 패키지를 직접 설치할 수 있는 유연성도 확보했다.
학습 데이터 믹싱 전략에서는 커리큘럼 학습(쉬운 데이터 우선)보다 모든 데이터를 한꺼번에 섞어서 학습시키는 방식이 터미널 벤치마크에서 더 높은 점수를 기록했다. 이는 터미널 작업의 특성상 기초 명령어와 복잡한 논리가 긴밀하게 얽혀 있어 분리 학습의 이점이 적기 때문으로 분석된다.
한계점
현재 시스템은 SFT 기반으로 구축되어 있어, 실행 피드백을 실시간으로 활용하여 스스로 오류를 수정하거나 장기적인 계획을 최적화하는 강화학습(RL) 단계의 도입이 향후 과제로 남아 있다.
실무 활용
터미널 환경에서 자율적으로 문제를 해결하는 AI 에이전트를 구축하려는 개발자와 연구자에게 즉시 활용 가능한 데이터셋과 모델을 제공한다.
- 자동화된 서버 모니터링 및 장애 복구 스크립트 작성 에이전트
- 복잡한 데이터 전처리 및 ETL 파이프라인의 자동 구성 및 실행
- 소프트웨어 빌드, 테스트, 배포 전 과정을 관리하는 CI/CD 자동화 도구
- 보안 취약점 스캔 및 패치 자동화를 수행하는 보안 에이전트
코드 공개 여부: 공개
코드 저장소 보기키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.