2026-08-01T19:16:10.278Z
AI Agente Observabilidade para Loops: Repetição de Teste contra Progresso
Um detector de seis casos que detecta ciclos de ação repetidos e osciladores sem marcar o progresso paginado, o backkoff limitado, espera de aprovação ou evidências faltantes.
Uma chamada repetida de ferramenta não é suficiente para chamar um agente AI preso. Marque um ciclo apenas quando uma sequência de ação normalizada se repete, a evidência específica da tarefa não muda, e nem uma dependência declarada nem uma retentagem dentro da política explicam a repetição. Essa regra capta os ciclos A A A A e A B A B sem erros de paginamento, backup ou espera de aprovação para falha. O mínimo prático é uma janela de observação que contém quatro tipos de evidências: assinaturas de ações seguras, impressões digitais de progressos, fatos de política de retribuição e contratos de locação de dependência. Mantenha o rastro bruto para o diagnóstico, mas não deixe que a contagem de chamadas ou o sucesso de intervalos se tornem o veredicto de saúde. Uma chamada repetida é uma atividade, ainda não um ciclo Os tempos de execução dos agentes já expõem atividades detalhadas. O Documentação de rastreamento do SDK OpenAI Agents lista gerações, chamadas de função, guardrails, entregas e intervalos personalizados. O OpenTelemetry Convenções de alcance de agentes da GenAI atual, marcado Desenvolvimento, descreve operações para invocar agentes e fluxos de trabalho, planejar e executar ferramentas. Esses registros podem estabelecer que uma operação foi executada, quanto tempo levou e se retornou um erro. Não conseguem definir o que o movimento útil significa para a sua tarefa. Quatro chamadas para o fetch page podem recolher quatro páginas de resultados diferentes. Quatro chamadas para search com a mesma consulta normalizada e a mesma evidência aceita podem ser um ciclo. O nome da operação é idêntico em ambos os exemplos. Comece derivando dois valores para cada evento consequente: Valor Exemplo Propósito actionSignature search:topic:timeout Comparar a ação semântica após a remoção de campos voláteis progressFingerprint brief:sha 4 Regista uma projeção segura da prova da tarefa após a ação Uma assinatura de ação deve preservar argumentos que alterem o significado da ação e descartar valores que só criam ruído. Mantenha um token de página, classe de destino, consulta normalizada, nome da ferramenta e escopo de permissões quando afetarem o comportamento. Remova os IDs de solicitação, timestamps de relógio de parede, sementes aleatórias, IDs de rastreamento e teclas JSON reordenadas quando não o fizerem. A impressão digital do progresso responde a uma pergunta separada: que observação duradoura seria diferente se esta etapa ajudasse? Para um agente de código, ele pode combinar o canônico Git árvore digest com o resultado do teste alvo. Para uma pesquisa, poderia cobrir as identidades de fontes aceitas e o breve resumo. Para um trabalho de publicação, poderia combinar o conteúdo digest, ID de recurso público e estado de verificação. Não use a declaração do modelo de que ele fez progressos. Encontre o ciclo mais curto e teste o seu efeito Um primeiro detector útil pergunta se a janela de ação completa pode ser descrita por um curto período de repetição. A seguinte função verifica os períodos de um a três e requer pelo menos duas repetições: Para o search, search, search, search , é devolvido o primeiro período. Para o search, read, search, read, search, read , é devolvido o período dois. Um contador duplicado adjacente pega a primeira sequência, mas perde a segunda. A periodicidade por si só ainda não é um impasse. Avaliação do período ao lado das impressões digitais do progresso: A ordem é importante. Verificar a acessibilidade antes de interpretar uma janela de ação. Honrar uma dependência somente quando ela nomeia um proprietário e tem um prazo não expirado. Requer provas completas e seguras antes de calcular um ciclo. Uma impressão digital faltante não é permissão para inferir no progress; produz uncertain . Repeti essa ordem de decisão contra seis instantâneos sintéticos em um tempo de observação fixo: Caso Sequência ou condição Resultado Paginação de catálogo Quatro assinaturas de página distintas; impressão digital cresce de 50 para 182 filas working Serviço de apoio do fornecedor Três chamadas idênticas; erro retrievable; atrasos de 2s depois de 4s retrying Loop de chamada igual Quatro buscas idênticas; digestão inalterada de evidências stuck loop , período 1 Oscilação de pesquisa/leitura Três repetições de um par A/B; digestão breve inalterada stuck loop , período 2 Esperança de aprovação Repetição mais proprietário nomeado e prazo futuro waiting Evidências redigidas Escreve repetidamente, mas não tem impressão digital segura. uncertain O comando do artefato era: Ele devolveu seis afirmações passando, zero falhas, e exatamente os dois casos de ciclo pretendidos. Este é um teste unitário falsificável para a regra, não prova de que estas proporções ocorrem na produção. Mantenha repetidas tentativas limitadas, paginação e espera fora do bucket do loop A prova precisa de mais do que um contador. Registre a classe de erro, a política aplicável, o número de tentativa e o atraso real. O AWS Step Functions documentação de manipulação de erros fornece um exemplo concreto deste contrato: um retrier corresponde a erros nomeados e utiliza campos como IntervalSeconds , MaxAttempts e BackoffRate . A lição transferível é limites explícitos, não um requisito para usar Funções de Passo. Na fixação, três chamadas de fornecedor com rate limit permanecem retrying porque o erro é permitido, a contagem de retest está dentro da política e as lacunas observadas satisfazem o retorno esperado de 2 segundos e depois de 4 segundos. O detetor calcula um ciclo de período um, mas a prova de novo tem prioridade. Se o erro se tornar irrevocavel, os atrasos desmoronarem ou o orçamento da tentativa for esgotado, essa exceção deixará de ser aplicável. A paginação precisa de uma proteção diferente. Não normalize o cursor ou o token de página se ele alterar a fatia requerida. O mais importante, verifique o efeito: o conteúdo de filas aceito ou o conteúdo do conjunto de resultados deve mudar. Uma ferramenta pode circular através de diferentes cadeias de cursor enquanto o destino permanece inalterado, de modo que a variação de argumento sem um delta de progresso é uma evidência fraca. A espera requer um contrato de arrendamento em vez de um status de texto livre: Quando o prazo passar, reclassificar das provas restantes. Limite as renovações e retenha o proprietário. Caso contrário, um agente pode esconder um loop por trás de uma mensagem atualizada indefinidamente esperando por entrada. Calibrar a janela de observação em torno do trabalho O dispositivo utiliza, no máximo, seis eventos de ação e procura por períodos até três. Estes valores tornam o exemplo inspeccionável; não constituem defeitos universais de produção. Escolha a janela entre o ritmo normal do fluxo de trabalho e o ciclo prejudicial mais curto que precisa capturar. Um agente de codificação interativo pode repetir um padrão de leitura/edição/teste ruim em poucos minutos. Um agente de investigação programado pode voltar a visitar uma fonte após uma hora por uma razão legítima. Utilize repetições históricas saudáveis e incidentes para medir o atraso de detecção e os falsos positivos antes de anexar alertas. Perseveram provas suficientes para reproduzir cada transição: Armazenar um digest em teclado ou uma projeção não sensível quando a evidência subjacente pode expor dados de clientes, pedidos, segredos ou caminhos absolutos. Versão do normalizador de assinatura e da definição de impressão digital. Uma normalização alterada pode parecer uma recuperação súbita ou um incidente. Alerta sobre uma transição de estado, não a cada período repetido. Para coletores barulhentos, é necessário duas janelas consecutivas com o mesmo ciclo e evidências inalteradas. Não deixe que essa histerese retarde um fracasso determinista ou uma perda de permissão difícil. O diagnóstico também não autoriza a intervenção. Uma descoberta de stuck loop pode justificar a preparação de um empurrão limitado, a suspensão de um processo de fuga verificado ou a solicitação de revisão humana. Não autoriza silenciosamente uma reinicialização, alteração de credenciais, exclusão, mensagem externa ou reaprovação ilimitada. Após qualquer ação aprovada, exigir uma nova impressão digital do progresso ou um resultado verificado antes de declarar a recuperação. Saber o que este detector não pode estabelecer Uma impronta digital pobre pode transformar um trabalho saudável num ciclo aparente. Se ele hash apenas nomes de arquivos, edições úteis para arquivos existentes desaparecem. Se incluir marcas de horário, o trabalho inalterado parece fresco. Uma assinatura de ação aleatória pode produzir a falha oposta escondendo um ciclo semântico estável atrás de novos IDs ou argumentos reordenados. Alguns trabalhos úteis não são monótono. Um agente de pesquisa pode rejeitar uma hipótese e retornar a uma fonte anterior; um agente de codificação pode reverter uma abordagem quebrada. Preservar transições marcantes ou mudanças de evidências aceitas em vez de assumir que todos os contadores devem subir. Os períodos curtos também são um limite deliberado. Um ciclo de seis etapas não será detectado num período máximo de três. Aumentar o teto de janelas e períodos melhora a cobertura, mas custa memória, retarda o veredicto e aumenta a chance de repetição coincidente. Calibrar a partir de incidentes conhecidos, e manter uncertain quando as provas não podem apoiar uma conclusão segura. A regra operacional permanece estreita: a atividade repetida só se torna um veredicto de ciclo quando a sequência normalizada é periódica, evidências úteis permanecem inalteradas e nenhum contrato válido de retentação ou dependência explica isso. Isso é suficiente para transformar um rastro ocupado em um diagnóstico inspecionável sem fingir que cada chamada repetida de ferramenta é quebrada. A Sidewisp está atualmente em prévia privada. Seu site público e biblioteca de artigos estão ao vivo, mas a coleção de agentes de produção saúde, adaptadores de tempo de execução e recuperação geralmente não são enviados. O Sidewisp destina se a adicionar uma camada de saúde ao longo dos tempos de execução existentes, não a substituir ou a atuar como um fixador autónomo. Se a evidência do loop é um modo de falha que você precisa ver claramente, você pode participar do acesso precoce enquanto trata o produto atual como uma pré visualização em vez de monitoramento implantado.