「同じ質問をしているのに、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」でも、ツールが違えば挙動は同一になりません。
数値は絶対値ではなく、各サービスの中での相対的な位置として捉えると迷いにくいはずです。
なお、似た設定に top_p(候補を確率の上位だけに絞る)があり、通常はどちらか一方だけを動かすのが定石とされています。
temperature を上げすぎると、もっともらしい嘘(ハルシネーション)が混ざりやすくなる副作用にも要注意です。
入力できる文章量の上限を扱うコンテキストウィンドウとあわせて押さえておくと、AIの挙動をより立体的に理解できます。
最後に
temperature は、AIの回答を「安定させるか、広げるか」を一つのつまみで切り替えられる便利な設定です。
迷ったら、正確さ重視なら低め・発想重視なら高め、と覚えておけば十分に使い分けられます。
仕組みを知っておくと、AIの出力が揺れたときも慌てずに原因を切り分けられるはず。
以上です。










コメントを残す