「同じ質問をしているのに、AIの答えが毎回びみょうに変わる」と感じたことはないでしょうか。
これは多くの場合、temperatureという設定が効いています。
temperature が回答のばらつきをどう左右するのかが分かれば、場面に応じた使い分けもできるようになります。
temperature は「回答のランダムさ」を決めるつまみ
temperature(温度)は、AIが次の単語を選ぶときにどれだけ冒険するかを決める数値です。
値が小さいほど無難で一貫した答えに寄り、大きいほど大胆で多様な答えに振れていきます。
料理の火加減に近く、同じ材料でも仕上がりの振れ幅を変えるつまみだとイメージすると掴みやすいはずです。
仕組み——確率分布の「尖り方」を変えている
AIは文章を、次に来る確率が高い単語を一つずつ選んでつないでいます(次トークン予測)。
このとき候補それぞれに確率がついていて、temperature はその確率分布の形をならすか尖らせるかを調整するものです。
低い temperature では分布が尖り、最有力の候補ばかりが選ばれやすくなるのが特徴です。
高い temperature では分布がなだらかになり、確率の低い候補にも出番が回ってきます。
その結果、低い値では回答が安定し、高い値では意外な表現やアイデアが混ざりやすくなるわけです。
低い/高いの使い分け
使い分けの軸は「ブレてほしくないか、発散してほしいか」の一点だけです。
コード生成・要約・分類・事実確認のように正確さが要る作業では、0〜0.3 あたりの低めが安心です。
逆にキャッチコピーやネーミング、アイデア出しなど発想を広げたい作業では、0.7〜1.0 前後の高めが効きます。
# 低め: ブレを抑えたいとき(要約・分類・コード)
temperature = 0.2
# 高め: 発想を広げたいとき(アイデア出し・命名)
temperature = 0.9
同じ作業の中でも、見出し案を大量に出す段階は高め、推敲や事実確認の段階は低め、と工程ごとに切り替える使い方もできます。
「0 にすれば毎回まったく同じ」ではない
temperature を 0 に近づけると、最有力の候補だけを選ぶ、ほぼ決定論的な挙動になります。
ただし完全な再現性が保証されるわけではなく、実装や計算の都合で同じ入力でもわずかにブレることがあるのです。
「0 なら安定しやすい」くらいの温度感で捉えておくと安全です。
数値の範囲はツールごとに違う
temperature の目盛りは、サービスによって違うので注意が必要です。
OpenAI の API では 0〜2(既定値 1)、Anthropic の Claude API では 0〜1(既定値 1)を指定できます。
同じ「0.7」でも、ツールが違えば挙動は同一になりません。
数値は絶対値ではなく、各サービスの中での相対的な位置として捉えると迷いにくいはずです。
ただし最近のモデルでは、temperature をそもそも変えられない場合もあるので注意が必要です。
Anthropic は Claude 4.7 以降のモデルで temperature・top_p・top_k を非推奨にしていて、既定値以外を送ると 400 エラーが返ります(モデルの非推奨に関する公式ドキュメント・2026年10月15日に確認)。
代わりの手段として案内されているのは、プロンプトで振る舞いを指示する方法です。
OpenAI も、推論の強さ(reasoning effort)を none 以外にして使うときは temperature と top_p を外すよう、最新モデルのガイドに書いています。
なお、似た設定に top_p(候補を確率の上位だけに絞る)があり、通常はどちらか一方だけを動かすのが定石とされています。
temperature を上げすぎると、もっともらしい嘘(ハルシネーション)が混ざりやすくなる副作用にも要注意です。
入力できる文章量の上限を扱うコンテキストウィンドウとあわせて押さえておくと、AIの挙動をより立体的に理解できます。
最後に
temperature は、AIの回答を「安定させるか、広げるか」を一つのつまみで切り替えられる便利な設定です。
迷ったら、正確さ重視なら低め・発想重視なら高め、と覚えておけば十分に使い分けられます。
仕組みを知っておくと、AIの出力が揺れたときも慌てずに原因を切り分けやすくなります。
以上です。












コメントを残す