メインコンテンツへスキップ
実行中にテキストとツールの動きを表示するには、エージェントの run メソッドの代わりに stream メソッドを呼び出します。Gateway の Responses SSE ストリーム上で同じ再開可能なループを実行します。一時停止した実行に対しては、continue-stream メソッドが同じことを行います。Rust にはストリーミングがありません。

テキストをストリーミングする

最終結果は、run が返すものと同じ実行結果です。ストリームの動作は言語によって異なります。
agent.stream() と agent.continueStream() は、すぐにストリーム結果を返します。getResult() は実行が終わると解決されます。

ストリームを選ぶ

どのコンシューマーも最初からイベントを再生するため、UI のレンダラー、ロガー、永続化のコードが、2回目のモデルリクエストなしで同じ実行を読み取れます。 TypeScript には、回答全体を await する getText() もあるため、レンダリングと永続化を並行して実行できます。
モデルのイベントは response.output_text.delta、response.reasoning.delta、response.item です。各フィールドはアイテムにあります。モデルのイベントは、クライアントがストリーミングに対応している場合にだけストリーミングされます。Gateway クライアントはすべて対応しています。別のモデルクライアント(StreamingModelClient や IStreamingModelClient を実装していない、または stream に応答しないもの)では、ストリームはライフサイクルイベントを出力しますが、テキストの差分は出力しません。

ツールの進捗をストリーミングする

進捗を報告するツールは tool.preliminary_result イベントを公開します。このイベントはフルストリーム(TypeScript ではツールストリームにも)に現れ、完了したステップにも残ります。各言語での進捗の報告方法はツールにあります。

ストリームをキャンセルする

完了した各ステップには、リクエスト ID、プロバイダー、モデル、終了理由、警告、使用量が残ります。
最終更新日 2026年11月5日