2026-08-01T10:18:23.778Z
OpenAI Agent SDK Tracing: ajouter les reçus de santé manquants
Instrument OpenAI Agents SDK 0.19.0 traçage, puis le rejoindre à la fréquence cardiaque, le calendrier, l'approbation, l'effet, et les résultats reçus de sorte qu'une trace complète ne peut pas cacher le faux succès.
Le suivi SDK d'agent OpenAI est le premier enregistrement approprié pour expliquer ce qui s'est passé à l'intérieur d'une course d'agents. Ce n'est pas, en soi, la preuve que le travailleur est accessible maintenant, qu'une course programmée a commencé, qu'un effet externe a atterri une fois, ou que le produit promis existe. Le défaut fiable est de conserver la trace intégrée, de donner à chaque course une identification stable non secrète, et de joindre cette trace à séparer les reçus d'exécution et de résultat avant d'attribuer un verdict de santé. Ce guide est attaché au Python openai agents 0.19.0 métadonnées de sortie récupéré le 28 juillet 2026. Le paquet a été téléchargé le 27 juillet, alors vérifiez la référence de votre version installée avant de copier la configuration dans un service de longue durée. Commencez par la trace que le SDK vous donne déjà Le Les intégrations et le guide de l'observabilité OpenAI actuel indique que le traçage est activé par défaut dans le chemin normal du SDK côté serveur. Une course peut émettre des enregistrements structurés pour les appels de modèle, les appels à l'outil, les remises, les barreaux et les étendues personnalisées. Le Références de traçage Python ajoute des détails sur la tâche, le tour, l'agent, la génération, la fonction, le déploiement, la garde et la durée audio. C'est une preuve d'exécution précieuse. Elle répond à des questions telles que: Quel tour d'agent et de mannequin ? Quels outils fonctionnels étaient appelés, et dans quel ordre de nidification? Y a t il eu une barrière ou un transfert ? Où une exception ou une longue durée est elle apparue? Quels courants appartiennent au même flux de travail ou à la même conversation? Utilisez une trace de niveau supérieur lorsque plusieurs appels Runner.run() mettent en œuvre une opération commerciale. Mettez un identifiant aléatoire non secret dans group id et les métadonnées afin que la trace puisse être jointe aux dossiers de l'application. Ne mettez pas le contenu, les informations d'identification ou un produit complet dans cet identifiant. Le réglage des données sensibles est important. La référence officielle de Python indique que les intervalles de génération et les intervalles de fonction peuvent contenir des entrées et des sorties de modèle et d'outil, et que la capture sensible est activée par défaut. trace include sensitive data=False réduit cette exposition. Il ne modifie pas les données que vous placez délibérément dans les métadonnées personnalisées, alors gardez aussi les preuves personnalisées au minimum. Le bloc finally résout un problème plus étroit. Le processeur de lot par défaut est exporté en arrière plan toutes les quelques secondes et se déverrouille à la sortie du processus. Pour un travailleur en file d'attente qui doit rendre visible sa trace avant de reconnaître un emploi, appelez flush traces() après la fermeture du contexte de trace. Un flush confirme que des enregistrements de traces tamponés ont été remis à leur processeur; il ne prouve toujours pas le résultat commercial externe. Dessinez la limite où la trace s'arrête Une trace décrit le chemin observé par son instrumentation. L'agent de santé demande si le système environnant fonctionne maintenant et si des travaux utiles ont atteint leur destination. Ces horloges et les sources de preuves sont différentes. Considérez une trace qui s'est terminée à 10h00. À 10h05, le travailleur peut être hors service. Un horaire de 10:15 peut être manqué sans produire de nouvelles traces. Une durée d'outil peut contenir une réponse HTTP réussie alors que la destination rejette plus tard la transaction. Une réponse de modèle final peut dire done alors que le fichier attendu est absent. Traiter la trace comme une colonne dans une preuve rejoint: Question de santé Ce que la trace du SDK peut montrer Requisition de réception supplémentaire La course à l'instrument a t elle été exécutée ? Cycle de vie de la trace et de la durée Trace de la fraîcheur des exportations et de l'identité de l'exploitation L'heure d'exécution est elle accessible maintenant ? Rien après la dernière période observée Pouls cardiaques avec un seuil d'expiration Le travail prévu a t il commencé à temps ? Une trace si la course a commencé Résumé de l'exécution attendue et date limite de démarrage L'agent attend légitimement ? Un parcours suspendu ou une activité liée à l'homologation Propriétaire de l'approbation, date limite, identifiant de décision et jeton de reprise Il y a eu un effet secondaire ? Tentative d'outil et données retournées Résultat de la réception ou de la réconciliation du côté de la destination Le produit demandé est il correct ? Activité de modèle et d'outil Contrôle déterministe des artefacts ou règle d'acceptation explicite Cette séparation empêche trois erreurs coûteuses. Tout d'abord, ne convertissez pas trace terminé en healthy. Cela signifie que le chemin d'exécution instrumenté est terminé. La santé nécessite une nouvelle preuve et un reçu des résultats. Deuxièmement, ne convertissez pas immédiatement trace absent en failed. L'exportateur d'arrière plan peut encore être à l'intérieur de sa fenêtre de livraison. Comparer l'âge de l'exportation avec une période de grâce documentée; classer la course comme incertaine alors que les preuves sont tardives. Troisièmement, ne convertissez pas paused en stuck. Une pause avec un propriétaire autorisé, un délai d'exécution et un jeton de décision réalisable attendent. Il devient bloqué lorsque le contrat de dépendance est rompu ou que les progrès échouent après la décision. Effectuer un audit de couverture sur cinq cas Pour que la limite soit falsifiable, j'ai construit un dispositif de cinq tours normalisé. Chaque rangée contient un identifiant de course et six groupes de preuves: trace, heure de course, horaire, approbation, effet et résultat. L'audit applique la priorité sanitaire dans cet ordre: 1. Gardez une attente d'approbation bien formée. 2. Marquez un battement cardiaque expiré inaccessible. 3. Garder une exportation récente manquante incertaine. 4. Vérifiez l'horaire prévu. 5. Comparez le résultat de la réception et de la digestion. 6. Ne dites que la course est saine que si les traces, les effets et les résultats sont d'accord. La règle fondamentale du faux succès est délibérément petite: L'appel a produit cinq verdicts attendus de cinq affaires: Les résultats individuels montrent pourquoi l'association est importante: Les pièces d'étanchéité Supposition de traces uniquement Verdict joint Des preuves qui ont modifié la décision Santé Santé Santé Le rythme cardiaque frais et l'effet correspondant et les résultats confirment cela. Faux succès Santé Faux succès Le reçu de l' artefact est manquant. Attendue de l'approbation Je suis coincé. J'attends Le propriétaire autorisé et la date limite rendent la pause légitime Temps d'exécution perdu Santé Il est inaccessible L'âge du battement cardiaque est de 900 secondes contre une limite de 120 secondes Export en attente Échec des traces Export incertain L'âge de l'exportation est de 2 secondes à l'intérieur d'une fenêtre de grâce de 10 secondes Il ne s'agit pas d'une affirmation selon laquelle toutes les demandes ont besoin des mêmes seuils. Un travail de lot qui se déroule tous les soirs a besoin d'une enveloppe de rythme cardiaque différente d'un agent de soutien interactif. Une recherche en lecture seule peut ne pas avoir besoin d'un reçu d'effet. Un rapport généré peut nécessiter une somme de contrôle, une validation du schéma, un sol de comptage de lignes et HTTP 200 à son URL finale. La partie réutilisable est la forme et la priorité des preuves, et non les numéros d'échantillons. L'audit utilise également des enregistrements normalisés plutôt que des téléchargements privés de la plateforme ou un appel de modèle en direct payant. Cela le rend inspectable, mais il laisse la mise en œuvre de l'exportateur, la conservation du tableau de bord et la politique du compte hors de l'expérience. Testez les dans votre propre environnement. Utilisez une pièce d'identité, mais gardez des stocks de preuves séparés La conception pratique de la production est une jointure, pas une charge utile plus grande. Gardez les intervalles de diagnostic là où ils sont utiles pour débogage. Garder la fraîcheur du système qui possède le travailleur ou l'adaptateur. Gardez les attentes de l'échéancier à côté du planificateur. Garder l'autorité d'approbation dans la demande permettant de reprendre la course. Gardez les reçus d'effet à la couche de destination ou de réconciliation. Gardez les chèques livrables près de l'artefact. Rejoignez les par l'identification non secrète et découvrez la fraîcheur de chaque source. Les dossiers médicaux peuvent être compacts: Ne traitez pas silencieusement un champ inaccessible comme vert. Si le rythme cardiaque de la course ne peut pas être lu, l'état de la course est inconnu. Si une organisation utilise Zero Data Retention, notez que la référence de suivi Python actuelle indique que le suivi n'est pas disponible pour cette politique API; utilisez un processeur interne approuvé ou une conception de preuve différente seulement après avoir confirmé la politique applicable et le comportement SDK. La règle de fonctionnement finale est simple: utilisez OpenAI Agents SDK tracing pour expliquer l'exécution, pas pour exagérer la santé. Un verdict sain nécessite une trace récente du moment où on l'attend, un temps d'exécution accessible, un état d'attente honnête, des effets réconciliés le cas échéant et un résultat vérifié. Éliminer un incident seulement après que les preuves qui ont échoué deviennent fraîches et passent à nouveau. Sidewisp est actuellement en préversion privée. Son rôle prévu est de transformer des preuves telles que la facilité d'accès, les progrès, l'accès aux outils et les résultats vérifiés en une vision claire de la santé; la surveillance du SDK OpenAI Agents de production n'est généralement pas diffusée aujourd'hui.