
Uno de los problemas más frecuentes cuando trabajas con IA para escribir código es que el resultado parece correcto hasta que lo pruebas. Claude Code acaba de añadir una función llamada Outcomes que cambia esa dinámica para bien. Ahora, el sistema puede verificar si el resultado cumple con los criterios que definiste desde un principio.
Outcomes forma parte de la API de Managed Agents de Claude y representa un salto respecto a cómo funcionaban los agentes de código. Cuando lo activas, el flujo cambia de una conversación a una sesión en donde se le asigna a la IA un trabajo con condiciones claras de aceptación. El usuario define cómo tiene que ser el resultado final y el agente trabaja hacia ese objetivo, autoevaluándose e iterando hasta que lo cumple.
De acuerdo con la documentación técnica, el mecanismo central es el evento user.define_outcome. Cuando lo envías, la plataforma pone en marcha un segundo agente independiente llamado «grader» (o evaluador), cuyo único trabajo es comprobar. Este basa su trabajo en una rúbrica definida por ti, en donde se especifica cómo debería ser un trabajo bien hecho y el modo de verificarlo.

El evaluador corre en su propia ventana de contexto para que el agente escritor no pueda influenciarlo, y uno nuevo revisa el artefacto completo en cada iteración. Después de cada turno del agente principal, el evaluador devuelve un desglose por criterios que confirma que el artefacto cumple la rúbrica, o señala los huecos específicos entre el trabajo actual y los requisitos. Esa retroalimentación vuelve al agente para la siguiente iteración.
La rúbrica es el elemento clave de todo el sistema. La forma en que está redactada determina si el evaluador comprueba algo de verdad. Una rúbrica que dice «comprueba que el código cubre el manejo de errores» permite al evaluador hojear el código, ver un bloque try-catch, y escribir una confirmación sin ejecutar nada.
Cómo configurar Outcomes paso a paso
Para activar Outcomes necesitas la cabecera beta managed-agents-2026-04-01 en tus llamadas a la API. El SDK de Anthropic la incluye automáticamente, así que si ya lo tienes instalado no tienes que hacer nada adicional.

El primer paso es crear la rúbrica. Esto se logra a través de un documento en Markdown donde describes, criterio por criterio, qué cuenta como resultado válido. Puedes pasarla como texto en línea directamente en el evento user.define_outcome, o subirla a través de la Files API para reutilizarla en distintas sesiones (esto requiere la cabecera adicional files-api-2025-04-14).
Una vez que tienes la rúbrica, creas la sesión y envías el evento user.define_outcome con dos campos fundamentales: description, que el agente escritor leerá para saber qué tiene que construir, y rubric, que es lo que usará el evaluador para juzgar el resultado. También puedes definir max_iterations para controlar cuántas rondas de revisión permite el sistema antes de detenerse.

El agente comenzará a trabajar en cuanto reciba el evento, sin necesidad de ningún mensaje adicional. Puedes enviar mensajes user.message mientras el trabajo avanza para dar indicaciones más específicas, pero no son imprescindibles. El agente sabrá que debe continuar hasta que se quede sin iteraciones o alcance el resultado.
Así puedes revisar si tu código funciona en Claude Code
Para seguir el progreso, los eventos span.outcome_evaluation_start y span.outcome_evaluation_end te indican cuándo el evaluador está revisando y qué encontró. El campo iteration dentro de esos eventos es un contador que empieza en cero: el cero corresponde a la primera evaluación, el uno a la revisión tras la primera corrección, y así sucesivamente.

Cuando un ciclo termina, la sesión vuelve a ser conversacional y el siguiente user.define_outcome arranca uno nuevo. Solo se admite un Outcome activo a la vez, pero puedes encadenarlos en secuencia. Eso te permite encomendar la escritura de una función con criterios de corrección, y luego arrancar un segundo Outcome que verifique la cobertura de tests.
El resultado final es que dejarás de ser el revisor de turno en cada iteración. Claude Code no te entregará código que parece funcionar, sino código que ha pasado los criterios que tú mismo definiste.
Seguir leyendo: Uso Claude Code y esta función me ayuda a que la IA revise si el código funciona antes de entregarlo