monty-go es una librería de código abierto que permite a las aplicaciones en Go ejecutar código Python generado por modelos de lenguaje (LLMs) de forma segura y eficiente. La herramienta funciona como un envoltorio puro de Go alrededor del intérprete Monty de Pydantic, compilado a WebAssembly (WASM) y cargado mediante la librería wazero. Este enfoque elimina la necesidad de contenedores, CGO o procesos secundarios, ofreciendo un arranque en submilisegundos y una huella de memoria mínima de 2,9 MB.
El sistema está diseñado para optimizar el uso de agentes de IA mediante el 'code-mode'. En lugar de realizar múltiples llamadas secuenciales a herramientas externas (tool calls), el LLM escribe un bloque de código Python que orquesta varias operaciones. monty-go ejecuta este código en una instancia WASM aislada y se pausa automáticamente cuando el Python intenta llamar a funciones externas definidas por el desarrollador. En ese momento, la lógica nativa de Go procesa la solicitud (como consultas a bases de datos o APIs) y devuelve el resultado al intérprete para que continúe.
La librería incluye mecanismos robustos de seguridad para prevenir código malicioso o ineficiente, permitiendo establecer límites estrictos de tiempo de ejecución, uso de memoria, número de asignaciones y profundidad de recursión. Además, gestiona el acceso al sistema de archivos y variables de entorno a través de callbacks controlados por el desarrollador, asegurando que no ocurra ningún acceso no autorizado. monty-go se integra específicamente con Gollem, un marco de trabajo para agentes en producción de Fugue Labs, facilitando la creación de agentes más rápidos y económicos al reducir el número de interacciones con el modelo.
