Lorsque vous exécutez un agent, le résultat contient plus que la réponse finale. Il indique aussi quel agent a pris le relais et fournit les données nécessaires pour poursuivre au tour suivant. Si l’exécution est suspendue pour examen, le résultat contient un instantané qui permet de la reprendre.
Choisissez les propriétés du résultat selon vos besoins
Quelques propriétés du résultat suffisent à la plupart des applications :
| Si vous avez besoin de | Utilisez |
|---|---|
| La réponse finale à afficher à l’utilisateur | finalOutput in TypeScript or final_output in Python |
| Un historique local que vous pouvez rejouer | history in TypeScript or to_input_list() in Python |
| L’agent spécialisé qui devrait normalement prendre en charge le tour suivant | lastAgent in TypeScript or last_agent in Python |
| Un enchaînement des réponses géré par OpenAI | lastResponseId in TypeScript or last_response_id in Python |
| Les approbations en attente et un instantané permettant de reprendre l’exécution | interruptions et state in TypeScript or to_state() in Python |
Commencez par vous familiariser avec ces propriétés. Pour en savoir plus sur les éléments d’exécution plus détaillés, les réponses brutes du modèle et les diagnostics approfondis, consultez la documentation du SDK et sa référence.
Données à conserver pour le tour suivant
Utilisez le résultat en fonction de la façon dont vous poursuivez la conversation :
- Si votre application gère l’intégralité de l’historique en local, réutilisez
.historyin TypeScript orto_input_list()in Python - Si vous utilisez une session, transmettez la même session à chaque tour. Le SDK charge et enregistre l’historique pour vous.
- Si le serveur gère la poursuite de la conversation, transmettez uniquement la nouvelle entrée de l’utilisateur et réutilisez l’identifiant enregistré au lieu de rejouer tout l’historique des échanges.
- Après un transfert, réutilisez
si cet agent spécialisé doit garder la main au tour suivant.lastAgentin TypeScript orlast_agentin Python
Une exécution interrompue renvoie un état plutôt qu’une réponse finale
Les workflows d’approbation constituent le principal cas où l’exécution renvoie délibérément un résultat incomplet.
peut rester vide, car l’exécution n’est pas encore terminée.finalOutputin TypeScript orfinal_outputin Pythoninterruptionsindique quels appels d’outils en attente nécessitent une décision. fournit l’instantané enregistré que vous transmettez de nouveau au moteur d’exécution après avoir approuvé ou refusé ces appels.statein TypeScript orto_state()in Python
Sérialisez ce même état si l’examen peut avoir lieu ultérieurement, dans une autre requête.
Éléments d’exécution et diagnostics détaillés
Le SDK expose aussi des éléments d’exécution et des diagnostics plus détaillés pour les applications qui ont besoin d’aller au-delà des propriétés présentées ci-dessus. Vous pouvez notamment consulter, pour chaque élément, les appels d’outils et les transferts enregistrés, ainsi que les réponses brutes du modèle, les résultats des garde-fous et les données d’utilisation.
Ces données sont utiles pour les audits, la création d’interfaces personnalisées et le débogage approfondi. La plupart des développeurs peuvent les aborder dans un second temps.
Étapes suivantes
Une fois que vous avez identifié les propriétés du résultat dont vous avez besoin, consultez le guide qui explique comment les obtenir ou les examiner.
Découvrez comment le traitement du résultat s’articule avec la boucle d’exécution et la poursuite de la conversation.
Découvrez comment une exécution suspendue renvoie les interruptions et l’état nécessaire à sa reprise.
Utilisez les traces pour examiner en détail le déroulement du workflow.