2026-08-01T19:16:11.942Z

AI agent Observabilité pour les boucles: répétition des tests contre le progrès

Un détecteur à six cas exécuté qui détecte des boucles d'action répétées et oscillatrices sans marquer les progrès paginés, le backkoff limité, les attentes d'approbation ou les preuves manquantes.

Un appel répété à l'outil ne suffit pas pour appeler un agent AI bloqué. Marquer une boucle uniquement lorsqu'une séquence d'action normalisée se répète, les preuves spécifiques à la tâche ne changent pas, et ni une dépendance déclarée ni une nouvelle tentative de politique n'expliquent la répétition. Cette règle prend à la fois les cycles A A A A et A B A B sans erreur de pagination, de rétroaction ou d'attente d'approbation pour l'échec. Le minimum pratique est une fenêtre d'observation contenant quatre types de preuves: signatures d'action sûre, empreintes digitales de progrès, faits de politique de retrait et contrats de location de dépendance. Gardez la trace brute pour le diagnostic, mais ne laissez pas le nombre d'appels ou le succès de l'espace devenir le verdict de santé. Un appel répété est une activité, pas encore une boucle Les temps d'exécution des agents exposent déjà des activités détaillées. Le Documentation de suivi du SDK OpenAI Agents répertorie les générations, les appels de fonction, les barreaux de garde, les remises et les étendues personnalisées. Le OpenTelemetry Conventions sur la durée de l'action de l'agent GenAI actuel, marqué Développement, décrit les opérations d'invocation d'agents et de flux de travail, de planification et d'exécution d'outils. Ces dossiers peuvent établir qu'une opération a été exécutée, combien de temps elle a duré et si elle a rendu une erreur. Ils ne peuvent pas définir ce que signifie le mouvement utile pour votre tâche. Quatre appels à fetch page peuvent collecter quatre pages de résultats différentes. Quatre appels à search avec la même requête normalisée et la même preuve acceptée peuvent être une boucle. Le nom de l'opération est identique dans les deux exemples. Commencez par déduire deux valeurs pour chaque événement conséquent: La valeur Exemple Le but actionSignature search:topic:timeout Comparaison de l'action sémantique après la suppression des champs volatils progressFingerprint brief:sha 4 Enregistre une projection sûre de la preuve de la tâche après l'action Une signature d'action devrait préserver des arguments qui modifient le sens de l'action et rejeter les valeurs qui ne créent que du bruit. Gardez un jeton de page, une classe de destination, une requête normalisée, le nom de l'outil et la portée des autorisations lorsqu'ils affectent le comportement. Retirez les identifiants de demande, les timestamps de l'horloge murale, les graines aléatoires, les identifiants de trace et les clés JSON réorganisées lorsqu'elles ne le font pas. L'empreinte digitale de progrès répond à une question distincte: quelle observation durable serait différente si cette étape aidait? Pour un agent de code, il pourrait combiner la digestion canonique de l'arbre Git avec le résultat du test cible. Pour une recherche, il pourrait couvrir les identifiants de source acceptés et le bref résumé. Pour un emploi d'éditeur, il pourrait combiner le contenu digest, l'identifiant de la ressource publique, et l'état de vérification. N'utilisez pas la déclaration du modèle selon laquelle il a fait des progrès. Trouvez le cycle le plus court, puis testez son effet Un premier détecteur utile demande si la fenêtre d'action complète peut être décrite par une courte période de répétition. La fonction suivante contrôle les périodes de 1 à 3 et nécessite au moins deux répétitions: Pour search, search, search, search , il renvoie la première période. Pour search, read, search, read, search, read , il renvoie la deuxième période. Un compteur de duplication adjacente capture la première séquence mais manque la seconde. La périodicité seule ne prouve toujours pas qu'il y a un arrêt. Évaluer la période à côté des empreintes digitales: L'ordre est important. Vérifiez la facilité d'accès avant d'interpréter une fenêtre d'action. On ne respecte une dépendance que lorsqu'elle nomme un propriétaire et qu'elle a une date limite. Exiger des preuves complètes et sûres avant de calculer une boucle. Une empreinte digitale manquante n'est pas une autorisation pour déduire aucun progrès; elle produit uncertain . J' ai reproduit cet ordre de décision contre six instantanés synthétiques à un moment d'observation fixe: Le cas de l'accusé Sequence ou condition Résultat Paginaison du catalogue Quatre signatures distinctes; les empreintes digitales passent de 50 à 182 rangées working Réservation du fournisseur Trois appels identiques; erreur réessayable; retards de 2s puis de 4s retrying Boucle d'appel identique Quatre recherches identiques; digestion inchangée des preuves stuck loop , période 1 Oscillation de recherche et de lecture Trois répétitions d'une paire A/B; résumé inchangé stuck loop , étape 2 Attendue de l'approbation Répétition plus propriétaire nommé et date limite future waiting Les preuves rééditées Répéter écrit mais pas d'empreinte digitale sûre progression uncertain Le commandement de l' artefact était: Il a renvoyé six affirmations passantes, zéro échec, et exactement les deux cas de boucle prévu. Il s'agit d'un test unitaire falsifiable pour la règle, et non d'une preuve que ces proportions se produisent dans la production. Gardez les répétitions limitées, la pagination et l'attente hors du seau de la boucle Les preuves ont besoin de plus qu'un compteur. Enregistrer la classe d'erreur, la politique applicable, le numéro de tentative et le délai réel. Le Fonctions AWS étape Documentation de traitement des erreurs fournit un exemple concret de ce contrat: un retrier correspond aux erreurs nommées et utilise des champs tels que IntervalSeconds , MaxAttempts et BackoffRate . La leçon transférable est des limites explicites, pas une exigence d'utilisation des fonctions étape. Dans le fichier, trois appels de fournisseur avec rate limit restent retrying parce que l'erreur est autorisée, le nombre de tentatives est à l'intérieur de la politique, et les lacunes observées satisfont à l'attente de 2 secondes puis de 4 secondes de rétroaction. Le détecteur calcule un cycle de période un, mais les preuves reprennent leur place. Si l'erreur devient irréversible, que les retards s'effondrent ou que le budget de la tentative est épuisé, cette exception ne s'applique plus. Les pages ont besoin d'une protection différente. Ne normalisez pas le curseur ou le jeton de page s'il modifie la tranche demandée. Plus important encore, vérifiez l'effet: le nombre de lignes accepté ou le résultat de la digestion doit changer. Un outil peut cycler à travers différentes chaînes de curseur pendant que la destination reste inchangée, de sorte que la variation d'argument sans delta de progression est une preuve faible. L'attente nécessite un bail plutôt qu'un statut de texte libre: Une fois le délai écoulé, reclassifiez les preuves restantes. Limiter les renouvellements et retenir le propriétaire. Dans le cas contraire, un agent peut cacher une boucle derrière un message attendant indéfiniment une entrée. Calibrer la fenêtre d'observation autour du travail L'appareil utilise au maximum six événements d'action et recherche pour des périodes allant jusqu'à trois. Ces valeurs rendent l'exemple inspectable; elles ne constituent pas des défauts de production universels. Choisissez la fenêtre du rythme normal du flux de travail et le cycle le plus court et le plus dangereux que vous ayez besoin de saisir. Un agent de codage interactif peut répéter un mauvais schéma de lecture/édition/test en quelques minutes. Un agent de recherche prévu peut revenir à une source après une heure pour une raison légitime. Utilisez des répétitions historiques de cas sains et d'incidents pour mesurer le retard de détection et les faux positifs avant de joindre des alertes. Il y a suffisamment de preuves pour reproduire chaque transition: Conserver un digeste à clé ou une projection non sensible lorsque les preuves sous jacentes pourraient exposer les données des clients, les instructions, les secrets ou les chemins absolus. Version du normalisateur de signature et de la définition des empreintes digitales. Un normalisateur modifié peut ressembler à un rétablissement ou à un incident soudain. Alerte sur une transition d'état, pas à chaque période répétée. Pour les collectionneurs bruyants, deux fenêtres consécutives avec le même cycle et des preuves inchangées sont nécessaires. Ne laissez pas cette hystérèse retarder un échec déterministe ou une perte d'autorisation difficile. Le diagnostic n'autorise pas non plus l'intervention. Une découverte de stuck loop peut justifier la préparation d'une poussée limitée, l'arrêt d'un processus de fuite vérifié ou la demande d'examen humain. Il n'autorise pas silencieusement le redémarrage, le changement d'identification, la suppression, le message externe ou la réessaye illimitée. Après toute action approuvée, demander une nouvelle empreinte digitale de progrès ou un résultat vérifié avant de déclarer la récupération. Sachez ce que ce détecteur ne peut pas établir Une mauvaise empreinte digitale peut transformer un travail sain en une boucle apparente. S'il ne hashes que les noms de fichiers, les modifications utiles des fichiers existants disparaissent. Si elle comprend des timestamps, le travail inchangé semble frais. Une signature d'action randomisée peut produire l'échec opposé en cachant un cycle sémantique stable derrière de nouveaux identifiants ou des arguments réorganisés. Certains travaux utiles ne sont pas monotones. Un agent de recherche peut rejeter une hypothèse et revenir à une source antérieure; un agent de codage peut inverser une approche brisée. Préserver les transitions marquantes ou les modifications acceptées des preuves au lieu de supposer que chaque compteur doit monter. Les courtes périodes sont aussi une limite délibérée. Un cycle de six étapes ne sera pas détecté pendant une période maximale de trois. L'augmentation du plafond de fenêtre et de période améliore la couverture mais coûte de la mémoire, retarde le verdict et augmente le risque de répétition accidentelle. Calibrer à partir d'incidents connus, et conserver uncertain lorsque les preuves ne peuvent pas soutenir une conclusion sûre. La règle opérationnelle reste restreinte: l'activité répétée ne devient un verdict de boucle que lorsque la séquence normalisée est périodique, les preuves utiles restent inchangées et qu'aucun contrat de retrait ou de dépendance valide ne l'explique. Cela suffit à transformer une trace occupée en un diagnostic inspectable sans prétendre que chaque appel à l'outil répété est cassé. Sidewisp est actuellement en préversion privée. Son site public et sa bibliothèque d'articles sont en direct, mais la collecte de l'agent de production santé, les adaptateurs de temps d'exécution et la récupération ne sont généralement pas expédiés. Le Sidewisp est destiné à ajouter une couche de santé aux délais d'exécution existants, à ne pas les remplacer ou à agir comme fixateur autonome. Si la preuve de la boucle est un mode d'échec que vous devez voir clairement, vous pouvez rejoindre l'accès précoce tout en traitant le produit actuel comme une prévisualisation plutôt que la surveillance déployée.