モデルは単語を選ばない。リストから選ぶ
プロンプトを読んだ後、言語モデルは語彙内のすべてのトークン(現行モデルで10万から20万個)にスコアを付け、それを確率に変換します。「葉」45パーセント、「天気」25、「色」15、というように長い裾野が続きます。LLMとは何かではこの仕組みの理由を扱っています。そして、そのリストから1つのトークンを抽選し、文章に追加して、また同じ処理を繰り返します。
temperatureはスコアの計算と抽選の間に適用されます。確率を計算する前に、すべてのスコアがtemperatureで割られます。1未満の数で割ると、スコア間の差が広がり、最有力候補がさらに抜きん出ます。1を超える数で割ると差が縮まり、裾野の候補にも現実的なチャンスが生まれます。ちょうど0のときは計算が「常に最高スコアを取る」という形に収束するため、0は決定論的だと言われます。
この名前は物理学から借用されたもので、熱い気体ほど粒子がよりランダムに動きます。temperatureが高いモデルほど、より無作為に単語を選びます。モデルが持つ知識自体は何も変わりません。変わるのは抽選だけです。
この数値が確率に何をするか、実例で見る
あるプロンプトの次の単語について、モデルが45、25、15、10、5パーセントの5つの候補を評価したとします。これがtemperature 1のときの分布です。この式を0.5と2に適用すると、同じ5つの候補は以下のようになります。パーセンテージは実測ではなく式から算出したもので、この形はあらゆる実際の分布に見られる特徴です。
3つのパネルで5番目の候補を追うと、1パーセント未満、5、11と推移します。500トークンの回答全体で見ると、1トークンあたり11パーセントの確率で5番目に有力な単語を選ぶことが積み重なり、文章が脱線し、事実にない内容を作り、やがて意味を成さなくなります。これは、プレイグラウンドのスライダーを2まで上げたときに人々が目にする現象そのものです。そして最有力候補にも注目してください。0.5でさえ3回に1回は抽選に負けるので、低いtemperatureは「固定」ではなく「安定している」だけです。
この最後の点は「決定論的」という言葉にとって重要です。Anthropicの API リファレンスは、0であっても結果は「完全には決定論的にならない」と述べており、この留保は実際のものです。並列ハードウェア上の浮動小数点演算とプロバイダー側のバッチ処理により、0のときでも同じプロンプトから2つの異なる回答が生成されることがあります。まったく同一の出力が必要なら、その回答を保存してください。この設定に頼るべきではありません。
各プロバイダーが許す範囲とデフォルト値
| プロバイダー | 範囲 | デフォルト | 備考 |
|---|---|---|---|
| OpenAI | 0から2 | 1 | 推論モデル(oシリーズ、推論付きのGPT-5)はこのパラメーターを受け付けない |
| Anthropic | 0から1 | 1 | Opus 4.1以降では両方を同時に指定するリクエストを拒否する |
| Google Gemini | 0から2 | 1 | AI Studioではスライダーとして表示される |
| OpenRouter | そのまま通過させる | プロバイダーのデフォルト | Whiziがすべてのモデルにアクセスする経路 |
3点際立つ違いがあります。すべてのプロバイダーがデフォルトを1にしています。つまりモデル自身の確率分布どおりにサンプリングするということで、通常のチャットで得られる回答も、すでに数ある抽選結果の1つにすぎません。Anthropicの範囲は1で頭打ちなので、Claudeのtemperature 1は上限ですが、OpenAIの1は中間値です。数値はベンダー間で比較できません。そして推論モデルはこの設定を拒否します。OpenAIはoシリーズとGPT-5でtemperatureを未対応と明記しており、送信するとエラーを返します。Anthropicは拡張思考が有効なときは常に1を要求します。
タスクごとにどの設定を使うべきか
ルールは一言で言えます。正解が1つあるタスクは低く、良い答えが複数あるタスクは高くします。
| タスク | Temperature | 理由 |
|---|---|---|
| 表やJSONへの抽出、分類、コード | 0から0.3 | 正しい形は1つだけで、ばらつきは欠陥になる |
| 要約、翻訳、事実に関する質問 | 0.3から0.7 | 言い回しの自由度は多少あってよいが、創作は不要 |
| 下書き、書き直し、ブレインストーミング | 0.7から1 | プロバイダーのデフォルト。多様だが一貫性がある |
| フィクション、命名、キャッチコピー、意図的に奇抜なアイデア | 1から1.3 | 裾野の単語を使うことこそが目的 |
| 1.5を超える | ほとんど使わない | 新奇性が上がる前に一貫性が失われる |
注意点が2つあります。temperatureは真実性を制御しません。0のモデルは最も確率の高い答えを選びますが、その最有力候補が間違っていれば、毎回同じ間違いを完全な自信を持って返します。これはAIハルシネーションとは何かで学習側の理由を説明しています。また、temperatureはトーンや長さを操作するレバーでもありません。それらは指示文で扱うべきもので、初心者のためのプロンプトエンジニアリングで扱っています。この数値が決めるのは、モデルがどれだけ頻繁に単語選びで賭けに出るかだけです。
チャットアプリでこのスライダーを見たことがない理由
ChatGPT、Claudeアプリ、Gemini、そしてWhiziはtemperatureの操作を公開していません。この設定は開発者向けのプレイグラウンドやAPIにしか存在せず、3社ともに自社アプリが使っている値を公表していません。Whiziは値を一切送信しないため、ここで動くすべてのモデルはプロバイダーのデフォルトである1で動作します。理由は先ほどと同じです。デフォルトはすでにほとんどのタスクが求める設定であり、間違った場所にあるスライダーは、優れたアシスタントを、どのつまみが原因かも分からないまま悪いものに変えてしまいます。
マルチモデルのワークスペースが代わりに与えてくれるのは、より大きなレバーです。異なる2つのモデルは異なる2つの確率リストであり、その間で切り替えることは、どんなtemperatureよりも答えを大きく変えます。スライダーに代わる習慣はこうです。正解が1つのタスクでは、別のモデルにも聞いて両者が一致する部分だけを採用する。良い答えが複数あるタスクでは、2つのモデルに聞いて選ぶ。Whiziではこれが会話の途中でのモデル変更にあたり、会話の途中でモデルを切り替えるがその際に何が引き継がれるかを扱っています。
どうしてもこのつまみが必要な場合は、プロバイダー自身のAPIやプレイグラウンドにリクエストごとの設定として存在し、上の表の範囲が適用されます。
- 抽出、分類、コードなど、正しい形が1つだけのタスクには0から0.3を使う
- 下書きや書き直しにはデフォルトの1のままにする。すべてのプロバイダーがそこに合わせて調整している
- 0を同一出力の保証だと考えない。残しておきたい回答は保存する
- トーンや長さ、正確さを直すためにtemperatureに頼らない。それらは指示文の問題である
- チャットアプリにスライダーがない場合は、代わりにモデルを変更する。どのtemperatureよりも答えが大きく動く
よくある質問
AIのtemperature 0とはどういう意味ですか。
temperature 0では、モデルはサンプリングせずに常にただ1つの最も確率の高い次のトークンを選ぶため、同じプロンプトからほぼ毎回同じ答えが得られます。Anthropicの API リファレンスは、0であっても結果は「完全には決定論的にならない」と述べています。ハードウェアやバッチ処理がわずかな差を生む可能性があるためです。抽出、分類、コードには適した設定ですが、最有力候補の正しさを高めるわけではありません。
ChatGPTに最適なtemperatureは何ですか。
ChatGPTアプリでは設定できず、OpenAIはアプリが使っている値を公表していません。API経由であれば、構造化出力や事実の抽出には0から0.3、文章作成には0.7から1、意図的にばらつきのある創作テキストにのみ1を超える値を使います。OpenAIの推論モデルはこのパラメーターを送るとエラーを返します。
temperatureとtop-pの違いは何ですか。
temperatureは確率リスト全体の形を変え、鋭くしたり平坦にしたりします。top-pはリストを打ち切り、確率の合計がpになるまでの最有力トークンだけを残してそこから抽選します。どちらもランダム性を増減させます。OpenAIはどちらか一方だけを変えるよう勧めており、AnthropicはOpus 4.1以降で両方を同時に指定するリクエストを拒否します。
temperatureを上げるとAIはより創造的になりますか。
確率の低い単語をより頻繁に選ぶようになり、およそ1.3までは創造的に、1.5を超えるあたりから支離滅裂に読めるようになります。ある実例では、temperatureを1から2に上げると、5番目に有力な候補が選ばれる確率がトークンごとに5パーセントから11パーセントに上がり、それが長い回答全体で積み重なります。より良いアイデアという意味での創造性は、ダイヤルではなくプロンプトとモデルから生まれます。
Whiziでtemperatureを変更できますか。
できません。Whiziはtemperatureを送信しないため、すべてのモデルはプロバイダーのデフォルトで動作します。ChatGPT、Claudeアプリ、Geminiも操作を公開しておらず、値も公表していません。マルチモデルのワークスペースにおける同等のレバーはモデル選択です。2つのモデルは異なる2つの確率分布であり、会話の途中で切り替えることは、どんなtemperature設定よりも答えを大きく変えます。