핵심 요약
LLM 에이전트가 사용하는 '스킬'은 현재 단순한 텍스트 프롬프트로 취급되어 모델이나 환경이 바뀌면 오작동하는 경우가 많습니다. 이 논문은 스킬을 '코드'로, LLM을 '프로세서'로 정의하고 전통적인 컴파일러 구조를 도입하여 에이전트의 실행 안정성과 효율성을 획기적으로 개선했습니다.
왜 중요한가
LLM 에이전트가 사용하는 '스킬'은 현재 단순한 텍스트 프롬프트로 취급되어 모델이나 환경이 바뀌면 오작동하는 경우가 많습니다. 이 논문은 스킬을 '코드'로, LLM을 '프로세서'로 정의하고 전통적인 컴파일러 구조를 도입하여 에이전트의 실행 안정성과 효율성을 획기적으로 개선했습니다.
관련 Figure

어셈블리, 고수준 언어를 거쳐 현재의 자연어 기반 '스킬' 시대로의 진화를 설명한다. SkVM이 자연어 프로그램(스킬)을 위한 컴파일러 및 런타임 역할을 수행함을 시각화한다.
프로그래밍 추상화의 진화 단계와 SkVM의 위치를 보여주는 다이어그램
핵심 기여
스킬 실행을 위한 가상 머신 SkVM 제안
이기종 LLM과 에이전트 하네스 환경에서 스킬의 이식성과 효율성을 보장하기 위해 사전 컴파일(AOT) 및 실시간 최적화(JIT)를 결합한 시스템을 설계했다.
역량 기반 컴파일 기법 도입
스킬의 요구 사항을 26개의 원시 역량(Primitive Capabilities)으로 분해하고, 대상 모델의 역량 프로필에 맞춰 스킬을 자동으로 변환하거나 보완하는 메커니즘을 구현했다.
JIT 코드 고정 및 적응형 재컴파일
런타임에 반복되는 코드 패턴을 감지하여 LLM 추론을 우회하는 실행 파일로 변환(Code Solidification)하고, 실행 실패 로그를 분석해 스킬을 스스로 개선하는 기능을 갖췄다.
다양한 병렬성 추출을 통한 성능 향상
데이터 수준(DLP), 인스트럭션 수준(ILP), 스레드 수준(TLP)의 병렬성을 스킬에서 추출하여 에이전트 하네스에 매핑함으로써 실행 속도를 최대 3.2배 향상시켰다.
핵심 아이디어 이해하기
기존의 LLM 에이전트 스킬은 단순한 자연어 지시문 뭉치로 취급되어, 모델의 성능이 낮거나 실행 환경(하네스)이 달라지면 지시사항을 무시하거나 환경에 없는 도구를 호출하는 등 취약성을 보였다. 이는 마치 하드웨어 특성을 고려하지 않고 작성된 기계어 코드를 서로 다른 CPU에서 실행하려는 것과 같은 문제이다.
SkVM은 이 문제를 해결하기 위해 스킬을 '고수준 언어'로, LLM을 '이기종 프로세서'로 간주한다. 먼저 스킬이 요구하는 기능을 원자 단위의 역량(예: 복잡한 파이프라인 처리, 특정 라이브러리 호출 등)으로 정의한다. 그 다음, 대상 모델이 해당 역량을 얼마나 갖췄는지 마이크로 벤치마크로 측정하여 '역량 프로필'을 생성한다. 만약 모델의 역량이 부족하면 컴파일러가 더 쉬운 단계로 지시문을 풀어서 설명하거나(Compensation), 아예 다른 도구를 사용하도록 코드를 교체(Substitution)한다.
또한, 스킬 실행 과정에서 반복적으로 생성되는 정형화된 코드 패턴을 포착한다. LLM이 매번 동일한 구조의 코드를 생성하느라 토큰과 시간을 낭비하는 대신, 이를 템플릿화된 실행 함수로 고정(Solidification)하여 다음 호출부터는 LLM 추론 없이 즉시 실행한다. 이를 통해 비결정적인 자연어 실행 환경에 결정적인 소프트웨어 공학적 안정성을 부여한다.
방법론
SkVM은 크게 사전 컴파일러(AOT Compiler)와 런타임 및 JIT 최적화 도구(Runtime & JIT Optimizer)로 구성된다. AOT 컴파일러는 설치 시점에 세 가지 패스를 수행한다. 첫째, 역량 기반 컴파일(Capability-Based Compilation) 패스에서 모델-하네스 쌍의 프로필을 분석하여 스킬 변체를 생성한다. 둘째, 환경 바인딩(Environment Binding) 패스에서 필요한 패키지나 도구의 의존성을 확인하고 설치 스크립트를 생성한다. 셋째, 병렬성 추출(Concurrency Extraction) 패스에서 스킬의 워크플로우를 DAG(Directed Acyclic Graph)로 변환하여 병렬 실행 가능 지점을 식별한다.
런타임 시스템은 작업이 입력되면 적절한 스킬 변체를 선택하고 실행한다. JIT 최적화 도구는 실행 이력을 모니터링하며 두 가지 최적화를 수행한다. 적응형 재컴파일(Adaptive Recompilation)은 반복적인 실패가 감지될 때 실패 로그를 컴파일러에 피드백하여 스킬을 수정한다. 코드 고정(Code Solidification)은 LLM이 생성한 코드가 사전에 정의된 코드 시그니처와 일치하는지 검증하고, N번 이상 일치하면 이를 호출 가능한 함수로 승격시켜 LLM 추론 과정을 생략한다.
자원 인식형 스케줄러(Resource-Aware Scheduler)는 컴파일 타임에 추출된 병렬성 주석과 현재 시스템의 CPU, 메모리, API 레이트 리밋 상태를 비교하여 서브 에이전트의 실행을 동적으로 조절한다. [현재 자원 사용량 입력 → 임계치 비교 연산 → 실행/일시정지 결정 출력] 과정을 통해 자원 경합으로 인한 에이전트 실패를 방지한다.
관련 Figure

설치 시점의 3단계 컴파일 패스와 실행 시점의 변체 선택, JIT 최적화, 자원 스케줄링 과정을 상세히 보여준다. 시스템의 전체적인 동작 메커니즘을 이해하는 데 핵심적인 도식이다.
AOT 컴파일러와 런타임 및 JIT 최적화 도구로 구성된 SkVM의 전체 아키텍처
주요 결과
8개의 LLM과 3개의 에이전트 하네스를 대상으로 한 실험에서 SkVM은 작업 완료율을 평균 15.3% 향상시켰다. 특히 성능이 낮은 모델일수록 개선 폭이 컸으며, BareAgent 환경의 Qwen3-30B 모델에서는 기존 대비 25% 이상의 성능 향상을 보였다. 또한, 불필요한 오류 수정 루프를 줄임으로써 SOTA 모델인 DeepSeek-V3.2 기준 최대 40%의 토큰 소비 절감 효과를 거두었다.
성능 면에서는 병렬성 추출을 통해 최대 3.2배의 실행 속도 향상을 달성했다. 특히 코드 고정(Code Solidification) 기술을 적용했을 때, PDF 처리와 같은 정형화된 작업에서 지연 시간을 기존 10,46915,116ms에서 206568ms 수준으로 줄여 최대 50배의 속도 개선을 확인했다. 환경 바인딩 기능을 통해 의존성 결여로 인한 실패율을 0%로 낮추는 결과도 얻었다.
기술 상세
SkVM의 핵심은 자연어 기반의 스킬을 정형화된 실행 단위로 추상화한 것이다. 26개의 원시 역량은 'Composability', 'Generality', 'Semantic Independence'라는 세 가지 원칙에 따라 설계되었으며, 이는 JVM 바이트코드와 유사한 역할을 수행한다. AOT 컴파일 단계에서 수행되는 역량 변환은 단순한 프롬프트 수정을 넘어, 모델의 한계를 보완하기 위한 예시 추가(Few-shot), 명시적 제약 조건 삽입 등을 포함한다.
병렬성 추출 메커니즘은 전통적인 컴파일러의 최적화 기법을 차용한다. DLP는 동일 연산을 여러 데이터에 적용할 때 'xargs -P'와 같은 쉘 수준 병렬화를 사용하고, ILP는 의존성 없는 도구 호출을 하나의 LLM 턴에 배치 처리(Batching)하며, TLP는 독립적인 하위 작업을 별도의 에이전트 세션으로 분리하여 실행한다. 이러한 계층적 병렬화는 하네스의 지원 여부에 따라 동적으로 선택된다.
JIT의 코드 고정 기법은 정규 표현식 기반의 코드 시그니처 매칭을 사용한다. LLM이 생성한 코드가 파라미터만 바뀐 채 구조적으로 동일함을 N번 확인하면, 해당 구조를 파이썬 함수나 쉘 스크립트로 템플릿화한다. 이후 동일 작업 요청 시 LLM은 파라미터만 추출하고 실제 실행은 템플릿이 담당하게 되어 추론 비용을 제거한다.
관련 Figure

스킬 요구사항과 대상 모델의 프로필을 비교하여 부족한 역량(tool.exec)을 보완하기 위해 절대 경로 주입 등의 변환(Compensation)이 적용되는 과정을 구체적으로 예시한다.
PPTX 생성 스킬에 대한 역량 기반 컴파일 적용 사례
한계점
스킬 컴파일 과정에서 자연어를 입력으로 사용하기 때문에 비결정성(Non-determinism)이 완전히 제거되지 않을 수 있다. 또한 AOT 컴파일 단계에서 LLM 호출이 발생하므로 초기 설치 비용이 발생하며, 현재 26개로 정의된 원시 역량이 미래의 모든 스킬 요구사항을 완벽히 커버하지 못할 가능성이 존재한다.
실무 활용
SkVM은 기업용 LLM 에이전트 시스템에서 다양한 모델을 교체하며 사용해야 하거나, 반복적인 자동화 작업을 수행할 때 비용과 안정성을 동시에 확보할 수 있는 실무적 프레임워크를 제공합니다.
- 이기종 LLM 환경에서 동일한 업무 스킬(데이터 분석, 보고서 작성 등)을 일관되게 실행하고자 하는 에이전트 플랫폼
- 반복적인 API 호출이나 데이터 처리 스크립트 생성이 필요한 워크플로우의 실행 비용 및 지연 시간 최적화
- 에이전트 실행 환경의 라이브러리 의존성 문제를 자동으로 해결하여 배포 안정성을 높이고자 하는 경우
코드 공개 여부: 공개
코드 저장소 보기키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.