Claude Managed Agents: cuándo delegarle el harness a Anthropic
Llevaba tres semanas construyendo lo mismo que ya había construido dos veces antes: mi propio harness para correr Claude Managed Agents — el nombre que Anthropic le da a un agente que opera solo, durante horas, sin que nadie lo esté mirando.
Un agent loop que decide cuándo llamar a una tool y cuándo parar.
Un sandbox donde ese agente puede correr comandos de shell sin tumbar mi máquina — ni la de un cliente.
Una capa de persistencia para que la sesión sobreviva si el proceso se cae a mitad de una tarea de cuarenta minutos.
Reintentos cuando una tool falla a medio camino. Un sistema de eventos para poder decirle "espera, cambia esto" sin que el agente pierda todo el contexto acumulado.
Nada de eso es difícil por separado. Lo difícil es que todo tenga que funcionar junto, de forma confiable, mientras el agente corre solo durante horas y tú estás durmiendo.
Ahí es exactamente donde entra Claude Managed Agents: la apuesta de Anthropic de que la mayoría de equipos no debería tener que resolver ese problema de infraestructura por su cuenta.
Messages API vs Claude Managed Agents: dos formas distintas de construir
Anthropic te da dos caminos para construir con Claude, y elegir mal el camino te cuesta semanas.
El primero es la Messages API: prompting directo al modelo. Tú decides el system prompt, tú implementas el loop que decide qué tool llamar, tú montas el sandbox donde esa tool corre. Control total — y responsabilidad total sobre cada pieza.
Tú resuelves, además, qué pasa cuando el proceso se reinicia a mitad de tarea. Nada de eso viene resuelto de fábrica.
El segundo camino son los Claude Managed Agents: un harness pre-construido y configurable que corre en infraestructura gestionada por Anthropic.
En vez de montar tú el agent loop, la ejecución de tools y el runtime, obtienes un entorno donde Claude puede leer archivos, correr comandos, navegar la web y ejecutar código de forma segura — sin operar tú ni una línea de esa infraestructura.
Ya escribí sobre qué significa en la práctica construir tu propio harness de agentes: agent loop, tool execution, memoria, checkpoints. Todo lo que Managed Agents te ahorra construir desde cero.
Los 4 conceptos que necesitas entender
Managed Agents se organiza alrededor de cuatro piezas:
- Agent — el modelo, el system prompt, las tools, los servidores MCP y las skills. Se define una sola vez y se referencia por ID en tantas sesiones como necesites.
- Environment — dónde corren las sesiones: un sandbox en la nube gestionado por Anthropic, o un sandbox self-hosted en tu propia infraestructura.
- Session — una instancia del agente corriendo dentro de un environment, ejecutando una tarea concreta y generando outputs.
- Events — los mensajes que se intercambian entre tu aplicación y el agente: turnos de usuario, resultados de tools, actualizaciones de estado.
El flujo, de principio a fin
- Creas un agente (modelo + system prompt + tools + MCP servers + skills). Se crea una vez y se reutiliza.
- Creas un environment: sandbox en la nube o self-hosted.
- Inicias una sesión que referencia ese agente y ese environment.
- Envías events y recibes respuestas en streaming vía server-sent events. Claude ejecuta tools de forma autónoma; el historial completo se persiste server-side y puedes recuperarlo entero cuando quieras.
- Puedes "steerear" — dirigir — o interrumpir al agente a mitad de ejecución simplemente enviando eventos adicionales.
Conceptualmente, el flujo se ve algo así (pseudo-código, no la sintaxis exacta del SDK):
// Flujo conceptual — no es sintaxis literal del SDK
const agent = await client.agents.create({
model: "claude-...",
systemPrompt: "Eres un agente de investigación de incidentes...",
tools: ["bash", "file_edit", "web_search"],
mcpServers: [datadogMcp, githubMcp],
});
const environment = await client.environments.create({
type: "cloud_sandbox", // o "self_hosted"
});
const session = await client.sessions.create({
agentId: agent.id,
environmentId: environment.id,
});
const stream = client.sessions.sendEvent(session.id, {
type: "user_message",
content: "Investiga por qué el deploy de ayer rompió el checkout",
});
for await (const event of stream) {
// tool_call, tool_result, status_update...
}
Out-of-the-box tienes Bash, operaciones de archivos (lectura, escritura, edición, glob, grep), web search y fetch, y servidores MCP para conectar tool providers externos.
El harness también trae prompt caching y compaction integrados — dos cosas que, si construyes tu propio loop, terminas resolviendo tú mismo tarde o temprano. Todo esto también está disponible en Claude Platform on AWS, con algunas diferencias de disponibilidad de features.
Cuándo tiene sentido delegar el harness (y cuándo no)
No todo agente necesita esto. La documentación oficial es clara sobre las señales, y las convertí en una matriz de decisión:
| Señal | Managed Agents | Tu propio harness (Agent SDK / Claude Code) |
|---|---|---|
| La tarea corre minutos u horas con múltiples llamadas a tools | Resuelto de fábrica | Construyes scheduler, retries y timeouts tú mismo |
| Necesitas sandboxes seguros con paquetes preinstalados y acceso de red | Cloud environment gestionado | Lo montas y mantienes tú |
| Compliance exige que el sandbox corra en tu propia infraestructura | Self-hosted environment | Ya lo tienes si construiste el tuyo desde cero |
| Necesitas sesiones stateful — filesystem persistente e historial entre interacciones | Nativo | Lo implementas a mano |
| Quieres runs recurrentes en un cron schedule | Scheduled deployments | Montas tu propio orquestador |
| Necesitas control fino sobre hooks, skills, checkpoints y cada paso del loop | No es el objetivo de la herramienta | Aquí gana el Agent SDK o Claude Code |
| Zero Data Retention o HIPAA BAA son un requisito duro | No elegible actualmente | Depende de cómo lo construyas tú |
Si tu caso de uso cae casi entero en la columna izquierda, delegar el harness te ahorra semanas de trabajo de infraestructura. Si cae en la derecha, seguir construyendo con el Agent SDK o Claude Code — donde tienes control total sobre hooks, skills y checkpoints — sigue siendo la decisión correcta.
Las 3 features que cambiaron el juego en mayo 2026
El 19 de mayo de 2026, en el evento "Code with Claude", Anthropic anunció tres features nuevas sobre esta base.
No están todas en el mismo punto de madurez, y eso importa antes de decidir si construyes sobre ellas hoy.
Dreaming — memoria que se auto-mejora entre sesiones (research preview)
Dreaming es un proceso programado que revisa las sesiones de tu agente y sus memory stores, extrae patrones y cura las memorias para que tus agentes mejoren con el tiempo.
La idea central: un agente individual no detecta los patrones que emergen a través de decenas de sesiones. Dreaming sí. Saca a la luz errores recurrentes y los workflows en los que tus agentes convergen una y otra vez — algo especialmente efectivo en escenarios de larga duración y multi-agente.
Tú eliges: actualizaciones automáticas de memoria, o revisión manual antes de que los cambios se apliquen. Dreaming se combina con la feature Memory (ya disponible de forma general): los agentes capturan aprendizaje mientras trabajan, y Dreaming lo refina entre sesiones.
Estado actual: research preview, con acceso vía formulario de solicitud. No es algo que actives hoy sin pedir permiso.
Outcomes — un grader que evalúa sin el sesgo del propio agente (public beta)
Outcomes te deja escribir una rúbrica describiendo qué es el éxito para una tarea. Un grader separado evalúa el output contra esos criterios en su propia ventana de contexto — así que no está influenciado por el razonamiento que el agente ya generó para justificarse a sí mismo. Cuando algo no está bien, el grader señala qué cambiar y el agente hace otro intento.
Esta es, para mí, la feature con más impacto inmediato de las tres.
Los números que publica Anthropic en sus benchmarks internos: hasta 10 puntos porcentuales de mejora en éxito de tarea, +8.4% en generación de archivos .docx y +10.1% en .pptx. No es marginal.
Esto es exactamente la misma disciplina que defiendo en el libro de Spec-Driven Development: especificar qué es "éxito" antes de ejecutar, no después. Outcomes lo formaliza a nivel de infraestructura — la rúbrica es tu spec, el grader es quien la hace cumplir.
Es especialmente útil para tareas que necesitan cobertura exhaustiva y detallada, o calidad subjetiva difícil de verificar con un test automatizado — voz de marca, guías de diseño. Soporta webhooks para enterarte cuando la tarea termina, sin hacer polling.
Estado: public beta. Puedes usarlo hoy.
Multiagent Orchestration — un líder, especialistas en paralelo, un filesystem compartido (public beta)
Aquí el patrón es distribuir trabajo complejo entre agentes especializados que trabajan en paralelo, con un agente líder coordinando y manteniendo contexto compartido.
El líder delega tareas a especialistas — cada uno con su propio modelo, prompt y tools. Todos comparten un filesystem, y los eventos son persistentes: los agentes recuerdan lo que hicieron antes, incluso entre sesiones distintas. Puedes seguir la traza completa en Claude Console: qué acción tomó cada agente, en qué secuencia, con qué razonamiento.
El ejemplo oficial que da Anthropic es concreto: un agente líder de investigación con subagentes analizando en paralelo el historial de deploys, los logs de errores, las métricas y los tickets de soporte — cada uno especializado en su fuente, todos alimentando la misma conclusión.
Estado: public beta. También disponible hoy, aunque con menos tiempo de maduración en producción que Outcomes.
El detalle que no puedes ignorar: datos y compliance
Managed Agents es stateful por diseño. Eso es justo lo que lo hace útil — sesiones long-running que se resumen limpiamente tras una pausa, con historial de conversación, estado del sandbox y outputs guardados server-side.
Y esa misma característica tiene una consecuencia que no puedes pasar por alto: actualmente Managed Agents no es elegible para Zero Data Retention (ZDR) ni para HIPAA BAA.
Si trabajas en un contexto regulado — salud, finanzas, cualquier cliente que exija ZDR contractualmente — esto descarta Managed Agents para esa carga de trabajo específica, al menos por ahora.
Lo que sí tienes: puedes borrar sesiones y archivos en cualquier momento vía la API. No es lo mismo que ZDR, pero es un control real que deberías usar activamente si trabajas con datos sensibles dentro de un environment gestionado.
Si tu producto necesita ZDR o HIPAA, la Messages API con tu propio harness sigue siendo el camino — al menos hasta que Anthropic mueva esta pieza.
Qué significa esto para tu forma de trabajar con agentes
Claude Code, Routines y Managed Agents son tres capas de automatización distintas, no tres versiones de lo mismo — y Managed Agents completa la tercera.
Claude Code es la capa donde tú controlas cada paso: escribes el prompt, revisas el diff, decides cuándo commitear.
Routines — de lo que ya hablé en este post sobre Claude Code y Routines — dispara automáticamente una tarea puntual: un trigger, una tarea, un resultado.
Managed Agents es la infraestructura completa y autónoma: memoria que se auto-mejora con Dreaming, verificación de calidad integrada con Outcomes, coordinación multi-agente sin que tú operes el runtime.
Cada capa reduce cuánto tienes que operar tú mismo, a cambio de menos control fino. Esa es la transacción real — no "automatización buena vs automatización mala".
| Messages API | Claude Managed Agents | |
|---|---|---|
| Qué es | Prompting directo, tú construyes el loop | Harness pre-construido sobre infraestructura gestionada |
| Quién opera el agent loop y el sandbox | Tú | Anthropic |
| Persistencia de estado entre sesiones | La implementas tú | Nativa (sessions stateful) |
| Mejor para | Casos específicos, latencia baja, control total | Tareas largas, asíncronas, multi-tool, multi-sesión |
| Madurez | Estable, uso general | Beta — header managed-agents-2026-04-01 |
Sé honesto sobre algo: esto sigue siendo beta. Todos los endpoints requieren ese header (el SDK lo configura solo).
Dentro de la beta, MCP tunnels y Dreaming están en un research preview todavía más limitado — hay que solicitar acceso. Es una superficie que sigue moviéndose, no una API congelada lista para apostar tu negocio entero sin plan B.
Si estás en el punto de pasar de "prototipo que funciona en mi máquina" a "producto que alguien más usa", esta es exactamente la conversación que trabajamos en el curso de Construye con IA: qué construyes tú y qué le delegas a la infraestructura de Anthropic.
La pregunta correcta no es "self-hosted o managed"
Construir un harness de agentes confiable es un problema de infraestructura, no solo de prompting. Lo aprendí de la forma cara: reconstruyendo el mismo agent loop tres veces antes de aceptarlo.
Claude Managed Agents es la apuesta de Anthropic de que la mayoría de equipos no debería tener que resolver ese problema por su cuenta. Y para tareas largas, asíncronas, con necesidad de sandboxes seguros y memoria que mejora sola, tienen razón.
Pero la pregunta que de verdad importa no es "self-hosted o managed" en abstracto. Es qué tan crítico es el control fino sobre tu harness para tu caso específico.
Si la respuesta es "necesito controlar cada hook, cada skill, cada checkpoint" — sigue construyendo el tuyo. Si la respuesta es "necesito que esto simplemente funcione durante seis horas sin que yo lo esté mirando" — deja que Anthropic cargue con esa infraestructura.
Si quieres discutir esto con otros developers que ya están probando Managed Agents en proyectos reales, en Dominicode Labs es exactamente el tipo de conversación que tenemos cada semana.
Preguntas frecuentes sobre Claude Managed Agents
¿Qué son los Claude Managed Agents?
Es un harness de agentes pre-construido y configurable que corre en infraestructura gestionada por Anthropic.
En vez de que tú implementes el agent loop, el sandbox de ejecución de tools y la persistencia de estado, Anthropic te da un entorno donde Claude puede leer archivos, correr comandos, navegar la web y ejecutar código de forma segura, organizado alrededor de cuatro conceptos: Agent, Environment, Session y Events.
¿En qué se diferencian de construir mi propio agente con la Messages API?
Con la Messages API tú controlas todo: el system prompt, el loop que decide qué tool llamar, el sandbox donde corre, y qué pasa si el proceso se cae a mitad de tarea.
Con Managed Agents esa infraestructura la opera Anthropic — tú defines el agente y el environment, y el harness se encarga de la ejecución, el streaming vía eventos, la persistencia y, opcionalmente, el self-hosting del sandbox.
¿Qué es "Dreaming" en Claude Managed Agents?
Es un proceso programado que revisa las sesiones de un agente y sus memory stores para extraer patrones que un agente individual no puede detectar por sí solo, y curar las memorias para que el agente mejore entre sesiones.
Se puede configurar para aplicar cambios automáticamente o para requerir revisión manual. Actualmente está en research preview, con acceso vía formulario de solicitud — no es de disponibilidad general.
¿Qué es "Outcomes" y cómo mejora la calidad del output?
Outcomes te deja definir una rúbrica de éxito para una tarea. Un grader independiente — con su propia ventana de contexto, sin el sesgo del razonamiento que el agente ya generó — evalúa el output contra esa rúbrica y le pide otro intento si no cumple.
En benchmarks internos de Anthropic, esto mejoró el éxito de tarea hasta en 10 puntos porcentuales, con mejoras específicas de +8.4% en .docx y +10.1% en .pptx. Está en public beta, disponible hoy.
¿Qué es "Multiagent Orchestration" en Claude Managed Agents?
Es el modelo donde un agente líder distribuye trabajo complejo entre varios agentes especializados que trabajan en paralelo, cada uno con su propio modelo, prompt y tools.
Todos comparten un filesystem y los eventos son persistentes, así que el equipo de agentes recuerda lo que hizo antes. Está en public beta, con trazabilidad completa de cada acción disponible en Claude Console.
¿Puedo usar Claude Managed Agents en producción hoy?
Puedes usarlo hoy, pero con matices importantes. Todo el sistema de Managed Agents está en beta y requiere el header managed-agents-2026-04-01 (el SDK lo configura automáticamente).
Outcomes y Multiagent Orchestration están en public beta y son razonablemente estables. Dreaming y MCP tunnels están en un research preview más limitado, con acceso solicitado por formulario. Evalúa cada feature por separado antes de apostar tu producto entero a ella.
¿Managed Agents cumple con HIPAA o Zero Data Retention (ZDR)?
No, actualmente no. Managed Agents es stateful por diseño — guarda historial de conversación, estado del sandbox y outputs server-side para que las sesiones long-running se puedan resumir limpiamente — y eso lo hace no elegible para ZDR ni para un HIPAA BAA.
Sí puedes borrar sesiones y archivos en cualquier momento vía la API, pero si tu carga de trabajo exige ZDR o HIPAA de forma contractual, tu propio harness sobre la Messages API sigue siendo el camino correcto por ahora.
Por Bezael Pérez — Developer senior con más de 15 años de experiencia y fundador de Dominicode.
