Heartbeat de agentes para tareas de larga duración
Un patrón listo para usar de check-ins periódicos del agente, para que el equipo vea avances durante refactors, migraciones y trabajos por lotes que duran horas.
El trabajo prolongado de agentes—refactors de varias horas, migraciones grandes de esquema, ingesta por lotes o correcciones masivas de pruebas—abre un hueco de visibilidad. Ustedes se alejan del teclado, cambian de contexto o asumen que el agente falló cuando el chat queda en silencio. Una plantilla de heartbeat en Dailybot convierte ese silencio en un ritmo predecible: actualizaciones breves y estructuradas que demuestran que el agente sigue activo, muestran movimiento y dejan ver problemas a tiempo.
Qué incluye esta plantilla
Calendario de check-ins periódicos
La plantilla define cuándo debe reportar el agente, no solo qué dice. Patrones típicos: intervalo fijo (por ejemplo, cada treinta minutos durante trabajo pesado), cadencia por fases (heartbeat por cada bloque de migración) o un híbrido (cada hora durante la ejecución y un resumen final). El calendario debe acoplarse al riesgo de la tarea: mayor impacto o costo de fallo sugiere intervalos más cortos. Documenten el calendario junto al flujo para que quien entre a mitad de carrera sepa cuándo esperar el siguiente aviso.
Formato de actualización de progreso
Cada heartbeat usa un bloque compacto y escaneable para que los canales sigan siendo legibles. Campos recomendados: identificador de ejecución, fase actual, indicador de avance (porcentaje, registros procesados o archivos tocados), tiempo transcurrido, errores o reintentos, y la siguiente acción planeada antes del siguiente heartbeat. Etiquetas opcionales como healthy, degraded o blocked ayudan a reglas de enrutado y filtros. Mantener el formato uniforme permite a las personas reconstruir el estado sin abrir logs.
Notificaciones de finalización y fallo
La plantilla cierra con dos resultados explícitos. Finalización publica un mensaje final: resumen de cambios, enlaces a artefactos (PRs, informes de migración, IDs de job), pasos de validación y notas de entrega para revisión. Fallo incluye clase de error, último paso exitoso, si la corrida es segura para reintentar o requiere intervención manual, y a quién se notificó. Traten los heartbeats de fallo como ciudadanos de primera: deben disparar la misma ruta de escalación que un heartbeat perdido cuando la severidad lo amerite.
Cómo configurarla
Intervalo del heartbeat
Elijan un intervalo que equilibre ruido versus riesgo. Una cadencia de quince minutos puede saturar un canal ocupado; un intervalo de dos horas puede dejar demasiada incertidumbre en operaciones frágiles. Empiecen con treinta a sesenta minutos para agentes de desarrollo general, aprieten para trabajo que afecta producción y amplíen para trabajos en segundo plano idempotentes. Si el agente admite ritmo dinámico, documenten reglas (por ejemplo, “pasar a quince minutos tras el primer error”).
Escalación por heartbeats perdidos
Definan fallo como ausencia de mensaje dentro del intervalo más un periodo de gracia acordado (a menudo un intervalo completo). Tras una falla, un recordatorio opcional al dueño o quien ejecuta el agente. Tras dos fallas seguidas, enruten a un canal de ops o ingeniería con metadatos de la corrida. En culturas con guardia, reflejen la regla en su política de paging solo cuando el trabajo subyacente sea realmente crítico—Dailybot brilla como línea de tiempo legible; el paging debe seguir sus estándares de incidentes.
Configuración de ejemplo
Úsenla como punto de partida para un flujo de trabajo o lista verificable que el agente actualice vía API, comando slash o automatización programada:
heartbeat:
run_id: "migration-2026-03-20"
interval_minutes: 30
grace_minutes: 15
channel: "#platform-migrations"
template_fields:
- phase
- progress_note
- items_processed
- blockers
- next_checkpoint
status_emoji:
healthy: "🟢"
degraded: "🟡"
blocked: "🔴"
escalation:
after_missed: 2
notify: "#infra-oncall"
include_last_known_state: true
completion:
post_summary: true
attach_artifacts: true
Ajusten nombres y canales a su espacio de trabajo. Lo importante es que intervalo, gracia, escalación y lista de campos queden explícitos para que personas y automatización compartan el mismo contrato.
Consejos operativos
Mantengan los heartbeats amigables con idempotencia: si se cuela un duplicado, quien lea debe entender igual el estado actual. Prefieran enlazar a una sola fuente de verdad (dashboard, URL del job o documento) antes que pegar logs enormes. Si varios agentes corren en paralelo, prefijen mensajes con identificadores de agente o tarea para evitar choques.
Bien usada, esta plantilla convierte sesiones largas de agente de una caja negra en una narrativa operativa compartida—lo que desarrollo y ops necesitan cuando el trabajo sobrevive a una sola reunión o bloque de trabajo.
FAQ
- ¿Qué problema resuelve un heartbeat de agente?
- Da visibilidad a las personas cuando los agentes de código corren durante horas, para que nadie asuma un proceso colgado o silencioso si el trabajo sigue avanzando.
- ¿Qué debe incluir cada mensaje de heartbeat?
- Marca de tiempo, fase o hito, avance porcentual o cualitativo, bloqueadores, próximo heartbeat esperado y si la ejecución está sana o degradada.
- ¿Cómo manejan los equipos los heartbeats perdidos?
- Definan intervalo y ventana de gracia, y después enruten una escalación a un canal o superficie de guardia acordada tras fallos consecutivos.