ライフサイクルイベント
run_with_events(...)またはcontinue_with_events(...)を使うと、イベントを同期的に受け取れます。
run.startedmodel.request.startedmodel.response.completedtool.startedtool.completedrun.pausedrun.resumedrun.completedrun.stopped
モデルの再試行
max_retriesは最初のリクエスト後の再試行回数です。RunStep.model_attemptsには、モデルの応答に成功するまでの試行回数が記録されます。
使用量
RunResult.usageには次の値が集計されます。
input_tokensoutput_tokenscached_tokenstotal_tokens- モデルクライアントが値を設定した場合の
cost
RunStepにも、個別の使用量サマリー、リクエストID、プロバイダー、モデル、終了理由が含まれます。
組み込みのGatewayアダプター0.1は、Gatewayのcost_nanosやcost_centsをUsageSummary.costに割り当てません。正確な費用が必要な場合は、Gatewayのレスポンスまたは生成レコードを確認してください。
エラー
ランタイムのすべての失敗にはAgentErrorが使われます。
PhaseoErrorはAgentErrorに変換されます。アプリケーションで元のGatewayステータスと本文が必要な場合は、phaseoクライアントを直接呼び出すか、これらのフィールドをエラー処理で保持する独自のModelClientを実装してください。
ローカルツール実行のエラーは、実行をすぐに終了せず、ツールの結果としてモデルに返されます。
ステップ数の上限
AgentDefinition::max_steps(...)でモデルターン数の既定の上限を設定できます。特定の実行だけ変更するには次のようにします。
run.statusはstoppedになり、run.stop_reasonはmax_steps:<limit>になります。