コンテンツにスキップ

結果

Runner.run メソッドを呼び出すと、以下のいずれかが返されます。

これらはどちらも RunResultBase を継承しており、ほとんどの有用な情報はここに格納されています。

最終出力

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

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

Note

final_output の型は Any です。ハンドオフが発生する可能性があるため、静的に型付けできません。ハンドオフが発生すると、どのエージェントでも最後になり得るため、可能性のある出力型を静的に特定できないのです。

次のターンへの入力

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

最後のエージェント

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

新しいアイテム

new_items プロパティには、実行中に生成された新しいアイテムが含まれます。これらのアイテムは RunItem です。RunItem は、 LLM が生成した raw アイテムをラップします。

  • MessageOutputItem — LLM からのメッセージを示します。 raw アイテムは生成されたメッセージです。
  • HandoffCallItem — LLM がハンドオフ ツールを呼び出したことを示します。 raw アイテムは LLM からのツール呼び出しアイテムです。
  • HandoffOutputItem — ハンドオフが発生したことを示します。 raw アイテムはハンドオフ ツール呼び出しに対するツール応答です。また、アイテムから送信元 / 送信先エージェントにもアクセスできます。
  • ToolCallItem — LLM がツールを呼び出したことを示します。
  • ToolCallOutputItem — ツールが呼び出されたことを示します。 raw アイテムはツール応答です。また、アイテムからツール出力にもアクセスできます。
  • ReasoningItem — LLM からの推論アイテムを示します。 raw アイテムは生成された推論内容です。

その他の情報

ガードレール結果

input_guardrail_resultsoutput_guardrail_results プロパティには、ガードレールの結果が存在する場合に格納されます。ガードレール結果には、ログや保存を行いたい有用な情報が含まれることがあるため、これらを参照できるようにしています。

raw レスポンス

raw_responses プロパティには、 LLM が生成した ModelResponse が格納されます。

元の入力

input プロパティには、run メソッドに渡した元の入力が格納されます。ほとんどの場合は必要ありませんが、必要に応じて参照できるように用意されています。