Ir al contenido
Mastering Claude

Inicio / Varios agentes y verificación adversa

Varios agentes y verificación adversa9 minApplication

Workflows deterministas: esquemas, checkpoints, reanudación

Un workflow es un script que orquesta subagentes de forma determinista, con una salida estructurada mediante un esquema JSON y un checkpoint después de cada etapa, pero el modelo que se aplica a un agente relanzado sigue un orden de prioridad de cuatro niveles, y sin que los tres primeros estén rellenados, ese agente hereda como último recurso el modelo de la sesión que lo ejecuta, no de la que escribió el script.

Un workflow, en el sentido de este módulo, es un script que encadena varias llamadas de agente de forma determinista: la misma secuencia de etapas y el mismo esquema de salida en cada ejecución, a diferencia de una conversación donde el agente decide solo el orden de sus acciones. La documentación oficial de los workflows de Claude Code muestra un ejemplo que pasa directamente un objeto de esquema a la función que llama a un agente, lo que elimina cualquier margen de interpretación sobre la forma del resultado esperado.

El esquema que reemplaza a un informe en lenguaje libre

Cuando un agente debe transmitir su resultado a la etapa siguiente, un esquema JSON impone campos con nombre y tipos precisos, en lugar de un párrafo que el agente siguiente tendría que releer e interpretar. Dos agentes que intercambian mediante un esquema común no se malentienden sobre la forma, lo que traslada la vigilancia a donde de verdad importa, el contenido.

El checkpoint que evita rehacerlo todo

Cada etapa terminada escribe un checkpoint. En el momento de reanudar un workflow interrumpido, una etapa marcada como terminada devuelve directamente su resultado guardado sin relanzar al agente que lo produjo. Una etapa cuyo prompt ha cambiado desde la última ejecución se relanza, y toda etapa colocada después de ella en la secuencia también, incluso si su propio prompt no se ha movido.

etapa : rédaction_synthèse
estado : terminado
prompt idéntico a la última ejecución : sí
modelo puesto en el script para esta etapa : ninguno

Este último campo, ningún modelo puesto en el script para esta etapa, es el punto más fácil de pasar por alto al releer un script escrito varios meses antes.

El modelo que un agente relanzado hereda realmente

Desde la versión 2.1.251, el modelo que se aplica a un agente relanzado sigue un orden de prioridad de cuatro niveles: el parámetro puesto directamente en la llamada de ese agente, el campo modelo del propio subagente, una variable de entorno propia del subagente, y luego, como último recurso, el modelo de la sesión que ejecuta el script en el momento en que lo relanza. Antes de esta versión, el orden difería en un punto que lo cambia todo para un script antiguo: la variable de entorno pasaba primero y prevalecía sobre el parámetro de la llamada así como sobre el campo modelo del frontmatter, incluso sobre el valor model: inherit. Cuando ninguno de los niveles prioritarios está rellenado, un agente escrito bajo un modelo dado en una fecha determinada cambia silenciosamente al modelo de la sesión que lo relanza meses después, sin que ningún mensaje en pantalla lo señale. Este punto se une a la elección de arquitectura planteada en fan-out, pipeline, barrera: un pipeline guardado sigue siendo un pipeline, y cada una de sus etapas conserva su propio riesgo de herencia silenciosa de modelo.

Reabrir un script escrito varios meses antes y verificar línea por línea qué modelo se aplicará realmente a cada agente lleva unos minutos, a condición de verificar también la versión de la herramienta de orquestación en el momento de la escritura del script frente a la instalada hoy. No hacerlo produce un resultado entregado por un modelo que nadie eligió para esa etapa concreta, sin que ninguna alerta avise del cambio.

Figure 1

Un script de workflow, de la escritura a la relanzada

01
Escribir el script
Cada llamada de agente recibe un esquema de salida y, para algunos, un campo modelo puesto explícitamente.
02
Ejecutar una primera vez
Cada etapa terminada escribe un checkpoint con su estado y el modelo realmente aplicado.
03
Interrumpir y luego reanudar
Una etapa marcada como terminada devuelve su resultado guardado sin relanzar al agente que lo produjo.
04
Relanzar meses después
Un agente sin campo modelo explícito hereda el modelo de la sesión que relanza el script ese día, no el de la que lo escribió.
La secuencia muestra dónde se juega la herencia silenciosa del modelo, entre la escritura del script y su relanzada varios meses después.
Calíbralo tú mismo

Una persona abre en agosto un script de workflow escrito en enero, en una instalación de Claude Code que permaneció en la misma versión posterior a 2.1.251 durante todo ese intervalo, con una variable de entorno de modelo por subagente dejada en su valor vacío por defecto. El script encadena cuatro llamadas de agente, la primera con un campo modelo que lleva el valor sonnet y las tres siguientes con ese campo dejado vacío. Esta persona relanza el script desde una sesión cuyo modelo por defecto pasó a ser haiku entre enero y agosto.

Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.

Lo que hay que recordar
  • Una salida estructurada mediante un esquema JSON elimina la ambigüedad entre dos agentes que se leen mutuamente, una estructura impuesta reemplaza a un texto por interpretar.
  • Un checkpoint registra el resultado de cada etapa terminada, lo que permite relanzar solo la etapa cuyo prompt ha cambiado y las que la siguen en la secuencia.
  • El modelo aplicado a un agente relanzado depende, desde la versión 2.1.251, de un orden de prioridad de cuatro niveles, el parámetro de la llamada, el campo modelo del subagente, una variable de entorno, y luego el modelo de la sesión como último recurso; antes de esa versión, la variable de entorno pasaba primero y prevalecía sobre todo lo demás.
  • Un agente para el que ninguno de los tres primeros niveles está rellenado cambia silenciosamente, en el momento de la relanzada, al modelo de la sesión que ejecuta el script ese día.
  • Retomar un script de workflow antiguo implica reauditar cada campo modelo antes de creer que el resultado saldrá como la primera vez.
Hazlo ahora

Abre el último script de workflow que hayas guardado, enumera cada llamada de agente que contiene, y anota junto a cada una si su campo modelo lleva un valor explícito o si permanece vacío antes de relanzarlo.

Lo que queda por verificar

Estos puntos dependen de una interfaz o de una regla que puede haber cambiado desde la redacción. Verifícalos en tu propia pantalla antes de fiarte de ellos.

  • Verifica si tu herramienta de orquestación define una variable de entorno de modelo por subagente en tu equipo, prevalece sobre el modelo de la sesión si está puesta, y verifica también si tu instalación es anterior o posterior a la versión 2.1.251, que invirtió el orden de prioridad entre esa variable y el parámetro de la llamada.
Verificar en la fuente

Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.