本文へスキップ

Streaming(ストリーミング)

この記事は7で読めます

ざっくり言うと

ストリーミング(Streaming)とは、AIの答えを最後まで待たず、できたところから順に表示する配信のやり方です。

ChatGPTに質問すると、文字が少しずつ書き足されていきますよね。あれがストリーミングです。

裏側では、文章が全部そろってから一度に返しているのではありません。書けた分から少しずつ送る、という配り方です。

AIが考える速さそのものは変わりません。変わるのは答えの渡し方だけです。それでも、最初のひと言は早く目に入ります。

イメージ

じつは、動画を見るときも同じ配り方です。YouTubeは、ファイル全体をダウンロードし終えてから再生するわけではありません。先頭から少しずつ受け取りながら再生します。

これも広い意味でのストリーミングです。AIのストリーミングは、その文章版だと思ってください。

正確には

ここからは、少し技術寄りの話になります。自分のアプリやサイトからAIを呼び出す予定がなければ、読み飛ばして大丈夫です。外部のサービスを自分のプログラムから呼び出す窓口を、APIと呼びます。ストリーミングにするかどうかも、この窓口へのお願いの中で指定するものです。

実際にどう指定するのか、3つのサービスで比べてみましょう。

サービス返ってくる中身
OpenAIのResponses APIstream: trueを付けると、Server-Sent Events(SSE、サーバーから小さな知らせが次々と届く配信のしくみ)で順に返る。文字の追加やツールの呼び出しなど、種類の違う知らせが混ざって届くので、受け取る側で見分けながら処理する
AnthropicのMessages APIstream: trueで差分をイベントとして返す。中身は書き足された文章やツールへの入力など。thinking(考えている途中)の差分が届くかどうかは、使うモデルと表示の設定によって変わる
GoogleのGemini APIstream: trueの指定があり、2026年7月27日時点のInteractions APIガイドがイベント配信を案内。RESTでの例ではSSEを使用

ただし、API名やイベントの形は更新されていきます。実装するときは、各社の現行ガイドに従ってください。

ここまではHTTPとSSEを使う例です。つなぎ方はほかにもあり、OpenAIのWebSocket modeや、GeminiのLive APIがそれにあたります。ストリーミングのAPIがすべてstream: trueとSSEを使うわけではありません。

一括で受け取る場合と、ここが違います

観点一括取得(非ストリーミング)ストリーミング
返り方全文ができてから、まとめて1回返す書けた先頭から、少しずつ返し続ける
最初の出力が見える時間原則として全文ができたあと最初のひとかたまりが届いた時点
体感の速さ待たされる読みながら待てる
途中で止めるできあがってから結果を受け取る使う側で切れる場合がある。止め方と課金の扱いはAPIごとに確認
作る手間できあがった返事を処理する届く順番、エラー、完了の状態を処理する
主な使い道まとめ処理、要約結果の保存チャット画面、その場での表示

実装を助ける道具もあります

Vercel AI SDKは、文章をストリーミングで受け取るstreamTextという関数を公式ドキュメントで案内しています。書き足された文字や各種のイベントを読むためのしくみについても、同じドキュメントに説明があります。

これは実装を楽にする道具の一例です。各社のイベントの形そのものが同じになる、という意味ではありません。

使う場面

ストリーミングが向くのは、長い答えを見せる画面です

効き目が大きいのは、全体の長さに対して、最初の数行から役に立つ情報が出始めるタイプの出力です。長い解説、コードを順に書き出す処理、要約、翻訳などが当てはまります。

  • AIチャットの長い回答
  • 長い文章の要約
  • コードの生成や修正案
  • 翻訳や議事録の整形
  • 途中で止めたくなることがある処理

最初の数行を見て「方向は合っていそう」と判断できる場面ほど、効果が出やすくなります

一方、短い分類結果や「はい / いいえ」だけを返す処理では、利点はあまりありません。画面の作りが少し複雑になるぶん、必要な場面に絞ったほうが扱いやすいです。

場面相性
チャットで長い回答を見せるよい
書いている途中の文章を見せるよい
JSONをまとめて次の処理へ渡す注意が必要
分類のラベルを1つ返すあまり必要ない

よくある勘違い

途中の表示は、未完成として扱ってください

途中まで表示された文章は、答えとしてはまだ未完成です。完了の知らせ、エラー、切断を確かめてから、完成として扱ってください。保存やコピーをしてよい状態かどうかも、画面ではっきり分かるようにしてください。

実装やツール選びで迷ったら、2つの時間を分けて確かめてください。役に立つ最初の一部が届くまでの時間と、完了の知らせが届くまでの時間です。前者は体感の速さ、後者は処理全体の待ち時間にあたります。

ストリーミングが主によくするのは前者です。そう考えておくと、期待のずれが起きにくくなります。

注意点

関連用語

  • 推論 — 学習を終えたモデルが、入力から答えを計算する工程です。
  • レイテンシー — 頼んでから答えを受け取るまでの待ち時間です。
  • API — 外部のサービスを自分のプログラムから呼び出すための窓口です。

やってみよう

よくある質問

Q. ストリーミングとは何ですか?
A. AIの答えを最後まで待たず、できたところから順に表示する配信のやり方です。チャットで文字が少しずつ書き足されていくのが、これにあたります。
Q. ストリーミングだと、AIの答えは速くなりますか?
A. AIが考える速さそのものは変わりません。変わるのは答えの渡し方だけです。それでも最初のひと言が早く目に入るので、読みながら待てるぶん体感は早くなります。
Q. ストリーミングが向いているのは、どんな場面ですか?
A. 長い答えを画面に見せる場面です。長い解説、要約、翻訳、コードの生成など、最初の数行から役に立つ情報が出始めるものほど効きます。短い分類結果では利点があまりありません。
Q. 途中まで表示された文章は、そのまま使ってよいですか?
A. まだ未完成として扱ってください。完了の知らせ、エラー、切断を確かめてから完成とします。途中で止めたときの使用量や課金の扱いは、提供元とAPIによって違います。

公開: 更新: ✓ 公式情報と照合:

参考ソース

判断クイズ

文字が少しずつ出るのは、AIが速くなったからだと思っていませんか?

3問です。答えるとその場で解説が出ます。全問終えたら、「回答を記録する」で学習の記録に残せます。

1. 社内ツールに「ストリーミングにすれば処理が速くなる」と言われました
2. 分類のラベルを1つ返す処理に、ストリーミングを入れるか迷っています
3. ストリーミングで届いた途中のJSONを、そのまま次の処理へ渡してよいでしょうか?

全問に答えると、回答を記録できます。

残るのは「答えたかどうか」だけで、正解数は保存されません。この端末の中だけに残り、別の端末には引き継がれません。

この教科書は無料で全文公開しています。仕事で使えるところまで進みたい方は、実習と資料がそろった生徒プランをどうぞ。

生徒プランを見る(14日間無料)

あわせて読みたい