Monty
Descripción
Monty es el sandbox de Pydantic para ejecutar el Python que genera un modelo de lenguaje sin levantar un contenedor.
El aislamiento de código Python generado por un modelo de lenguaje suele pasar por un contenedor, con su arranque, su orquestación y su coste. Aquí no: no hay Docker de por medio, y dentro del sandbox no existen sistema de archivos, variables de entorno ni red. El proceso solo alcanza el host a través de las funciones y montajes que tú le pasas.
La implementación en Rust se ofrece de dos maneras. OSS Monty es el paquete MIT que instalas en Python 3.14, JavaScript/TypeScript o Rust; un sandbox nuevo sale de un pool en marcha en menos de 1 ms (Full Monty, el servidor comercial por WebSocket, ronda los 2 ms), frente a unos 1500 ms de un servicio basado en contenedores. Full Monty ejecuta los mismos workers como imagen de contenedor, detrás de un WebSocket.
Qué decides tú y qué ve el código
- Entradas e external lookups: el modelo llama a funciones que corren en el host y solo recibe el valor de retorno.
- Límites de recursos, instantáneas y el subconjunto de Python permitido.
- Uso en Code Mode de Pydantic AI, más bindings de la comunidad para Go y Dart.
La documentación detalla el modelo de seguridad, la comparación con Docker, Pyodide, WASI y servicios de sandboxing, y las guías de arranque en Python, JavaScript y Rust.
Tecnologías y temas
-
Full Monty
Además del paquete MIT, el mismo worker se ofrece como servidor comercial por WebSocket.
-
Pydantic AI
Alimenta Code Mode en Pydantic AI y forma parte del stack de Pydantic.
-
Rust
El aislamiento está escrito en Rust; hay paquetes para Python, JavaScript/TypeScript y Rust.
-
Sandbox Python
Ejecuta el código que genera un LLM sin disco, red ni variables de entorno visibles.
-
Sin contenedores
Un sandbox del pool arranca en menos de 1 ms, frente a unos 1500 ms de un servicio con Docker.