結果
Runner.run メソッドを呼び出すと、次のいずれかを受け取ります:
runまたはrun_syncを呼び出した場合はRunResultrun_streamedを呼び出した場合はRunResultStreaming
これらはいずれも RunResultBase を継承しており、そこに有用な情報の大半があります。
最終出力
final_output プロパティには、最後に実行されたエージェントの最終出力が入ります。これは次のいずれかです:
- 最後のエージェントに
output_typeが定義されていない場合はstr - エージェントに出力タイプが定義されている場合は
last_agent.output_type型のオブジェクト
Note
final_output の型は Any です。ハンドオフがあるため、静的に型付けできません。ハンドオフが発生すると、どのエージェントが最後になるか分からないため、可能な出力タイプの集合を静的には特定できません。
次ターンの入力
result.to_input_list() を使うと、提供した元の入力に、エージェントの実行中に生成された項目を連結した入力リストに変換できます。これにより、あるエージェント実行の出力を別の実行に渡したり、ループで実行して毎回新しい ユーザー 入力を追加したりするのが容易になります。
最後のエージェント
last_agent プロパティには、最後に実行されたエージェントが入ります。アプリケーションによっては、これは次回 ユーザー が入力する際に有用です。たとえば、フロントラインのトリアージ エージェントが言語特化のエージェントにハンドオフする場合、最後のエージェントを保存しておき、次回 ユーザー がエージェントにメッセージを送るときに再利用できます。
新規アイテム
new_items プロパティには、実行中に生成された新しいアイテムが入ります。アイテムは RunItem です。実行アイテムは、LLM が生成した raw アイテムをラップします。
MessageOutputItemは LLM からのメッセージを示します。raw アイテムは生成されたメッセージです。HandoffCallItemは LLM がハンドオフ ツールを呼び出したことを示します。raw アイテムは LLM からのツール呼び出しアイテムです。HandoffOutputItemはハンドオフが発生したことを示します。raw アイテムはハンドオフ ツール呼び出しに対するツールのレスポンスです。アイテムからソース/ターゲットのエージェントにもアクセスできます。ToolCallItemは LLM がツールを起動したことを示します。ToolCallOutputItemはツールが呼び出されたことを示します。raw アイテムはツールのレスポンスです。アイテムからツール出力にもアクセスできます。ReasoningItemは LLM からの思考過程アイテムを示します。raw アイテムは生成された推論です。
その他の情報
ガードレールの結果
input_guardrail_results と output_guardrail_results プロパティには、ガードレールの結果(存在する場合)が入ります。ガードレールの結果には、記録や保存をしたい有用な情報が含まれることがあるため、取得できるようにしています。
Raw レスポンス
raw_responses プロパティには、LLM によって生成された ModelResponse が入ります。
元の入力
input プロパティには、run メソッドに提供した元の入力が入ります。多くの場合これは不要ですが、必要に応じて利用できます。