Événements du cycle de vie
Utilisezrun_with_events(...) ou continue_with_events(...) pour recevoir les événements de manière synchrone :
run.startedmodel.request.startedmodel.response.completedtool.startedtool.completedrun.pausedrun.resumedrun.completedrun.stopped
Nouvelles tentatives du modèle
max_retries compte les tentatives supplémentaires après la première requête. RunStep.model_attempts indique le nombre de tentatives nécessaires pour obtenir une réponse valide du modèle.
Utilisation
RunResult.usage regroupe :
input_tokensoutput_tokenscached_tokenstotal_tokenscost, si le client du modèle le renseigne
RunStep contient également son propre récapitulatif d’utilisation, l’ID de requête, le fournisseur, le modèle et le motif de fin.
L’adaptateur Gateway intégré 0.1 ne convertit pas cost_nanos ni cost_cents de Gateway en UsageSummary.cost. Consultez la réponse Gateway ou l’enregistrement de génération pour connaître le montant exact.
Erreurs
Toutes les erreurs du runtime utilisentAgentError :
PhaseoError de Gateway sont converties en AgentError. Si une application a besoin du statut et du corps Gateway d’origine, appelez directement le client phaseo ou implémentez un ModelClient personnalisé qui préserve ces champs dans sa gestion des erreurs.
Les erreurs de l’exécuteur d’outils local sont renvoyées au modèle sous forme de résultats d’outil au lieu d’interrompre immédiatement l’exécution.
Limites d’étapes
AgentDefinition::max_steps(...) définit le nombre maximal de tours par défaut. Vous pouvez le remplacer pour une exécution :
run.status vaut stopped et run.stop_reason vaut max_steps:<limit>.