Saltar al contenido principal

Flujos de trabajo dinámicos y ultracode

Avanzado
What you'll learn
  • Distinguir un flujo de trabajo de los subagentes, las skills y los equipos de agentes según quién tiene el plan
  • Ver uno en 30 segundos con el comando integrado /deep-research
  • Iniciar el tuyo de tres formas: la palabra clave ultracode, /effort ultracode o un comando guardado
  • Saber de qué te protege el mensaje de aprobación antes de pulsar Sí
  • Mantener bajo control el coste y las ejecuciones desatendidas con el troceado y la lista de permitidos

Un flujo de trabajo dinámico es un script de JavaScript que orquesta subagentes a gran escala. Tú describes una tarea; Claude escribe el script; un runtime lo ejecuta en segundo plano mientras tu sesión sigue respondiendo. Donde una tarea normal de varios pasos vive turno a turno en la ventana de contexto de Claude, un flujo de trabajo lleva el plan al código: el bucle, las ramificaciones y cada resultado intermedio viven en variables del script, así que tu contexto solo guarda la respuesta final.

Ese único cambio es lo que hace que los flujos de trabajo escalen a decenas o cientos de agentes en una sola ejecución, donde la delegación corriente se queda en un puñado.

Cuándo recurrir a un flujo de trabajo

Claude Code te ofrece cuatro maneras de ejecutar trabajo de varios pasos. La verdadera pregunta es quién tiene el plan:

SubagentesSkillsEquipos de agentesFlujos de trabajo
Qué esUn trabajador que Claude generaInstrucciones que Claude sigueUn líder que supervisa sesiones paresUn script que el runtime ejecuta
Quién decide qué se ejecuta a continuaciónClaude, turno a turnoClaude, según el promptEl líder, turno a turnoEl script
Dónde viven los resultadosVentana de contextoVentana de contextoUna lista de tareas compartidaVariables del script
EscalaUnos pocos por turnoIgual que los subagentesUn puñado de paresDe decenas a cientos
En caso de interrupciónReinicia el turnoReinicia el turnoLos compañeros siguen ejecutándoseReanudable dentro de la sesión

Usa un flujo de trabajo cuando una tarea necesite más agentes de los que puede coordinar una sola conversación, o cuando quieras la orquestación codificada como un script que puedas leer y volver a ejecutar. Casos canónicos:

  • Un barrido de errores en toda la base de código: despliega un buscador por cada módulo y luego haz que agentes independientes verifiquen de forma adversarial cada hallazgo antes de reportarlo.
  • Una migración de 500 archivos: un agente por archivo, cada uno en su propio worktree, con una etapa de verificación.
  • Una pregunta de investigación donde las fuentes deben verificarse cruzadamente entre sí, no solo resumirse.
  • Un plan difícil que merece la pena redactar desde varios ángulos independientes para luego sopesarlos entre sí antes de comprometerte.

Ese último punto es el infravalorado: un flujo de trabajo puede aplicar un patrón de calidad repetible (revisión adversarial, redacción multiángulo, verificación por mayoría de votos), de modo que obtienes un resultado más fiable que con una sola pasada, no solo más agentes.

La forma más rápida de ver uno: /deep-research

Claude Code incluye un flujo de trabajo integrado para que no tengas que escribir uno para probar el modelo. Ejecútalo sobre cualquier pregunta:

Prueba un flujo de trabajo en un solo comando

/deep-research What changed in the Node.js permission model between v20 and v22?

Despliega búsquedas web por varios ángulos, recupera y verifica cruzadamente las fuentes, vota sobre cada afirmación y devuelve un informe con citas, en el que se filtran las afirmaciones que no sobrevivieron a la verificación cruzada. Aprueba cuando te lo pida y luego observa cómo trabaja con /workflows. (Necesita que la herramienta WebSearch esté disponible.)

Tres formas de iniciar el tuyo

1. Pídelo en un solo prompt. Incluye la palabra clave ultracode, o simplemente pídelo en lenguaje llano ("usa un flujo de trabajo", "ejecuta un flujo de trabajo"). Claude escribe un script para esa única tarea sin cambiar el nivel de esfuerzo de tu sesión:

Ejecuta una tarea como flujo de trabajo

ultracode: audit every API endpoint under src/routes/ for missing auth checks

La palabra clave se resalta en tu entrada. ¿No era tu intención? Pulsa Option+W (macOS) o Alt+W (Windows/Linux) para descartar el resaltado en ese prompt.

:::note Historial de la palabra clave Antes de la v2.1.160 la palabra de activación literal era workflow; se renombró a ultracode para que la palabra común "workflow" no disparara una ejecución. Las peticiones en lenguaje natural ("ejecuta un flujo de trabajo") funcionan en ambas versiones. :::

2. Deja que Claude decida: esfuerzo ultracode. Pon la sesión en ultracode y Claude planificará un flujo de trabajo para cada tarea sustancial, decidiendo por sí mismo cuándo está justificado:

Activa la orquestación automática para la sesión

/effort ultracode

Ultracode combina el esfuerzo de razonamiento xhigh con orquestación automática. Una sola petición puede convertirse en varios flujos de trabajo seguidos: uno para entender el código, otro para hacer el cambio, otro para verificarlo. Cada tarea usa entonces más tokens y tarda más, así que vuelve a /effort high para el trabajo rutinario. Dura solo la sesión actual.

3. Ejecuta un comando guardado o integrado. /deep-research, o cualquier flujo de trabajo que hayas guardado (más abajo), aparece en el autocompletado de / como cualquier comando de barra.

Aprueba antes de que se ejecute

Los flujos de trabajo pueden generar muchos agentes, así que la CLI te muestra las fases planeadas y pregunta primero:

  • Sí, ejecútalo: inicia la ejecución
  • Sí, y no volver a preguntar por [name] en [path]: inicia y omite el mensaje para este flujo de trabajo en este proyecto
  • Ver script en bruto (Ctrl+G lo abre en tu editor): léelo antes de decidir
  • No: cancelar (Tab te permite ajustar antes el prompt)

Que se te pregunte o no depende de tu modo de permisos: Default / accept-edits pregunta en cada ejecución (a menos que te hayas dado de baja para ese flujo de trabajo); Auto pregunta solo en el primer lanzamiento; bypass / claude -p / Agent SDK nunca preguntan: la ejecución empieza de inmediato.

:::warning Los subagentes no heredan el modo de tu sesión Sea cual sea el modo de permisos de tu sesión, los agentes que genera un flujo de trabajo se ejecutan siempre en acceptEdits y heredan tu lista de herramientas permitidas: las ediciones de archivos se aprueban automáticamente. Los comandos de shell, las descargas web y las herramientas MCP que no estén en tu lista de permitidos aún pueden pausar la ejecución para preguntarte. En una ejecución larga y desatendida, añade los comandos que necesitan los agentes a tu lista de permitidos antes de empezar para que no se quede atascada esperándote. Consulta Endurecer las ejecuciones autónomas. :::

Cómo se ejecuta una corrida

El runtime ejecuta el script en un entorno aislado, separado de tu conversación: los resultados intermedios se quedan en variables del script y nunca tocan el contexto de Claude. El script en sí no tiene acceso directo al sistema de archivos ni a la shell: los agentes leen, escriben y ejecutan comandos; el script solo los coordina.

Cada ejecución escribe su script en un archivo dentro del directorio de tu sesión en ~/.claude/projects/, y Claude obtiene la ruta. Así que puedes pedirle a Claude el script, leer la orquestación que escribió, compararla con una ejecución anterior, o editarla y pedirle a Claude que relance desde tu versión editada.

El runtime impone unos cuantos límites para que un script defectuoso no se descontrole:

RestricciónPor qué
Sin entrada del usuario a mitad de ejecución (solo la pausan los mensajes de permiso de los agentes)Para una aprobación entre etapas, ejecuta cada etapa como su propio flujo de trabajo
El script no tiene acceso directo al sistema de archivos ni a la shellLos agentes hacen el trabajo; el script coordina
Hasta 16 agentes concurrentes (menos en máquinas con pocos núcleos)Acota el uso de recursos locales
1.000 agentes en total por ejecuciónEvita bucles desbocados

Observa y gestiona las ejecuciones

Ejecuta /workflows para listar las ejecuciones en curso y completadas, luego selecciona una para abrir su vista de progreso: cada fase con su número de agentes, el total de tokens y el tiempo transcurrido. Profundiza en una fase, luego en un agente, para leer su prompt, sus llamadas a herramientas recientes y su resultado. Controles clave:

TeclaAcción
/ Seleccionar una fase o un agente
Enter / Profundizar; Esc retrocede
fFiltrar agentes por estado (v2.1.186+)
pPausar o reanudar la ejecución
xDetener el agente seleccionado, o toda la ejecución cuando el foco está en ella
rReiniciar el agente en ejecución seleccionado
sGuardar el script de esta ejecución como un comando

También aparece un resumen de progreso de una línea en el panel de tareas debajo de tu caja de entrada; pulsa la flecha hacia abajo para enfocarlo y Enter para expandirlo.

Reanudar: detén una ejecución y reanúdala más tarde (p); los agentes que ya terminaron devuelven resultados en caché y el resto se ejecuta en vivo. La reanudación funciona dentro de la misma sesión; si sales de Claude Code a mitad de una ejecución, la siguiente sesión la inicia de cero.

Guarda un flujo de trabajo para reutilizarlo

Cuando Claude escribe una buena orquestación para algo que vas a repetir —una revisión que ejecutas en cada rama— pulsa s en /workflows para guardar el script de esa ejecución. Tab alterna dónde:

  • .claude/workflows/ en tu proyecto: compartido con todos los que clonen el repositorio
  • ~/.claude/workflows/ en tu directorio personal: disponible en todas partes, solo tú lo ves

Entonces se ejecuta como /[name] en sesiones futuras. Un flujo de trabajo guardado puede recibir entrada mediante un global args, así lo parametrizas en el momento de la llamada en lugar de editar el script:

> Run /triage-issues on issues 1024, 1025, and 1030

Claude pasa la lista como datos estructurados, así que el script llama directamente a métodos de array/objeto sobre args.

Cuida el coste

Un flujo de trabajo genera muchos agentes, así que una sola ejecución puede usar bastantes más tokens que hacer la misma tarea en conversación, y cuenta para el uso y los límites de tasa de tu plan. Dos hábitos lo mantienen razonable:

  • Trocea primero. Ejecuta sobre un directorio (no todo el repositorio) o una pregunta acotada primero para calibrar el gasto; /workflows muestra el uso de tokens por agente en vivo, y puedes detenerlo en cualquier momento sin perder el trabajo completado.
  • Dimensiona bien el modelo. Cada agente usa el modelo de tu sesión salvo que el script enrute una etapa a otro. Comprueba /model antes de una ejecución grande y, cuando describas la tarea, pídele a Claude que use un modelo más pequeño para las etapas que no necesitan el más potente. Consulta Coste y latencia y Elegir un modelo.

Errores comunes

  • Esperar intervención humana a mitad de ejecución. No hay entrada a mitad de ejecución. Si una tarea necesita tu aprobación entre etapas, divídela en flujos de trabajo separados.
  • Olvidar la lista de permitidos en ejecuciones desatendidas. Un flujo de trabajo largo se atasca en cuanto un agente topa con un comando de shell que no está en la lista de permitidos. Autoriza por adelantado lo que los agentes necesitan.
  • Recurrir a un flujo de trabajo cuando bastaría un subagente. Unas pocas tareas delegadas por turno es para lo que sirven los subagentes. Los flujos de trabajo justifican su sobrecarga a escala de flota o cuando quieres la orquestación guardada como un script re-ejecutable.
  • Ejecutar con esfuerzo ultracode toda la sesión para ediciones rutinarias. Planifica un flujo de trabajo para todo: genial para el trabajo difícil, despilfarrador para un arreglo de una línea. Baja a /effort high.

Ponte a prueba

0/3
  1. ¿Cuál es la diferencia que define a un flujo de trabajo frente a los subagentes, las skills o los equipos de agentes?
  2. Ejecutas un flujo de trabajo largo y desatendido y los agentes necesitan un comando de shell que no está en tu lista de permitidos. ¿Qué pasa?
  3. ¿Cuál es la forma más barata de calibrar lo que costará un flujo de trabajo grande antes de comprometerte?
Key takeaways
  • Un flujo de trabajo lleva el plan al código —el script guarda el bucle y los resultados intermedios—, así que las ejecuciones escalan a decenas o cientos de agentes.
  • Prueba uno al instante con /deep-research; inicia el tuyo con la palabra clave ultracode, /effort ultracode o un /comando guardado.
  • El mensaje de aprobación existe porque una ejecución puede generar muchos agentes: Default y accept-edits preguntan en cada ejecución; Auto pregunta una vez; bypass y sin interfaz nunca preguntan.
  • Los agentes generados se ejecutan en acceptEdits con tu lista de permitidos, así que autoriza por adelantado los comandos que necesitan antes de una ejecución desatendida.
  • Los flujos de trabajo cuestan bastantes más tokens: trocea primero, dimensiona bien el modelo por etapa y baja el esfuerzo ultracode a /effort high para las ediciones rutinarias.

Desactivar los flujos de trabajo

Desactiva Flujos de trabajo dinámicos en /config, pon "disableWorkflows": true en ~/.claude/settings.json, o establece la variable de entorno CLAUDE_CODE_DISABLE_WORKFLOWS=1. Las organizaciones pueden desactivarlos en los ajustes gestionados. Cuando están desactivados, los comandos de flujo de trabajo integrados desaparecen y ultracode ya no dispara una ejecución ni aparece en el menú de /effort.

Siguiente