Cómo implementar y alojar Claude Agent SDK con Novita Sandbox

Cómo implementar y alojar Claude Agent SDK con Novita Sandbox

En 2026, el panorama de la IA ha alcanzado un punto de inflexión definitivo: la transición de la inteligencia experimental a la ejecución industrializada. Mientras que la primera ola de la IA se centró en la conversación, la era actual está definida por la capacidad de actuar.

Con el lanzamiento de Claude Agent SDK, el paradigma ha pasado de API sin estado a entornos de ejecución persistentes con estado. Los desarrolladores ya no se conforman con agentes que solo generan código; exigen sistemas que puedan ejecutar, depurar e iterar de forma autónoma. A diferencia de los LLM tradicionales que “olvidan” tras cada solicitud, Claude Agent SDK ahora mantiene un bucle de razonamiento continuo, escribiendo código, depurando en tiempo real y gestionando sistemas de archivos complejos.

Sin embargo, persiste una brecha crítica: la infraestructura. Para pasar de una demo a una fuerza de trabajo digital de grado de producción, los agentes necesitan algo más que inteligencia: necesitan entornos seguros, escalables, de alto rendimiento y asequibles para realizar su trabajo.

Aprende a implementar y alojar agentes Claude en producción usando Novita Sandbox, un entorno de ejecución en la nube compatible con E2B que cierra esta brecha con una infraestructura rentable y de nivel empresarial.

💡 ¿Listo para empezar a construir?
Novita proporciona un ejemplo completo y listo para producción de Claude Agent SDK con CLI interactivo, implementaciones de herramientas y mejores prácticas. Clona el repositorio y ejecuta tu primer agente en minutos.

Ventajas principales: Diseñado para Anthropic

1. Migración con “cero refactorización”

Novita proporciona un endpoint de API Anthropic totalmente compatible. Simplemente cambia una baseURL para dotar a tus aplicaciones existentes basadas en Claude de capacidades de ejecución en el mundo real.

  • Integración nativa: Usa @anthropic-ai/sdk directamente, sin necesidad de aprender nuevos frameworks.
  • Cambio sin problemas: compatible con todas las funciones Beta, incluyendo los modos context-management y thinking.
import Anthropic from "@anthropic-ai/sdk";

// Solo modifica baseURL para cambiar sin problemas a Novita
const anthropic = new Anthropic({
  baseURL: "https://api.novita.ai/anthropic",
  apiKey: process.env.NOVITA_API_KEY,
});

// Todo el uso del SDK de Anthropic permanece sin cambios
const response = await anthropic.messages.create({
  model: "zai-org/glm-4.7",
  max_tokens: 4096,
  messages: [{ role: "user", content: "Hello, World!" }],
});

2. “Laboratorio en Sandbox” aislado en la nube

Novita Sandbox proporciona entornos Linux de lanzamiento instantáneo con acceso al sistema de archivos, comunicación en red y procesos en segundo plano:

  • Aislamiento seguro: Cada solicitud se ejecuta en un sandbox independiente, evitando la contaminación del código.
  • Capacidades full-stack: Entornos Node.js, Python y Jupyter incorporados con soporte dinámico de instalación de npm y pip.
  • Vista previa instantánea: Exposición de puertos HTTPS públicos con un solo clic; visualiza las páginas generadas al instante.
import { Sandbox } from "novita-sandbox/code-interpreter";

// Crea un entorno aislado en la nube en segundos
const sandbox = await Sandbox.create({ timeoutMs: 10 * 60 * 1000 });

// Escribe archivos
await sandbox.files.write("index.html", "<h1>Hello from Sandbox!</h1>");

// Inicia un servicio en segundo plano y obtén una URL pública
const handle = await sandbox.commands.run("npx http-server -p 3000", { background: true });
const publicUrl = `https://${sandbox.getHost(3000)}`;

console.log(`🌐 URL de vista previa: ${publicUrl}`);

3. Autocuración del contexto y conciencia inteligente

Aprovechando las capacidades de Tool Use de Claude, los Agentes pueden:

  • Adaptarse y repararse: Cuando ocurren errores en tiempo de ejecución, el Agente ve stderr y reescribe el código automáticamente.
  • Optimizar la memoria: Combinado con estrategias de contextManagement, el sistema limpia automáticamente bloques de código antiguos para mantenerse enfocado.
// Habilita la función Beta context-management
// Referencia: https://platform.claude.com/docs/en/build-with-claude/context-editing
const response = await anthropic.beta.messages.create({
  model: "zai-org/glm-4.7",
  max_tokens: 4096,
  betas: ["context-management-2025-06-27"],
  contextManagement: {
    edits: [
      {
        type: "clear_tool_uses_20250919",
        trigger: { type: "input_tokens", value: 10000 },  // Activar limpieza al superar 10k tokens
        keep: { type: "tool_uses", value: 2 },            // Conservar las últimas 2 llamadas a herramientas
        clear_tool_inputs: true,                          // También limpiar entradas de herramientas
      },
    ],
  },
  tools: TOOLS,
  messages: conversationHistory,
});

Cómo funciona: Cuando el contexto de la conversación supera el umbral establecido, la API limpia automáticamente los resultados de llamadas a herramientas anteriores mientras conserva información reciente crítica. Esto evita la “contaminación de la memoria” que degrada el rendimiento del Agente.

Casos de uso: posibilidades infinitas

Escenario Qué aporta Novita Sandbox
Laboratorio web interactivo Genera páginas React/Tailwind a partir de una sola frase; vista previa instantánea.
Análisis de datos inteligente Ejecuta Python dinámicamente para generar gráficos con Pandas y Matplotlib.
Pruebas automatizadas con IA Ejecuta scripts de prueba en entornos aislados; captura y corrige errores automáticamente.
Backend de IDE personalizado Proporciona a cada usuario un ejecutor en la nube independiente; cero operaciones.
Flujos de trabajo de código autocurable Prueba el código de API generado en un bucle cerrado, asegurando que funcione correctamente antes de entregarlo.

Inicio rápido: construye un agente interactivo en tres pasos

Sin configuración compleja: Novita hace que el desarrollo sea simple.

Paso 1: Instalación mínima

npm install @anthropic-ai/sdk novita-sandbox dotenv open

Paso 2: Integración inteligente de clave API

El proyecto incluye guía interactiva para la clave. Incluso sin variables de entorno, el programa te solicita la clave al inicio:

// agent_en.ts lógica interna
if (!agent.hasApiKey()) {
  const apiKey = await promptForApiKey(rl);
  agent.setApiKey(apiKey);
}

Paso 3: CLI interactivo con un solo clic

Ejecuta npm run agent-en para entrar en modo interactivo. Simplemente ingresa tus requisitos, y los modelos compatibles con Anthropic se encargarán de generar código, ejecutar servicios y abrir el navegador.

npm run agent-en

Explicación del código principal

📌 Definiciones de herramientas: dando “habilidades físicas” a la IA

const TOOLS: Anthropic.Beta.Messages.BetaTool[] = [
  {
    name: "write_file",
    description: "Crea o modifica un archivo en el sandbox",
    input_schema: {
      type: "object",
      properties: {
        path: { type: "string", description: "Ruta del archivo, ej. index.html" },
        content: { type: "string", description: "Contenido completo del archivo" },
      },
      required: ["path", "content"],
    },
  },
  {
    name: "get_preview_url",
    description: "Inicia el servidor web y obtiene la URL de vista previa (devuelve la URL existente si el servidor ya está en ejecución)",
    input_schema: { type: "object", properties: {} },
  },
];

📌 Bucle del agente: proceso hasta completar la tarea

async chat(userMessage: string): Promise<void> {
  // Renueva el timeout del sandbox en cada entrada del usuario
  await this.refreshSandboxTimeout();
  
  this.messages.push({ role: "user", content: userMessage });

  // Bucle del agente: continúa procesando hasta que no queden llamadas a herramientas
  let continueLoop = true;
  while (continueLoop) {
    const { response, assistantContent } = await this.streamResponse();
    this.messages.push({ role: "assistant", content: assistantContent });

    // Procesa las llamadas a herramientas
    const { hasToolUse, toolResults } = await this.processToolCalls(assistantContent);

    if (hasToolUse && toolResults.length > 0) {
      this.messages.push({ role: "user", content: toolResults });
      continueLoop = true;  // Existen llamadas a herramientas; continuar bucle
    } else {
      continueLoop = false; // No hay llamadas a herramientas; finalizar
    }

    if (response.stop_reason === "end_turn") {
      continueLoop = false;
    }
  }
}

📌 Autocuración del servicio: detección inteligente y reinicio automático

private async handleGetPreviewUrl(): Promise<string> {
  // Verifica si el proceso está realmente vivo
  if (this.previewUrl && this.serverHandle) {
    const processAlive = await this.checkServerProcessAlive();
    if (!processAlive) {
      console.log(`⚠️ El proceso del servidor ha terminado; reiniciando...`);
      this.serverHandle = null;
      this.previewUrl = null;
    }
  }

  // Inicia un nuevo servidor
  this.serverHandle = await this.sandbox.commands.run(
    `npx -y http-server . -p ${CONFIG.serverPort} -c-1`,
    { background: true }
  );

  // Obtiene la URL pública y realiza una comprobación de estado
  const host = this.sandbox.getHost(CONFIG.serverPort);
  this.previewUrl = `https://${host}`;
  
  await waitForServer(this.previewUrl, maxRetries, intervalMs);
  await openBrowser(this.previewUrl);
  
  return `URL de vista previa: ${this.previewUrl}`;
}

Explora el ejemplo completo

Novita proporciona un ejemplo completamente funcional de Claude Agent SDK con patrones de código listos para producción. El ejemplo demuestra:

  • Interfaz CLI interactiva con respuestas en streaming
  • Implementaciones completas de herramientas (operaciones con archivos, ejecución de código, gestión del servidor web)
  • Gestión de contexto con limpieza automática
  • Lógica de manejo de errores y reintentos
  • Comprobaciones de estado del servicio con reinicio automático
  • Conversación multiturno con estado persistente

Repositorio de GitHub: Novita-CollabHub/examples/claude-agent

Inicio rápido con el ejemplo:

# Clona el repositorio
git clone https://github.com/novitalabs/Novita-CollabHub.git
cd Novita-CollabHub/examples/claude-agent

# Instala las dependencias
npm install

# Configura tu clave API
export NOVITA_API_KEY=your_api_key_here

# Ejecuta el agente interactivo
npm run agent-en

Demostración de diálogo multiturno

Aquí hay un ejemplo completo de diálogo multiturno que muestra cómo el Agente refina iterativamente una página basándose en los comentarios del usuario:

Ronda 1: Crea una aplicación de lista de tareas

Entrada del usuario: Crea una aplicación de lista de tareas

Crea una aplicación de lista de tareas

Ronda 2: Cambia a un estilo Stardew Valley

Entrada del usuario: Cambia a un estilo Stardew Valley

Cambia a un estilo Stardew Valley

Ronda 3: Añade más funciones

Entrada del usuario: Añade más funciones

Añade más funciones

Conclusión

Implementar Claude Agent SDK en producción requiere una infraestructura que las plataformas en la nube tradicionales no fueron diseñadas para proporcionar. Novita Sandbox proporciona una infraestructura lista para producción que se integra perfectamente con Claude Agent SDK, dando a tus agentes las “manos” que necesitan para trabajar en el mundo físico al ofrecer:

  • Entorno de ejecución en la nube compatible con E2B para una integración perfecta con herramientas existentes
  • Endpoint nativo compatible con Anthropic que requiere cero refactorización: solo cambia la baseURL
  • Aislamiento seguro en contenedores para ejecución de código no confiable
  • Aprovisionamiento instantáneo con entornos de ejecución preconfigurados
  • Exposición de URL pública para aplicaciones web generadas
  • Gestión de procesos en segundo plano para servicios de larga duración

Comienza a construir agentes de IA con estado hoy mismo:

Novita AI es una plataforma líder en la nube de IA que proporciona a los desarrolladores APIs fáciles de usar e infraestructura GPU asequible y confiable para construir y escalar aplicaciones de IA.