Skip to content
Menu Academia

Heartbeat de agentes para tarefas de longa duração

Um padrão pronto para check-ins periódicos do agente, para o time ver progresso durante refactors, migrações e jobs em lote que levam horas.

template Desenvolvedor Ops 5 min read

Trabalho longo de agentes—refactors de várias horas, migrações grandes de esquema, ingestão em lote ou correções massivas de testes—abre um buraco de visibilidade. Vocês se afastam, mudam de contexto ou assumem que o agente falhou quando o chat fica em silêncio. Um template de heartbeat no Dailybot transforma esse silêncio em ritmo previsível: atualizações curtas e estruturadas que mostram que o agente segue ativo, exibem movimento e expõem problemas cedo.

O que este template inclui

Calendário de check-ins periódicos

O template define quando o agente deve reportar, não só o que ele diz. Padrões típicos: intervalo fixo (por exemplo, a cada trinta minutos em trabalho pesado), cadência por fases (heartbeat por bloco de migração) ou híbrido (a cada hora durante a execução e um resumo final). O calendário deve combinar com o risco da tarefa: maior impacto ou custo de falha sugere intervalos mais curtos. Documentem o calendário junto ao fluxo para quem entrar no meio do caminho saber quando esperar o próximo ping.

Formato de atualização de progresso

Cada heartbeat usa um bloco compacto e escaneável para os canais continuarem legíveis. Campos recomendados: identificador da execução, fase atual, indicador de progresso (porcentagem, registros processados ou arquivos tocados), tempo decorrido, erros ou novas tentativas, e a próxima ação planejada antes do próximo heartbeat. Tags opcionais como healthy, degraded ou blocked ajudam regras de roteamento e filtros. Manter o formato consistente permite que pessoas reconstruam o estado sem abrir logs.

Notificações de conclusão e falha

O template encerra com dois resultados explícitos. Conclusão publica mensagem final: resumo do que mudou, links para artefatos (PRs, relatórios de migração, IDs de job), passos de validação e notas de handoff para revisão. Falha inclui classe de erro, último passo bem-sucedido, se a execução é segura para nova tentativa ou exige intervenção manual, e quem foi notificado. Tratem heartbeats de falha como cidadãos de primeira linha: devem acionar o mesmo caminho de escalação que um heartbeat perdido quando a severidade exigir.

Como configurar

Intervalo do heartbeat

Escolham um intervalo que equilibre ruído versus risco. Cadência de quinze minutos pode lotar um canal ocupado; intervalo de duas horas pode deixar incerteza demais em operações frágeis. Comecem com trinta a sessenta minutos para agentes de desenvolvimento geral, apertem para trabalho que afeta produção e alarguem para jobs em segundo plano idempotentes. Se o agente suportar ritmo dinâmico, documentem regras (por exemplo, “acelerar para quinze minutos após o primeiro erro”).

Escalação por heartbeats perdidos

Definam falha como ausência de mensagem dentro do intervalo mais um período de tolerância combinado (muitas vezes um intervalo inteiro). Após uma falha, lembrete opcional ao dono ou a quem executa o agente. Após duas falhas seguidas, encaminhem para um canal de ops ou engenharia com metadados da execução. Em culturas com plantão, espelhem a regra na política de paging só quando o job subjacente for realmente crítico—o Dailybot brilha como linha do tempo legível; o paging deve seguir seus padrões de incidente.

Configuração de exemplo

Usem como ponto de partida para um workflow ou checklist que o agente atualize via API, comando slash ou automação agendada:

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

Ajustem nomes e canais ao workspace. O essencial é que intervalo, tolerância, escalação e lista de campos fiquem explícitos para pessoas e automação compartilharem o mesmo contrato.

Dicas operacionais

Mantenham heartbeats amigáveis à idempotência: se um post duplicado passar, quem lê ainda entende o estado atual. Prefiram linkar a uma única fonte da verdade (dashboard, URL do job ou doc) em vez de colar logs enormes. Se vários agentes rodam em paralelo, prefixem mensagens com identificadores de agente ou tarefa para evitar colisão.

Bem usado, este template transforma sessões longas de agente de uma caixa preta em narrativa operacional compartilhada—o que desenvolvimento e ops precisam quando o trabalho ultrapassa uma reunião ou bloco de foco.

FAQ

Qual problema um heartbeat de agente resolve?
Dá visibilidade para pessoas quando agentes de código rodam por horas—ninguém assume processo travado ou silencioso se o trabalho ainda está avançando.
O que cada mensagem de heartbeat deve incluir?
Timestamp, fase ou marco, progresso percentual ou qualitativo, bloqueios, próximo heartbeat esperado e se a execução está saudável ou degradada.
Como os times tratam heartbeats perdidos?
Definam intervalo e janela de tolerância e, em seguida, encaminhem escalação para um canal ou superfície de plantão após falhas consecutivas.