2026-08-01T15:00:39.159Z
Observabilidade do agente AI: prova de que nenhum trabalho aceito desapareceu
Uma reconciliação de seis cenários detecta trabalhos desaparecidos, estados contraditórios, contratos de locação expirados e resultados fantasmas que os contadores agregados perdem.
Uma fila de agentes pode relatar a profundidade esperada, os trabalhadores podem continuar a emitir intervalos, e os contadores de trabalho concluído podem continuar a subir enquanto um trabalho aceito desapareceu. A resposta prática é parar de comparar os totais e conciliar as identidades. Em um corte limitado, registar todos os work id aceitos e exigir que ocupem exatamente um balde de corrente: A ⊎ importa: trata se de uma união desarticulada, não de uma adição ordinária. Uma identificação encontrada em dois baldes é uma contradição. Uma identificação aceita encontrada em nenhum está faltando. Uma identificação terminal ou ativa que nunca foi aceita é um fantasma. Esta verificação da conservação do trabalho não promete executar exactamente uma vez, mas pode provar um facto mais estreito e útil: a evidência do plano de controlo contabiliza cada unidade de trabalho aceita exactamente uma vez. Total iguais podem ocultar um trabalho perdido Suponha que o livro de aceitação contém 1.000 identidades. A fila, a tabela de arrendamento e o livro de terminais também contêm 1.000 registros no total. Um painel com base em contagem torna se verde. Essa aritmética permite uma má substituição: o work 417 aceito está ausente enquanto o registro terminal ghost 92 apareceu. As contagens ainda coincidem. Os conjuntos de identidade não. Definir as provas no ponto de corte t0 : A : Identificadores duradouros reconhecidos como aceitos em ou antes do t0 ; Q : identidades aceites visíveis como filas no instantâneo de corte; L : identificação aceita com um contrato de locação cuja expiração seja posterior a t0 ; T : Identificadores aceites com um registro terminal reconhecido. Então verifique as duas direções: O terminal precisa de uma política explícita. O completed é terminal. O cancelled pode ser terminal quando o cancelamento for autorizado e duradouro. O dead lettered também pode ser terminal para fins de conservação, embora seja um resultado fracassado que ainda necessita de atenção. Uma fila de letras mortas é útil precisamente porque isola o trabalho que não foi processado com sucesso para o diagnóstico e possível redirecionamento, como explica o Documentação de fila de letras mortas do Amazon SQS. Não trate o leased como um estado atemporal. No SQS, receber uma mensagem não a elimina; a mensagem torna se temporariamente invisível e deve tornar se visível novamente se não for excluída antes do prazo de visão expirar. As filas padrão também usam entrega pelo menos uma vez, de modo que uma janela de visibilidade não é uma fechadura exata de uma vez. Os Semântica de visibilidade tempoout documentados são o motivo pelo qual a invariante usa valid lease , não todas as linhas de arrendamento já escritas. Executa a reconciliação de seis cenários O dispositivo de acompanhamento torna a regra de decisão inspecionável sem a necessidade de um corretor. Contém seis instantâneos no 2026 07 27T00:00:00Z : Escenário Evidências Veredicto esperado Estados de corrente mista Uma fila, um contrato de locação não expirado, um concluído CONSERVED Desapareceu após a aceitação Identificação aceita em nenhum balde atual MISSING Em fila e concluída A mesma identificação em dois baldes DUPLICATE STATE Licença de arrendamento expirou O arrendamento terminou antes do corte, não há provas de devolução. EXPIRED LEASE Terminal fantasma Identificação completada desconhecida equilibra a contagem PHANTOM Anulação explícita Identificação aceita tem um registro de cancelamento duradouro CONSERVED Baixe work conservation fixture.json e audit work conservation.mjs do pacote de evidências de artigos, ou reproduza seus campos em um diretório local, e, em seguida, execute: Os números exatos observados foram: PASS significa que o auditor classificou todos os seis aparelhos conforme esperado; não significa que todos os aparelhos fossem saudáveis. Foram detectados quatro casos deliberadamente insalubres. O caso fantasma é a armadilha importante. Tem uma identificação aceita e dois registros observados: a identificação real permanece na fila enquanto uma identificação desconhecida reivindica a conclusão. Uma verificação ingênua da igualdade pode parecer equilibrada escolhendo um agregado de cada subsistema. Configurar os relatórios de reconciliação da identificação terminal não aceita em vez disso. O caso do estado duplicado expõe o problema inverso: cada identificação é conhecida, mas o mesmo trabalho parece pronto para outra tentativa e já concluído. É também por isso que os vestígios de mensagens por si só são insuficientes. A Convenções de mensagens OpenTelemetry distingue o recebimento, o processamento e a liquidação e descreve o contexto de criação para a correlação entre produtores e consumidores. Esse contexto é uma valiosa evidência. Um período de tempo de processo, no entanto, não estabelece por si só o estado atual da fila ou um resultado terminal duradouro. Faça um corte coerente do ciclo de vida A invariante torna se enganosa quando suas entradas descrevem momentos diferentes. Imagine ler o livro de aceitação às 12:00:00, a fila às 12:00:03, e os resultados finais às 12:00:08. Um trabalho pode legitimamente mover se entre essas leituras e parecer perdido ou duplicado. Use o mecanismo de consistência mais forte que a sua pilha suporta: 1. Assinar um work id imutável, qualificado pelo espaço de nomes, antes de reconhecer a aceitação; 2. Escrever o registo de aceitação de forma duradoura na mesma transação em que a encomenda, ou manter uma relação de caixa de saída recuperável; 3. Captar a fila e o estado do arrendamento em uma marca de água nomeada, compensação, imagem instantânea da base de dados ou barreira de observação breve; 4. Incluir o lease expires at , e não apenas o leased=true ; 5. Adicionar resultados terminais com o mesmo work id , tipo de resultado e timestamp duradouro; 6. Conciliar apenas registos cujas regras de visibilidade os colocam no mesmo lado do t0 . Se os sistemas não conseguirem fornecer um corte coerente, retorne o UNVERIFIABLE em vez de inventar um resultado saudável. Um curto período de quietude pode reduzir o churn, mas não substitui um contrato de consistência. Documentar a distorção máxima do instantâneo e adiar um alerta até que um item de trabalho tenha permanecido anormal além desse limite. Identificação estável é igualmente importante. Uma nova tentativa deve normalmente manter o work id lógico e receber um attempt id separado. Se cada tentativa obtém uma nova identidade de trabalho, a auditoria não pode distinguir uma nova tentativa de trabalho. Se as identidades forem reutilizadas entre inquilinos ou filas, um registro terminal legítimo pode parecer um fantasma ou falsear satisfazer outro emprego. Um contrato de arrendamento expirado merece o seu próprio veredicto. Pode já ser visível no corretor novamente, mas uma velha linha de arrendamento não pode provar essa transição. Requer provas de fila ou uma nova geração de contrato de arrendamento antes de chamá lo ativo. Isto mantém a espera separada da espera: um contrato de arrendamento válido pode representar trabalho; o trabalho em fila pode representar uma espera legítima; um contrato de arrendamento expirado sem devolução observada não é resolvido. Mapear cada veredicto para uma resposta limitada A auditoria deve preparar a investigação, não lançar uma ampla repetição. Para o MISSING , verifique primeiro a distorção de imagem instantânea, e depois inspecione o limite de aceitação para consulta e qualquer caixa de saída transacional. Preserva provas antes de tentar novamente. Recriar um trabalho de um registro incompleto pode duplicar um efeito externo. Para o DUPLICATE STATE , interromper a recolha automática para esse ID se a fila permitir uma retenção reversível. Comparar provas terminais com qualquer recibo de efeito antes de decidir se a cópia em fila é obsoleta. Um único rótulo terminal pode ser errado; um item de fila ainda visível também pode ser uma réplica atrasada. Para a EXPIRED LEASE , peça à corretora uma nova visibilidade e verifique a geração de trabalhadores. Uma re locação limitada só pode ser segura após o titular anterior ser cercado ou provado morto. A auditoria da conservação detecta o estado não resolvido; não autoriza a recuperação. Para o PHANTOM , verifique o espaço de nomes do ID, os bugs de ingestão e a proveniência do terminal ledger. Não apague o registro desconhecido apenas para fazer o equilíbrio. Poderia ser um trabalho válido de outro inquilino, fila ou janela de observação. Por fim, a conservação não é qualidade do resultado. Um registo completed pode ainda apontar para um produto faltante ou incorreto. Seguir este ensaio do ciclo de vida com verificação determinista dos resultados, sempre que possível. Os dois controlos respondem a perguntas diferentes: Este trabalho aceito foi contabilizado?E o trabalho produziu o resultado pretendido? A Sidewisp está atualmente em prévia privada. A recolha de agentes de produção saúde, adaptadores de fila e recuperação no tempo de execução não são geralmente enviados. A conservação do trabalho é um exemplo das evidências que uma futura camada de saúde poderia avaliar; não é uma alegação de que a Sidewisp atualmente recolha esses registros ou age sobre agentes vivos. A mudança útil a curto prazo é o instrumento de identificação de trabalho estável e testar o invariante localmente antes de adicionar qualquer resposta automatizada.