업데이트로 돌아가기
New releaseSep 5, 2026

monty v0.0.22

AI가 사용하도록 Rust로 작성된 최소형 보안 Python 인터프리터

공유

Monty

AI가 작성한 코드를 위한, Rust로 작성된 안전한 Python 샌드박스.

CI Codspeed Coverage PyPI NPM crates.io license Join Slack

Monty는 LLM이 생성한 코드를 실행하기 위한 컨테이너 기반 샌드박스의 지연 시간, 복잡성, 비용을 피합니다. Monty는 두 가지 형태로 제공됩니다: 패키지로 설치하는 MIT 라이선스의 Python 3.14 샌드박스인 OSS Monty와, 동일한 샌드박스를 gRPC 스트림 뒤에서 서비스로 실행하는 상용 서버인 Full Monty입니다.

실행 중인 풀에서 새로운 OSS Monty 샌드박스는 1ms 미만이 걸리며(Full Monty: 약 2ms), 이는 샌드박스 서비스의 약 1500ms와 비교됩니다.

샌드박스 내부에는 파일 시스템, 환경 변수, 네트워크가 존재하지 않습니다. 샌드박스는 전달한 함수와 마운트를 통해서만 호스트에 접근합니다.

문서: pydantic.dev/docs/monty

설치

uv add pydantic-monty        # Python
npm install @pydantic/monty  # JavaScript / TypeScript
cargo add monty              # Rust

상용 Full Monty는 동일한 워커를 컨테이너 이미지로 실행합니다.

예시

code 문자열은 초콜릿 바 하나로 전구를 얼마나 오래 켤 수 있는지 모델에게 물었을 때 모델이 작성하는 내용입니다:

from pydantic_monty import Monty

code = """
kcal = nutrition('chocolate bar')['kcal']
hours = kcal * 4184 / (bulb_watts * 3600)
print(f'a chocolate bar powers a {bulb_watts} W bulb for {hours:.1f} hours')
"""

with Monty() as pool:
    with pool.checkout() as session:
        session.feed_run(
            code,
            inputs={'bulb_watts': 10},
            external_lookup={'nutrition': lambda food: {'kcal': 230}},
        )
        #> a chocolate bar powers a 10 W bulb for 26.7 hours

nutrition은 호스트에서 실행되었고 샌드박스는 그 반환값만 보았다.

문서

Monty는 Pydantic AI에서 Code Mode를 실행합니다. 커뮤니티 바인딩: gomonty (Go) 및 dart_monty (Dart / Flutter).

Pydantic Stack의 일부

Pydantic Stack은 프로덕션급 AI 에이전트를 배포하는 데 필요한 모든 것입니다:

카테고리