Skip to content

Ganchos de Ciclo de Vida: Contexto Automatizado y Control de Calidad

Lo Que Aprenderás en Esta Lección

  • Inyectar automáticamente contexto de proyecto a los agentes de IA (AGENTS.md, README.md)
  • Prevenir que los agentes dejen tareas a medio terminar, forzando la finalización de listas TODO
  • Truncar automáticamente salidas de herramientas demasiado grandes, evitando el desbordamiento de la ventana de contexto
  • Habilitar el modo Ultrawork para activar todos los agentes especializados con un solo clic
  • Personalizar configuraciones de ganchos para deshabilitar funciones que no necesitas

La Situación en la que Te Encuentras

¿Has experimentado alguno de estos problemas?

  • ¿Los agentes de IA siempre olvidan las especificaciones del proyecto y repiten errores?
  • ¿El agente se detiene a mitad de camino sin terminar la lista TODO?
  • ¿La búsqueda en la base de código produce salidas tan grandes que hacen estallar la ventana de contexto?
  • ¿Tienes que decirle manualmente al agente qué modo de trabajo usar cada vez?

Cuándo Usar Esta Técnica

Los ganchos de ciclo de vida son adecuados para los siguientes escenarios:

Escenarios Típicos

  • Gestión de contexto de proyecto: Inyección automática de AGENTS.md y README.md
  • Control de calidad: Verificación de comentarios de código, validación de bloques de pensamiento
  • Continuidad de tareas: Forzar a los agentes a completar todas las tareas TODO
  • Optimización de rendimiento: Truncamiento dinámico de salidas, gestión de ventana de contexto
  • Automatización de flujos de trabajo: Palabras clave para activar modos, ejecución automática de comandos

La Idea Central

¿Qué Son los Ganchos de Ciclo de Vida?

Los ganchos de ciclo de vida son un mecanismo impulsado por eventos que te permite insertar lógica personalizada en puntos clave del trabajo del agente. Por ejemplo, inyectar automáticamente documentación de proyecto, forzar la finalización de tareas TODO, o truncar salidas excesivamente grandes. Estos ganchos escuchan 4 tipos de eventos: antes de ejecutar una herramienta, después de ejecutar una herramienta, cuando el usuario envía un mensaje, y cuando la sesión está inactiva. Al configurar ganchos razonablemente, puedes hacer que los agentes de IA sean más inteligentes y se ajusten mejor a tus hábitos de trabajo.

Ganchos vs Middleware

Los ganchos son muy similares al middleware de frameworks web, ambos son mecanismos de "hacer cosas específicas en momentos específicos". La diferencia está en:

  • Middleware: Ejecución lineal, puede interrumpir la petición
  • Ganchos: Impulsado por eventos, no puede interrumpir, solo puede modificar datos

32 Ganchos, 7 Categorías Principales

oh-my-opencode proporciona 32 ganchos integrados, divididos en 7 categorías principales:

CategoríaNúmero de GanchosFunción Principal
Inyección de Contexto4Inyección automática de documentación de proyecto, reglas
Productividad y Control6Detección de palabras clave, cambio de modo, gestión de bucles
Calidad y Seguridad4Verificación de comentarios de código, validación de bloques de pensamiento
Recuperación y Estabilidad3Recuperación de sesión, manejo de errores
Truncamiento y Gestión de Contexto2Truncamiento de salida, monitoreo de ventana
Notificaciones y UX3Actualizaciones de versión, notificaciones de tareas en segundo plano, recordatorios de inactividad
Gestión de Tareas2Recuperación de tareas, reintento de delegación

Tipos de Eventos de Ganchos

Los ganchos escuchan los siguientes 4 tipos de eventos:

1. PreToolUse (Antes de Ejecutar Herramienta)

Momento de Activación: Antes de que el agente llame a una herramienta

Qué Puede Hacer:

  • Prevenir la ejecución de la herramienta
  • Modificar parámetros de la herramienta
  • Inyectar contexto

Ganchos de Ejemplo: comment-checker, directory-agents-injector

2. PostToolUse (Después de Ejecutar Herramienta)

Momento de Activación: Después de que la herramienta se ejecuta

Qué Puede Hacer:

  • Modificar la salida de la herramienta
  • Agregar mensajes de advertencia
  • Inyectar instrucciones posteriores

Ganchos de Ejemplo: tool-output-truncator, directory-readme-injector

3. UserPromptSubmit (Cuando el Usuario Envía Mensaje)

Momento de Activación: Cuando el usuario envía un mensaje a la sesión

Qué Puede Hacer:

  • Prevenir el envío (raro)
  • Modificar el contenido del mensaje
  • Inyectar mensajes del sistema
  • Activar modos de trabajo

Ganchos de Ejemplo: keyword-detector, auto-slash-command

4. Stop (Cuando la Sesión Está Inactiva)

Momento de Activación: Cuando el agente deja de trabajar y la sesión entra en estado inactivo

Qué Puede Hacer:

  • Inyectar mensajes posteriores
  • Enviar notificaciones
  • Verificar el estado de las tareas

Ganchos de Ejemplo: todo-continuation-enforcer, session-notification