러스트(Rust)로 작성된 AI 에이전트용 초고속 파이썬(Python) 인터프리터
Monty는 AI 에이전트가 생성한 코드를 안전하게 실행하기 위해 러스트(Rust)로 개발된 파이썬(Python) 인터프리터임
기존 샌드박스(Sandbox) 방식의 복잡성과 지연 시간을 줄여 LLM 기반 코드 실행 효율성(Code Execution Efficiency)을 높임
파일 시스템(Filesystem), 환경 변수(Env Variables), 네트워크 접근(Network Access)을 차단하여 안전한 코드 실행 환경(Secure Code Execution Environment)을 제공함
파이썬(Python), 자바스크립트(JavaScript), 러스트(Rust) 등 다양한 환경에서 호출 가능(Callable)하며, 빠른 시작 시간과 CPython과 유사한 런타임 성능을 보임
안전성 확보를 위한 데이터 격리 아키텍처(Data Isolation Architecture)
Monty는 파일 시스템(Filesystem), 환경 변수(Env Variables), 네트워크 접근(Network Access)을 외부 함수 호출(External Function Calls)을 통해서만 제어한다. 즉, LLM이 생성한 코드가 호스트 환경에 직접 접근하는 것을 원천적으로 차단한다. 개발자는 허용된 함수(Allowed Functions)만 제공하여 실행 환경을 세밀하게 제어할 수 있으며, 이는 잠재적 보안 위협(Potential Security Threats)을 최소화하는 핵심 설계 원리이다.
극적인 성능 향상: 마이크로초(Microsecond) 단위 시작 시간
README에 따르면 Monty는 코드 실행까지 1μs 미만의 극도로 빠른 시작 시간을 자랑한다. 이는 기존 컨테이너 기반 샌드박스(Container-based Sandbox) 방식 대비 압도적인 성능 우위이다. 또한 CPython과 유사한 런타임 성능을 제공하여, LLM 기반 에이전트(Agent)의 응답 시간(Response Time)을 단축하고 전반적인 작업 처리량(Throughput)을 향상시킨다.
상태 저장 및 복원을 위한 스냅샷(Snapshot) 기능
Monty는 외부 함수 호출 시 인터프리터(Interpreter) 상태를 바이트(Byte) 단위로 스냅샷(Snapshot)할 수 있다. 이를 통해 실행 중인 코드를 파일이나 데이터베이스에 저장하고, 나중에 상태를 복원(State Restoration)하여 작업을 재개할 수 있다. 이는 장기 실행 작업(Long-running Tasks)이나 중단/재개(Suspend/Resume)가 필요한 환경에서 유용하게 활용될 수 있다.
제한적인 표준 라이브러리 지원
Monty는 `sys`, `typing`, `asyncio`, `dataclasses`, `json` 등 선별된 모듈(Selected Modules)만 지원한다. 이는 보안을 강화하고, 의존성(Dependency)을 최소화하기 위한 설계 결정이다. 외부 라이브러리(External Libraries) 지원은 목표가 아니며, 대신 안전하고 효율적인 코드 실행에 집중한다. 이러한 제약은 특정 사용 사례, 즉 AI 에이전트(Agent)가 생성한 코드 실행에 최적화(Optimization)되어 있다.