コンテンツにスキップ

結果

Runner.run メソッドを呼び出すと、戻り値は次のいずれかになります。

どちらも RunResultBase を継承しており、多くの有用な情報はここに含まれています。

最終出力

final_output プロパティには、最後に実行されたエージェントの最終出力が入ります。内容は次のいずれかです。

  • 最後のエージェントに output_type が定義されていない場合は str
  • エージェントに output_type が定義されている場合は last_agent.output_type 型のオブジェクト

Note

final_outputAny 型です。ハンドオフが発生する可能性があるため、静的に型指定することはできません。ハンドオフが行われた場合、どのエージェントが最後になるか分からないため、可能な出力型の集合を静的に把握できないからです。

次のターンへの入力

result.to_input_list() を使用すると、元の入力とエージェント実行中に生成されたアイテムを連結した入力リストに変換できます。これにより、あるエージェント実行の出力を次の実行へ渡したり、ループで実行して毎回新しいユーザー入力を追加したりするのが簡単になります。

最後のエージェント

last_agent プロパティには、最後に実行されたエージェントが入ります。アプリケーションによっては、次回ユーザーが入力する際に役立つことがよくあります。たとえば、一次対応用のエージェントが言語別のエージェントへハンドオフする場合、最後のエージェントを保存しておき、次回のユーザーメッセージで再利用することができます。

新規アイテム

new_items プロパティには、実行中に生成された新しいアイテムが入ります。アイテムは RunItem でラップされています。RunItem は LLM が生成した raw アイテムを包むものです。

  • MessageOutputItem は LLM からのメッセージを示します。raw アイテムは生成されたメッセージです。
  • HandoffCallItem は LLM が handoff ツールを呼び出したことを示します。raw アイテムは LLM からのツールコールです。
  • HandoffOutputItem はハンドオフが発生したことを示します。raw アイテムは handoff ツールコールへのツール応答です。アイテムからソース/ターゲットエージェントにもアクセスできます。
  • ToolCallItem は LLM がツールを呼び出したことを示します。
  • ToolCallOutputItem はツールが呼び出されたことを示します。raw アイテムはツール応答です。アイテムからツール出力にもアクセスできます。
  • ReasoningItem は LLM からの推論アイテムを示します。raw アイテムは生成された推論です。

その他の情報

ガードレール結果

input_guardrail_resultsoutput_guardrail_results プロパティには、ガードレールの結果が入ります(存在する場合)。ガードレール結果にはログや保存に役立つ情報が含まれることがあるため、これらを公開しています。

raw 応答

raw_responses プロパティには、LLM が生成した ModelResponse が入ります。

元の入力

input プロパティには、run メソッドに渡した元の入力が入ります。通常は必要ありませんが、必要な場合に備えて利用できるようにしています。