Cloudflare Sandboxes y Containers: Disponibilidad General y Novedades
¡Hola Devs! 👋 Cuando Cloudflare lanzó los Sandboxes en junio del año pasado, la premisa era simple: los agentes de IA necesitan un lugar seguro para desarrollar y ejecutar código. Como los agentes están actuando cada vez más como desarrolladores—clonando repos, compilando código, ejecutando servidores de desarrollo—necesitan una computadora completa. Muchos desarrolladores están improvisando soluciones con VMs o contenedores, pero se enfrentan a problemas difíciles como la ráfaga de demanda, restauración rápida de estado, seguridad, control y ergonomía.
Cloudflare ha resuelto estos problemas, y hoy, Sandboxes y Containers están ambos en disponibilidad general. Este artículo desglosa las nuevas funciones clave y por qué son importantes para tus flujos de trabajo con agentes de IA.
Fuente: Blog de Cloudflare - Sandbox GA

Inmersión en las Funciones Principales
Inyección Segura de Credenciales
Uno de los problemas más difíciles en cargas de trabajo de agentes es la autenticación. Los agentes a menudo necesitan acceder a servicios privados, pero no puedes confiarles credenciales en texto plano. Los Sandboxes resuelven esto inyectando credenciales en la capa de red usando un proxy de salida programable.
class OpenCodeInABox extends Sandbox {
static outboundByHost = {
"my-internal-vcs.dev": (request, env, ctx) => {
const headersWithAuth = new Headers(request.headers);
headersWithAuth.set("x-auth-token", env.SECRET);
return fetch(request, { headers: headersWithAuth });
}
}
}
Este enfoque asegura que los agentes nunca tengan acceso a las credenciales mientras permite la personalización completa de la lógica de autenticación. Para una inmersión más profunda, echa un vistazo a nuestro artículo Beyond Prototypes: How Vercel's New v0 Brings AI Coding to Production para una perspectiva sobre plataformas de codificación con IA en producción.
Terminal Real con Soporte PTY
Los sistemas antiguos de agentes modelaban el acceso al shell como un bucle de solicitud-respuesta. Cloudflare ahora ofrece soporte PTY, dando a los agentes una terminal real a través de WebSocket, compatible con xterm.js.
// Worker: actualiza una conexión WebSocket a una sesión de terminal en vivo
export default {
async fetch(request: Request, env: Env) {
const url = new URL(request.url);
if (url.pathname === "/terminal") {
const sandbox = getSandbox(env.Sandbox, "my-session");
return sandbox.terminal(request, { cols: 80, rows: 24 });
}
return new Response("Not found", { status: 404 });
},
};
Intérpretes de Código Persistentes
Los Sandboxes permiten crear contextos de ejecución persistentes donde las variables y las importaciones sobreviven entre llamadas, similar a un Jupyter notebook.
// Crea un contexto Python. El estado persiste durante toda su vida útil.
const ctx = await sandbox.createCodeContext({ language: "python" });
// Primera ejecución: carga datos
await sandbox.runCode(`
import pandas as pd
df = pd.read_csv('/workspace/sales.csv')
df['margin'] = (df['revenue'] - df['cost']) / df['revenue']
`, { context: ctx });
// Segunda ejecución: df todavía está ahí
const result = await sandbox.runCode(`
df.groupby('region')['margin'].mean().sort_values(ascending=False)
`, { context: ctx, onStdout: (line) => console.log(line.text) });
Snapshots para Inicio Rápido
Los snapshots preservan el estado completo del disco del contenedor, permitiendo restaurarlo rápidamente después. Esto es crucial para flujos de trabajo de agentes donde necesitas reanudar el trabajo sin pagar por cómputo inactivo.
class AgentDevEnvironment extends Sandbox {
sleepAfter = "5m";
persistAcrossSessions = {type: "disk"};
}
async function forkDevEnvironment(baseId: string, numberOfForks: number) {
const baseInstance = await getSandbox(baseId);
const snapshotId = await baseInstance.snapshot();
const forks = Array.from({ length: numberOfForks }, async (_, i) => {
const newInstance = await getSandbox(`${baseId}-fork-${i}`);
return newInstance.start({ snapshot: snapshotId });
});
await Promise.all(forks);
}
Precios Basados en CPU Activa
Los Sandboxes ahora solo cobran por los ciclos de CPU activamente utilizados. Esto significa que no pagas por CPU inactiva mientras tu agente espera la respuesta de un LLM—un gran ahorro de costos para cargas de trabajo en producción.
Limitaciones y Consideraciones
- Estado de memoria del snapshot: La captura de estado de memoria en vivo aún no está disponible (llegará en versiones futuras). Actualmente, solo se persiste el estado del disco.
- Inicios en frío: Aunque los snapshots mejoran el tiempo de inicio en caliente, el primer inicio aún toma tiempo. Iniciar un sandbox, clonar un repositorio e instalar dependencias toma alrededor de 30 segundos.
- Complejidad: El proxy de salida programable y la inyección de credenciales requieren configuración inicial y comprensión de los bindings de Cloudflare Workers.
Próximos Pasos para Aprender
- Experimenta con el SDK: Instala
@cloudflare/sandbox@latesty prueba los ejemplos de este artículo. - Explora backup/restore: Si necesitas persistencia de estado de sesión antes de que los snapshots estén completamente disponibles, usa los métodos backup y restore.
- Escala gradualmente: Comienza con algunas instancias concurrentes y monitorea los costos usando el modelo de precios de CPU activa.
- Lee la documentación oficial: Consulta la documentación de Cloudflare para configuración avanzada y mejores prácticas.
Conclusión
Los Cloudflare Sandboxes han evolucionado de un simple ejecutor de comandos a un entorno de desarrollo completo para agentes de IA. Con funciones como inyección segura de credenciales, soporte PTY, intérpretes de código persistentes, snapshots y precios de CPU activa, ahora es una plataforma lista para producción para ejecutar agentes a escala. El ciclo de retroalimentación ajustado que hace efectivos a los ingenieros humanos ahora está disponible para tus agentes.

Comparación de Funciones: Sandboxes vs. Contenedores Tradicionales
| Función | Cloudflare Sandbox | Contenedor Tradicional |
|---|---|---|
| Ráfaga de demanda | Sueño/despertar automático, sin costo inactivo | Escalamiento manual, costo inactivo |
| Restauración de estado | Snapshots (disco), backup/restore | Reconstruir desde la imagen |
| Seguridad | Inyección de credenciales en capa de red | Variables de entorno manuales, gestión de secretos |
| Terminal | PTY vía WebSocket, compatible con xterm.js | Solo SSH o exec |
| Intérprete de código | Contexto persistente (Python, JS, TS) | Sin estado por invocación |
| Observación de archivos | Inotify nativo vía SSE | Polling o observadores personalizados |
| Precios | Solo ciclos de CPU activos | Siempre encendido, costo inactivo |
| Máx. instancias (estándar) | 15.000 (lite), 6.000 (básico), 1.000+ (grande) | Varía por proveedor |
![]()
Consideraciones Finales
Cloudflare Sandboxes no son solo otro servicio de contenedores—están construidos a medida para la era de los agentes de IA. Al resolver los problemas difíciles de ráfaga de demanda, seguridad y gestión de estado, te permiten enfocarte en construir agentes inteligentes en lugar de infraestructura.
Si estás construyendo agentes de IA que necesitan escribir código, ejecutar pruebas o interactuar con servidores de desarrollo, prueba Cloudflare Sandboxes. El SDK está en la versión 0.8.9, y puedes comenzar con un simple npm install.
Además, echa un vistazo a nuestro artículo sobre Python 3.15 Alpha 3: Un Vistazo a las Próximas Funcionalidades para ver cómo el último lanzamiento de Python complementa estas capacidades de contenedor.