2026-08-01T18:15:24.040Z
Observabilité de l'agent AI: traces de l'échantillon, conservation des preuves sanitaires
Une répétition de quarante tours montre pourquoi le prélèvement d'échantillons ne doit pas effacer les défaillances des résultats, les attentes d'approbation, les délais d'exécution inaccessibles ou les produits manquants.
L'observabilité de l'agent AI ne devrait pas nécessiter la conservation de toutes les traces, mais elle ne devrait jamais permettre à l'échantillonnage de traces de décider de l'existence d'un événement de santé critique. Prenez l'échantillon du cheminement de diagnostic lourd lorsque le volume ou le coût l'exigent. Envoyer des reçus médicaux compacts et typés avec défaillance des résultats, attente d'approbation, défaillance des outils, temps d'exécution inaccessible et livrables manquants via un itinéraire séparé avec ses propres contrôles de livraison et de fraîcheur. Cette fraction résout un problème spécifique. Une trace est une excellente preuve de la raison pour laquelle une course se comporte comme elle s'est comportée. Ce n'est pas le seul endroit d'où un opérateur peut apprendre que le travail attendu manque. Un temps d'exécution non atteint peut ne pas laisser de trace. Une séance qui attend correctement l'approbation peut ne pas avoir de délai d'erreur. Une mise à jour peut se terminer avec des étendues OK tandis qu'un vérificateur externe constate que le fichier demandé n'existe pas. Le défaut raisonnable est donc deux politiques de conservation, pas un seul échantillonneur intelligent: appliquer l'échantillonnage de tête ou de queue aux traces de diagnostic, et conserver tous les reçus médicaux obligatoires pendant une période plus courte et explicitement limitée. Rejoignez les deux enregistrements avec une pièce d'identité stable lorsque la trace est disponible. N'entreposez pas de renseignements ou d'outils sans restriction pour rester en bonne santé. Traces d'échantillons; conserver les reçus de santé Le Documentation de prélèvement d'échantillons d'OpenTelemetry utilise une définition étroite et utile: une trace échantillonnée est traitée et exportée; une trace non échantillonnée n'est ni traitée ni exportée. L'échantillonnage de la tête est effectué à l'avance, généralement à partir d'un identifiant de trace et du pourcentage souhaité, sans inspection de toute la trace. L'échantillonnage de la queue attend plus ou toutes les traces et peut conserver les traces par erreur, latence, attributs ou autres critères. Ces mécanismes optimisent une population de traces. Une politique de santé des agents répond à une autre question: quelles observations sont nécessaires pour déterminer si le travail est sain, en attente, bloqué, inaccessible ou faussement terminé? Enregistrement Le but Par défaut d'échantillonnage Exemple de preuves Trace de diagnostic Expliquer l' exécution et débogage d' une exécution sélectionnée L'échantillon justifié par le volume et le coût délais, durée de l'outil, mode d'appel, chemin d'erreur Résumé de santé Préserver un fait opérationnel changeant d'état Gardez toutes les espèces obligatoires Le prédicateur de résultats a échoué, l'approbation est requise, le rythme cardiaque manqué. Métrique agrégée Taux de mesure et capacité L'agrégat avant le stockage, dans la mesure du possible taux de reprise, profondeur de file d'attente, perte de réception Charge utile sensible Reproduire le contenu uniquement sous une autorité distincte Ne pas recueillir par défaut prompt, arguments d'outils, réponse brute Cette distinction ne rend pas l'échantillonnage de queue inutile. Une règle de queue qui conserve toujours des traces contenant une étendue ERROR est précieuse. Il ne peut toujours pas conserver une trace qui n'est jamais arrivée, et il ne peut pas en déduire qu'une trace apparemment réussie a échoué à un contrôle de livrabilité externe. Le documentation du processeur de prélèvement d'échantillons de queue du collecteur est explicite sur une condition préalable importante: toutes les étendues d'une trace doivent atteindre la même instance du collecteur pour une décision effective. Traitez cette condition préalable comme une limite, pas comme un défaut. L'échantillonnage des traces est effectué après l'existence de preuves de traces. Les reçus médicaux doivent également couvrir les défaillances en dehors de cette voie. Définir le contrat de santé sans échantillonnage Gardez le reçu suffisamment petit pour que la conservation de tout type obligatoire soit ordinaire, pas héroïque. Un enregistrement utile a besoin d'identité, de sémantique, de fraîcheur des preuves et de sourcenon d'une transcription: Les deux horloges comptent. Le Modèle de données OpenTelemetry Logs stable définit Timestamp comme étant le moment où un événement s'est produit à la source et ObservedTimestamp comme étant le moment où le système de collecte l'a observé. Conservez les deux sémantiques dans un reçu de santé. Un reçu retardé peut toujours décrire une défaillance réelle, mais son retard de livraison et son âge de preuve doivent rester visibles. Utilisez un petit registre obligatoire appartenant au flux de travail, et non au fournisseur de stockage. Un ensemble de départ pour les opérations d'agents pourrait être: outcome failed : un vérificateur spécifique à la tâche a rejeté le résultat promis; approval wait : la course a une dépendance humaine typée et un propriétaire; tool error : une opération de l'outil requise a échoué après sa politique de retrait limité; runtime unreachable : un observateur externe n'a pas pu atteindre le temps de fonctionnement à la date limite prévue; missing deliverable : la course a été déclarée terminée mais l'artefact attendu n'a pas été présenté. Le producteur fait partie du contrat. Un vérificateur de résultats peut émettre outcome failed ; un adaptateur de temps d'exécution peut émettre approval wait ; un planificateur externe ou un observateur du rythme cardiaque doit émettre runtime unreachable . Exiger un temps d'exécution inaccessible pour signaler sa propre inaccessibilité est une conception circulaire. Pour chaque reçu, effectuez quatre contrôles avant qu'il ne change de santé: 1. Déduplicer par receipt id ou une clé d'événement stable. 2. Valider schema version , kind , run id et l'autorité du producteur. 3. Comparer occurred at et observed at par rapport aux limites de fraîcheur par espèce. 4. Mettre à jour la santé par priorité explicite, en préservant le unknown lorsque les preuves requises manquent. Ne laissez pas un reçu autoriser une action irréversible. Il peut ouvrir un numéro, envoyer un message ou préparer une réponse limitée. La récupération a encore besoin de la limite d'approbation pertinente et d'une nouvelle observation qui prouve un progrès utile ou le résultat attendu. Répétez la décision de conservation Le dispositif conservé contient quarante circuits synthétiques et cinq cas critiques délibérément différents. Le prélèvement déterministique des échantillons de 10 pour cent de la tête hashes chaque trace d'identification. La politique de la queue conserve des traces dont le statut d'étendue est ERROR . La troisième police conserve tous les reçus médicaux enregistrés. Faites le avec: Le résultat fixe est: L'échantillon de tête tient 1, 3, 10, 25, 39 . La course 25 est le cas d'erreur d'outil, donc quatre autres cas critiques sont absents de son échantillon. La règle de la queue avec ERROR seulement conserve également l'erreur de l'outil. Il manque un défaut de résultat effectué par une trace OK , une attente d'homologation effectuée par une trace UNSET , un produit manquant transporté par une trace OK et le temps d'exécution inaccessible qui n'a produit aucune trace. Il s'agit d'un test de politique, pas d'un résultat statistique. Les cinq tours critiques ont été délibérément distribués de sorte que la répétition contient à la fois un cas conservé et des cas manqués. Il n'affirme pas que l'échantillonnage de 10% représente généralement un cinquième des incidents ou que ces cinq types d'événements aient la même fréquence. Modifiez les identifiants de trace, la règle d'échantillonnage ou le dispositif et le nombre peut changer. Ce qui ne devrait pas changer, c'est le critère d'acceptation: chaque type de reçu obligatoire doit survivre à la voie sanitaire, y compris un cas sans trace. Ajoutez un nouveau verdict opérationnel seulement après avoir ajouté son producteur, son schéma, sa fixation, sa règle de rétention et son moniteur de perte. Surveiller le parcours de réception et la rétention liée Un canal non échantillonné peut encore échouer. Le débordement de files d'attente, le rejet des schémas, les informations d'identification expirées, les erreurs de l'horloge, les bugs du producteur et les pannes de stockage peuvent faire disparaître les preuves de santé. Surveiller le canal avec des signaux qui ne dépendent pas uniquement du canal lui même: les comptes de réception attendus par producteur et par espace de flux de travail; le rythme cardiaque du producteur et le dernier délai de livraison réussi; les comptoirs de réception refusés, dupliqués et retardés; la capacité de file d'attente des collecteurs et les comptoirs de dépôt; canaries périodiques de bout en bout avec une pièce d'identité de réception connue; réconciliation entre les courses prévues, les réalisations déclarées et les résultats reçus. L'absence ne doit pas devenir verte. Si un vérificateur de résultat n'a pas signalé pour une course qui l'exige, marquer le signal de résultat non disponible ou incertain. Si l'observateur externe lui même est stérile, ne prétend pas que le temps de fonctionnement est atteignable. Une couche de santé doit exposer des lacunes dans ses propres preuves. Conserver chaque reçu médical ne signifie pas non plus le conserver pour toujours. Choisissez la rétention de la décision d'exploitation: suffisamment de temps pour enquêter, concilier les preuves tardives et vérifier une intervention approuvée. Les numéros plus anciens sont regroupés lorsque les dossiers individuels ne sont plus nécessaires. Retirez ou hash les chemins locaux, le contenu de l'utilisateur, le texte rapide, les charges utiles des outils et le matériel de référence avant l'exportation. Conserver une classe d'erreur digeste ou limitée lorsqu'elle prend en charge la décision. Le compromis est explicite. Un canal compact obligatoire coûte une ingénierie supplémentaire et duplique une petite quantité de métadonnées. En retour, les contrôles de volume de traces ne peuvent pas effacer silencieusement les faits qui conduisent à la santé. L'échantillonnage de la queue reste utile pour sélectionner les détails diagnostiques autour d'erreurs connues; un reçu obligatoire vous donne l'incident même lorsque le statut de trace est réussi, incomplet ou absent. Avant d'adopter le modèle, reproduisez de vrais cas désinfectés d'un même flux de travail: une bonne finition, un faux succès, une attente d'approbation, une défaillance de l'outil, un rythme cardiaque manqué et une panne de collecteur. Vérifiez les deux côtés. La politique de suivi devrait atteindre son objectif de coûts et la politique de réception devrait conserver tous les verts requis sans recueillir de charges utiles sensibles. La direction du produit de Sidewisp est une couche de santé autour des délais d'exécution existants des agents: preuve, fraîcheur, progrès utiles, état d'attente, résultats vérifiés et limites d'approbation explicites. Il ne s'agit pas d'un temps d'exécution de remplacement, d'une passerelle obligatoire, d'un produit de traçage brut ou d'un fixateur autonome. Sidewisp est actuellement en préversion privée. Le site public et le système d'articles sont en direct, tandis que la collecte de l'agent de production santé, les adaptateurs de temps d'exécution, la gestion du cron, l'analyse des coûts des jetons et la récupération ne sont généralement pas expédiés. Si cette limite de conservation des preuves correspond aux modes d'échec dont vous avez besoin pour fonctionner, vous pouvez vous joindre à l'aperçu privé et décrire les types d'exécution et de réception qui comptent. Références principales OpenTelemetry: prélèvement d'échantillons terminologie d'échantillonnage de traces, échantillonnage de tête et de queue et compromis opérationnels; examiné le 26 juillet 2026. OpenTelemetry Collector Contrib: processeur d'échantillonnage de queue regroupement de traces, types de politiques, affinité des collectionneurs, traces abandonnées et étendues tardives; examiné le 26 juillet 2026. OpenTelemetry: modèle de données de journaux sémantique stable Timestamp et ObservedTimestamp ; examinée le 26 juillet 2026.