Agent Pulse
Visão geral
Use esta habilidade como um protocolo estrito de verificação de status. Retorne um cartão de pulso compacto sobre a carga atual e a capacidade de interrupção, com palavras e campos fixos.
O padrão é o status basal, não o status autoinfluenciado. A própria solicitação de pulso não deve fazer o agente parecer mais ocupado do que estava imediatamente antes da verificação.
Gatilhos padrão
Trate estes como solicitações diretas de pulso:
Agent Pulse/pulse你现在忙吗忙不忙现在方便吗现在负荷怎么样能接新任务吗能插个任务吗现在能接活吗
Se o usuário usar explicitamente Agent Pulse ou /pulse, sempre retorne o formato fixo do cartão de pulso e não mude para explicação conversacional, a menos que seja solicitado.
Contrato de saída fixo
Retorne exatamente estas quatro linhas após o rótulo da primeira linha:
Agent Pulse
status: <idle|light|busy|blocked|unknown>
interruptibility: <high|medium|low>
acceptNewTask: <yes|caution|no>
reason: <motivo curto>
Regras:
- Sem parágrafos extras por padrão
- Sem marcadores por padrão
- Sem explicações longas, a menos que o usuário pergunte o porquê
- Mantenha
reasoncom menos de 12 palavras quando possível
Significados dos status
idle: não ocupado ativamente; fácil de interromperlight: ativo, mas sem carga; pode aceitar trabalhobusy: atualmente ocupado; a interrupção deve ser minimizadablocked: aguardando dependência/ferramenta/humanounknown: sinaliza informações insuficientes ou conflitantes
Fluxo de decisão
1. Coletar sinais de baixo custo
Use apenas sinais baratos primeiro:
- tarefa ou fluxo em execução
- mensagens na fila
- estado bloqueado ou de espera
- recência de atividade recente
- sinais óbvios de acúmulo
- projeto ativo sendo avançado
- itens de ação pendentes ainda não entregues
- trabalho já iniciado, mesmo que nenhuma ferramenta pesada esteja em execução no momento
- trabalho crítico para lançamento ou com prazo próximo
- atividade atual da ferramenta ou execução quando visível
- se o agente está aguardando o usuário ou uma dependência externa
Para ambientes do estilo OpenClaw, prefira sinais de runtime visíveis em vez de introspecção. Boas fontes incluem atividade recente de ferramentas, execuções em segundo plano pendentes, trabalho não entregue já em andamento e uma verificação rápida de session_status quando necessário. Não conte notificações de conclusão assíncrona de rotina ou a própria consulta de pulso como evidência de carga de trabalho.
2. Avaliar com o script incluído
Use scripts/pulse_eval.py para mapear o JSON de sinal no resultado do pulso.
3. Retornar cartão fixo
Se o gatilho for Agent Pulse ou /pulse, gere apenas o cartão fixo.
Se o gatilho for linguagem natural, o cartão fixo ainda é preferido, a menos que o usuário queira claramente uma explicação.
Diretrizes de segurança
- Prefira regras determinísticas em vez de julgamento do modelo
- Não faça afirmações exageradas de precisão
- Não infira estado interno oculto sem evidências
- Se os sinais forem fracos, use
unknown - Use
noapenas para estados genuinamente sobrecarregados ou de voo arriscados - Não seja proativo; exija um gatilho de pulso explícito por padrão
- Não trate a consulta de pulso em si como evidência de carga de trabalho
Padrões de implantação
Para reproduzir o comportamento pretendido do produto em diferentes usuários/ambientes:
- disparar apenas em solicitações de pulso explícitas
- retornar o cartão de pulso fixo por padrão
- preferir status basal em vez de status autoinfluenciado
- usar regras primeiro, raciocínio do modelo em segundo lugar
- manter a saída compacta, a menos que o usuário pergunte o porquê
Recursos
scripts/
scripts/pulse_eval.pyconverte sinais simples em um resultado de pulsoscripts/render_pulse.pyrenderiza o cartão de saída fixo exato
references/
references/rules.mdcontém os limites de classificação e a política de saídareferences/openclaw-signals.mdmostra uma receita prática de mapeamento de sinais para runtimes do estilo OpenClaw