エージェントの実行結果からは、最終回答に加え、ハンドオフでどのエージェントが処理を引き継いだか、次のターンに何を渡せばよいかが分かります。レビューのために実行が一時停止した場合は、再開に使うスナップショットも取得できます。
目的別の実行結果プロパティ
ほとんどのアプリケーションでは、次のプロパティだけで十分です。
| 必要な情報や機能 | 使用するプロパティやメソッド |
|---|---|
| ユーザーに表示する最終回答 | finalOutput in TypeScript or final_output in Python |
| ローカルで入力として再利用できる履歴 | history in TypeScript or to_input_list() in Python |
| 通常、次のターンを担当する専門エージェント | lastAgent in TypeScript or last_agent in Python |
| OpenAI の管理下で応答をつなぐ仕組み | lastResponseId in TypeScript or last_response_id in Python |
| 承認待ちの項目と、実行を再開するためのスナップショット | interruptions と state in TypeScript or to_state() in Python |
まずは、これらの使い方を押さえてください。個々の実行項目の詳細、モデルが返した生の応答、詳しい診断情報については、SDK のドキュメントとリファレンスを参照してください。
次のターンに引き継ぐ情報
会話を継続する方法に応じて、実行結果を次のように使います。
- アプリケーションで履歴全体をローカルに管理している場合は、
を再利用します。historyin TypeScript orto_input_list()in Python - セッションを使う場合は、毎回同じセッションを渡します。履歴の読み込みと保存は SDK が行います。
- サーバー側で会話の継続を管理する場合は、履歴全体を再送する代わりに、保存済みの ID を再利用し、新しいユーザー入力だけを渡します。
- ハンドオフ先の専門エージェントが次のターンも担当する場合は、
を再利用します。lastAgentin TypeScript orlast_agentin Python
中断時に返される状態と最終回答の扱い
承認フローは、意図的に結果が未確定のまま返される代表例です。
は空のままの場合があります。実行がまだ完了していないためです。finalOutputin TypeScript orfinal_outputin Pythoninterruptionsで、承認または拒否の判断を待っているツール呼び出しを確認できます。 は、保存された状態のスナップショットです。保留中の項目を承認または拒否した後、このスナップショットをランタイムに渡して実行を再開します。statein TypeScript orto_state()in Python
同じリクエスト内ではなく、後でレビューする可能性がある場合は、この状態をシリアライズします。
実行項目の詳細と診断情報
ここまでに紹介した情報より詳しく実行内容を調べる必要があるアプリケーションでは、SDK から個々の実行項目や診断情報も取得できます。具体的には、項目ごとのツール呼び出しやハンドオフの記録、モデルが返した生の応答、ガードレールの結果、使用量の詳細などです。
これらの情報は、監査、カスタムインターフェースの構築、詳しいデバッグに役立ちます。ほとんどの開発者は、必要になった時点で使い方を確認すれば十分です。
次のステップ
必要な実行結果が分かったら、次のガイドで、その結果がどのように生成されるか、どう確認できるかを見ていきましょう。