2026-08-01T22:24:05.939Z
Agente AI Observabilidade: Diagnóstico de Deadlocks com um gráfico de espera
Construa e teste um gráfico de espera que separe espera normal, aprovação humana, dependências inacessíveis, ciclos frescos e bloqueios de coordenação obsoletos.
Agente AI A observabilidade precisa responder a uma questão de coordenação que a telemetria de solicitações ordinária deixa aberta: Quem está à espera de quem, e essa espera ainda é legítima? O padrão prático é de duas camadas. Mantenha rastros para detalhes de execução causal, em seguida, mantenha um pequeno nível de aplicação gráfico de espera para dependências ativas. Cada borda direcionada diz que um agente não pode continuar até que outro agente, uma pessoa ou um sistema externo forneça algo específico. Uma borda acíclica para um agente de trabalho é geralmente uma espera normal. Uma vantagem para uma pessoa é um estado de necessidades humanas. Um ciclo fechado de agente a agente é um aviso, mas torna se um candidato a um impasse apenas quando cada participante também deixou de fazer progressos úteis por um intervalo calibrado. Essa condição final importa. Reiniciar um agente saudável porque o seu tempo é silencioso destrói o contexto. Reiniciar um grupo inteiro porque um gráfico contém um ciclo novo pode duplicar chamadas de ferramenta. O operador precisa de topologia, de frescura e de um resultado esperado, não de uma única luz ocupada. Traços mostram execução; bordas de dependência explicam a pausa O Orientação de observabilidade AI da Microsoft recomenda traços de ponta a ponta que ligam os passos de execução do agente, com identificadores de execução, invocações de ferramentas e agentes, e conteúdo suficiente para reconstruir incidentes. Diz também que a latência, erros e transmissão são muito estreitos para estabelecer a qualidade e confiabilidade do sistema AI. Esta base é útil, mas não define a promessa da sua candidatura entre dois agentes colaboradores. Os emergentes OpenTelemetry Convenções de alcance de agentes da GenAI fornecem vocabulário para operações como invoke agent , invoke workflow , plan e execute tool , além de identificadores de agentes estáveis quando disponíveis. O documento é expressamente marcado Development . Trate o como uma camada de interoperabilidade em evolução, não permissão para fingir que um atributo proposto prova o seu fluxo de trabalho concluído. Imaginem que um agente de pesquisa invoca um revisor. O período de invocação pode terminar com êxito mesmo que o revisor não tenha aceito a atribuição, o revisor esteja à espera de um contrato de destino ou o pacote fonte solicitado nunca tenha chegado. O espaço descreve a invocação. O registo de dependência descreve por que a operação maior não pode avançar. Use os dois. Não sobrecarregue o status de tempo de aplicação com resultados que não podem ser suportados. Registrar o contrato de espera mínimo Uma vantagem útil é deliberadamente pequena. Precisa de identificadores operacionais estáveis e de frescura, não de pedidos ou de cadeia de pensamento: O operation id contém o gráfico. O waiter → blocker fornece a sua direcção. A blocker type distingue um agente de um serviço humano ou externo. O since diz lhe quanto tempo a dependência existe, enquanto o last progress at refere se a um movimento útil nesta operaçãonão um batimento cardíaco, um fluxo de tokens ou uma retomada repetida. O reason deve indicar a condição desaparecida. O authority impede que um portal de aprovação seja recuperado como se fosse um processo falhado. Mantenha o conteúdo fora do limite. Um identificador de tarefa, hash de artefatos, código de razão editado e ID de correlação de rastro são geralmente suficientes. As orientações da Microsoft colocam a minimização, retenção, controle de acesso e privacidade de dados ao lado da utilidade forense. Um gráfico de espera deve ajudar a localizar evidências; não deve tornar se um segundo local para instruções, argumentos de ferramentas, segredos ou conteúdos entregues. A ilustração acima é uma pausa normal. A cadeia é acíclica, o trabalho é fresco, e o bloqueador final é a autoridade humana explícita. Nenhum agente pode fornecer essa autoridade. A acção correta é encaminhar a decisão para o proprietário com as provas pertinentes. Um ciclo gráfico é evidência, não um veredicto. A detecção de ciclos é barata. O diagnóstico não é. Para cada operação ativa, construa um gráfico direcionado de bordas de agente a agente e execute uma pesquisa de profundidade ou um algoritmo de componentes fortemente conectados. Um componente com mais de um nó ou uma borda própria contém um ciclo. Em seguida, avaliar três condições independentes: 1. Coverage: são todos os participantes ativos e dependências representados, ou falta telemetria? 2. Freshness: quando foi a última vez que cada participante mudou o artefato esperado, a decisão ou o estado da tarefa verificada? 3. A Autoridade: , alguma vantagem espera intencionalmente uma pessoa, credencial, escolha irreversível ou serviço externo? Só chamar o ciclo obsoleto quando a idade mais jovem de último progresso nesse ciclo exceda o limiar. Usar a idade mais velha é um erro sutil: um participante de longo tempo pode fazer um ciclo parecer preso mesmo enquanto outro participante muda a saída há segundos. O limiar é específico da carga de trabalho. Cinco minutos é plausível para um ciclo de revisão de código local rápido e absurdo para um agente de pesquisa que espera por uma longa construção. A partir de um intervalo de progresso esperado para essa operação, adicionar um tempo de transporte e de agendamento e preservar um estado UNCERTAIN CYCLE quando as provas forem demasiado frescas ou incompletas. Esta distinção também protege contra a distorção do relógio. Se as timestamps vierem de vários anfitriões, normalizá las através de um coletor de confiança ou carregue um relógio fonte e incerteza ligada. Uma idade negativa ou improvávelmente grande deve reduzir a confiança, não desencadear a recuperação. Reproduzir cinco estados de coordenação Testei a regra com oito bordas do NDJSON agrupadas em cinco operações. O tempo de fixação é 2026 07 24T18:30:00Z , e a janela obsoleta ilustrativa é de 300 segundos. O classificador aplica a seguinte ordem: Essa ordem faz parte do contrato de segurança. Se você testar para ciclos antes da autoridade, uma margem de aprovação humana representada por um agente proxy pode ser mal manipulada. Se testarmos apenas a frescura, uma loja de artefatos inacessíveis e um grupo de agentes que esperam mutuamente desmoronam no mesmo prazo genérico, mesmo que as suas reparações diferam. Execução do classificador determinista produzido: Os dois ciclos têm a mesma forma. As suas conclusões operacionais diferem porque o ciclo de dois agentes mudou de estado útil há 1520 segundos, enquanto cada membro do ciclo de três agentes permaneceu quieto por pelo menos 1.860 segundos. A topologia sozinha não pode tomar essa decisão. O teste também expõe um modo de falha em todos os painéis de controle online. Todos os participantes da op cycle podem responder a um batimento cardíaco e ainda não conseguirem avançar. Por outro lado, o op approval pode permanecer quieto por vinte minutos sem ser quebrado. A acessibilidade é um sinal; a resolução de dependência é outro. Fatura uma borda, e verifique o resultado. Um ciclo obsoleto exige uma investigação antes da intervenção. Abre os traços correlacionados, inspecione as razões de dependência e identifique a menor borda reversível que pode ser resolvida sem inventar autoridade faltante. Para a fixação de três agentes, o editor aguarda um pacote de fontes, o pesquisador aguarda notas de revisão e o revisor aguarda um contrato de destino. Se o contrato de destino já existir em armazenamento duradouro, anexar essa evidência à tarefa do revisor pode romper com segurança uma vantagem. Reiniciar os três agentes seria uma ação muito maior e poderia repetir o trabalho externo. Usar um registo de recuperação limitado: A borda selecionada e as provas que apoiam o diagnóstico; A ação reversível exata proposta; quem o aprovou, quando for exigida a aprovação; um prazo, uma nova tentativa e um limite de custos; O sinal de progresso esperado posteriormente; O artefacto ou o resultado que deve ser verificado de forma independente. Não limpe o incidente porque um comando de empurrão ou retomada devolveu zero. Primeiro, procure uma transição de borda, depois um progresso útil e, finalmente, a saída pretendida. Se o relatório esperado ainda estiver ausente, a operação não é resolvida mesmo que todos os vestígios sejam verdes. O Visão geral da observabilidade do agente OpenTelemetry explica por que a telemetria padronizada importa em todos os quadros e por que a telemetria de agentes também alimenta a avaliação. O gráfico de espera complementa essa telemetria; não substitui rastreamentos, registros, avaliações ou verificações de resultados. Saber o que o gráfico não pode provar Um gráfico de espera é tão completo quanto os seus autores. Um agente acidentado pode falhar antes de emitir a sua borda. Um agente defeituoso pode relatar progressos sem sentido. Uma credencial expirada pode aparecer como uma espera externa genérica. Uma fila pode atrasar um evento o suficiente para criar um ciclo falso temporário. Trate as como limitações explícitas: As bordas faltantes produzem falsos negativos. Os relógios velhos ou distorcidos distorcem a frescura. Contadores de progresso sem artefacto delta recompensa atividade. Um ciclo pode desaparecer enquanto o material de entrega solicitado permanece ausente. Um escritor malicioso ou comprometido pode falsificar o seu próprio estado. Mitigá los com a frescura do coletor, escritores autenticados, números de sequência monótono, hashes de artefatos, correlação de vestígios e verificação de resultados. Quando os sinais discordarem, devolva o UNCERTAIN e peça provas. A incerteza é um estado operacional, não uma razão para tornar a recuperação mais agressiva. A regra resolvida é compacta: rastrear o trabalho, registrar dependências ativas, detectar ciclos, exigir evidências de progresso útil obsoletas, preservar a autoridade humana, alterar uma borda limitada e verificar o resultado pretendido. Isso é suficiente para transformar os agentes ocupados mas nada está a acontecer num diagnóstico que um operador pode inspecionar. A Sidewisp está atualmente em prévia privada. Os adaptadores de monitorização da produção e o motor de recuperação não são geralmente enviados. Se uma visão de saúde que separe o trabalho, a espera, os agentes presos, incertos e necessitados humanos ajudariam a sua operação, você pode participar da pré visualização privada sem substituir o seu tempo de execução existente.