Programación y agentes de IA

[Claude Code #6] /goal: cómo definir condiciones de logro para la IA

Claude Code /goal hace que un modelo árbitro independiente evalúe cada turno hasta cumplir las condiciones definidas. Aquí se resumen cómo redactarlas, combinarlas con auto mode y completar tareas en modo headless.

4 min de lectura
Imagen de portada de [Claude Code #6] /goal: cómo definir condiciones de logro para la IA

Cuando delegas una tarea grande a la IA, se detiene constantemente a mitad del proceso. Pregunta: «Todavía fallan 3 pruebas, ¿quieres que continúe?».

Cada vez, se convierte en trabajo escribir «sí, continúa». Y si te ausentas, la tarea se queda detenida en ese punto.

Claude Code /goal resuelve este problema declarando condiciones. Al definirlas, Claude continúa trabajando turno tras turno hasta que se cumplen.

Si Claude Code, parte 5 y su /rewind son la red de seguridad, /goal es el mecanismo para completar la tarea.

Cómo funciona: hay un árbitro independiente

La explicación de Documentación oficial de /goal señala la idea central. Al terminar cada turno, un modelo independiente pequeño y rápido comprueba si se cumplen las condiciones. Si no, Claude inicia el turno siguiente en lugar de volver al usuario.

No es una estructura en la que el modelo de trabajo se felicita a sí mismo diciendo «ya está». Un tercer modelo árbitro (Haiku, según la API de Claude) evalúa cada turno y deja también una breve explicación. Los tokens de evaluación son insignificantes frente al trabajo principal.

Cuando se cumplen las condiciones, el objetivo se desactiva automáticamente.

Diagrama del bucle de repetición de turnos y evaluación del modelo árbitro de Claude Code /goal
Los turnos continúan hasta que se cumplen las condiciones

Uso básico

Escribe las condiciones después de /goal y el turno comienza de inmediato. No hace falta un prompt adicional.

/goal test/auth todas las pruebas deben pasar y el lint debe estar limpio

Mientras está activo, muestra el tiempo transcurrido con el indicador ◎ /goal active.

  • /goal (sin argumentos): consulta las condiciones, el tiempo transcurrido, el número de turnos, el uso de tokens y el motivo de la evaluación más reciente
  • /goal clear: desactiva el objetivo antes de cumplir las condiciones (también funcionan stop, cancel, etc.)

Solo puede haber un objetivo por sesión. Al definir uno nuevo, reemplaza al anterior.

Redactar bien las condiciones es la mitad del trabajo

El modelo árbitro no ejecuta comandos ni lee archivos directamente. Solo evalúa lo que Claude deja en la conversación.

Por eso, las condiciones deben poder demostrarse mediante la salida de Claude. La documentación oficial recomienda tres elementos.

  • Un estado final medible: resultados de pruebas, código de salida de la compilación o una cola vacía
  • Especifica el método de verificación: un medio de comprobación como «npm test termina con 0»
  • Restricciones que deben respetarse: por ejemplo, «no modificar otros archivos de prueba»

Si te preocupa que se ejecute indefinidamente, añade una cláusula como «o detenerse después de 20 turnos». Sin embargo, no es un límite superior impuesto por el sistema. Forma parte de las condiciones que el modelo árbitro evalúa a partir de los informes de progreso de la conversación.

Los permisos son independientes

/goal no concede permisos adicionales. En el modo de permisos predeterminado, seguirá preguntando ante cada llamada a una herramienta no autorizada.

Si quieres completar la tarea sin supervisión, lo habitual es combinarlo con auto mode. auto mode elimina las solicitudes de aprobación de herramientas, mientras /goal elimina los prompts entre turnos.

También conviene aclarar en qué se diferencia de mecanismos similares. /loop repite la ejecución según intervalos de tiempo, mientras /goal continúa hasta cumplir las condiciones.

El objetivo se conserva aunque la sesión se interrumpa

Si la sesión termina con el objetivo activo, las condiciones se restauran al reanudarla con --resume o --continue. Solo se reinician el número de turnos, el temporizador y el punto de referencia de tokens.

Si quieres ejecutarlo sin una terminal, también puedes usar el modo headless.

claude -p "/goal todo lo fusionado esta semana PRse reflejará CHANGELOG.mden"

Con una sola llamada, el bucle continúa hasta cumplir las condiciones. En la salida predeterminada no aparece nada antes de completar la tarea, por lo que parece detenido. Añade --output-format stream-json --verbose para ver el progreso.

Ilustración de una mano escribiendo la frase WRITE THE CONDITION y una lista de comprobación de condiciones objetivo
Estado final, método de verificación y restricciones: estos tres elementos deben aparecer en las condiciones

Resumen

/goal es el comando que pulsa «continúa» por ti. Al declarar las condiciones, un modelo árbitro independiente evalúa cada turno y el trabajo continúa hasta completarse.

La clave es diseñar bien las condiciones. Especifica un estado final medible y un método de verificación, e incluye también una cláusula de límite de turnos.

En la próxima parte veremos /background y /tasks, que envían toda la sesión al segundo plano. Después del mecanismo de finalización, ahora toca el mecanismo de delegación.

Fuentes y criterios de verificación

Seguir leyendo

Serie de Claude Code

Temas relacionados