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