Lire l’utilisation et le coût
L’utilisation contient les tokens d’entrée, de sortie, en cache et totaux, plus le coût :inputTokens, outputTokens, cachedTokens, totalTokens, cost en TypeScript et Java ; input_tokens, etc. en Python, PHP, Ruby et Rust ; InputTokens, etc. en Go et C#. Chaque étape a aussi sa propre utilisation.
Vérifier comment l’exécution s’est terminée
Les statuts d’exécution sontqueued, running, waiting_for_tools, waiting_for_human, completed, stopped et failed ; TypeScript ajoute cancelled. Un résultat renvoyé est completed, stopped (une condition d’arrêt a été remplie, avec la raison dans la raison d’arrêt de l’exécution), waiting_for_human (voir État et approbation) ou, en TypeScript, cancelled. Les exécutions échouées lèvent ou renvoient une erreur à la place ; voir Événements et erreurs.
Relier une étape à sa requête gateway
Chaque enregistrement d’étape relie un tour du modèle à la requête gateway qui l’a servi. Recherchez l’ID de requête dans vos journaux Phaseo, ou l’ID de réponse natif auprès du fournisseur en amont.
Les étapes se trouvent dans
steps sur le résultat (Steps en Go et C#, steps() en Java). En Python, les enregistrements d’étape sont des AgentStepRecord ; les autres langages les appellent RunStep.
Enregistrer les exécutions en production
Journalisez l’ID d’exécution, l’index de l’étape, l’ID de requête, l’ID de réponse natif, le fournisseur, le modèle, la raison de fin, l’ID d’appel d’outil et la raison d’arrêt. Les hooks de cycle de vie vous donnent tout cela pendant l’exécution, et les événementsrun.failed portent le texte de l’erreur dans les langages qui les envoient. Ne journalisez pas les prompts bruts, les entrées d’outils ni les identifiants ; masquez-les avant que les événements ne quittent votre processus.
Pour garder une trace locale d’exécutions complètes pendant le développement, utilisez plutôt DevTools.