3行でいうと

  • 温度・top_p・top_kは、次のトークンの選び方を変えるだけで、賢さを変える設定ではない。
  • Claudeの新しい世代(Opus 5.5、Sonnet 5.5、Haiku 5.5など)では、既定値以外を送ると400エラーになる。
  • OpenAIのGPT-6系では、推論の強さを「なし」以外にすると temperature と top_p は外す。
  • Gemini 3.x は、既定値のままにするよう公式が強く勧めている。

この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書や論文を読んでまとめたものです。モデルの名前や仕様は2026年10月8日に確認した内容で、変わることがあります。

先に結論

前提:AIは「確率表」から一語ずつ引いている

AIは、文章を一度に作るのではなく、「次に来るトークン(文字や単語の断片)」を1つずつ決めて並べています。決めるときには、まず語彙の全部(とても多くの候補)に、点数が付きます。この点数をロジット(確率になる前の生の点数)と呼びます。点数を確率に直す計算がソフトマックスです。そのあと、確率表から1つをサンプリング(確率に従って引く)します。

つまみは、この「点数から確率へ」と「確率表から引く」の段階に作用します。

つまみ 作用する段階 一言でいうと
温度(temperature) 点数を確率に直す前 確率表を尖らせる/平らにする
top_p(核サンプリング) 確率表から引く前 確率の上位から累積p%までに絞る
top_k 確率表から引く前 上位k個までに絞る

温度:確率表の「尖り具合」

論文(Holtzmanらの「The Curious Case of Neural Text Degeneration」、ICLR 2020)に、温度を入れたソフトマックスの式があります。点数を温度tで割ってからソフトマックスにかけます。論文では、tを0以上1未満にすると、確率の高いものに偏り、確率の低い「すそ野」が薄くなる、と説明されています。

僕らの計算です。例として、5つの候補の点数が 3, 2, 1, 0, -1 だったとします(この数字は説明のための仮のものです)。

温度 候補1 候補2 候補3 候補4 候補5
0.5 86.5% 11.7% 1.6% 0.2% 0.0%
1.0 63.6% 23.4% 8.6% 3.2% 1.2%
2.0 42.9% 26.0% 15.8% 9.6% 5.8%

温度を下げると、1位の候補にほぼ決まります。温度を上げると、2位以下も引かれやすくなります。温度が0に近いと、毎回ほぼ1位を選ぶ動きになります。ただしAnthropicのAPI文書には、温度を0.0にしても結果は完全には決まらない(毎回同じにはならない)と書かれています。

論文の別の観察も重要です。温度を下げると文章の質は上がりやすい一方、多様さは落ちる、という先行研究が紹介されています。さらに、論文の実験では、温度が0.9より低いと繰り返し(同じ言葉の連続)が大きく増えた、と書かれています。

top_p:確率の上位から「累積p%」まで

top_p(核サンプリング、nucleus sampling)は、確率の高い順に候補を足していき、合計がpを超えたところで打ち切る方法です。残った候補だけで、確率を比率で計算し直して引きます。論文はこの仕組みを、確率の「核(nucleus)」だけから引く方法、と呼んでいます。

僕らの計算です。上の表の温度1.0で、top_p=0.9とすると、63.6%、87.0%(累計)、95.6%(累計)と足して、3個目で0.9を超えます。候補は上位3個に絞られ、4個目と5個目は引かれません。温度2.0なら、4個目まで必要です。つまり、確率表が平らなときは候補が多く、尖っているときは少なくなる。ここがtop_pの特徴です。

OpenAIのAPI文書でも、top_pは「温度の代わりになる方法」と説明され、0.1なら確率の上位10%分だけを見る、と書かれています。同じ文書は、温度とtop_pは「どちらかだけを変えることを勧める(両方ではなく)」としています。

top_k:上位k個までに固定

top_kは、確率の高い順にk個だけ残す方法です。AnthropicのAPI文書では、確率の低い「すそ野」の応答を取り除くためのもので、高度な用途向けと説明されています。

論文は、kを固定する難しさを指摘しています。文脈によって、次の語の候補が何十個も同じように妥当な場合もあれば、1つか2つにほぼ決まる場合もあります。kが小さいと前者でつまらない文章になり、kが大きいと後者で不適切な候補まで入る、という説明です。top_pは、候補の数が状況で増減するので、この点を避けられる、というのが論文の主張です。

論文の比較表(Holtzmanら、人間の文章に近いか)

論文の表1には、デコード(文章の生成方法)ごとの指標があります。数字は論文のものを写したもので、条件は論文の実験に限ります。

方法 繰り返しの割合 HUSE(人手と統計を合わせた評価。高いほどよい)
人間の文章 0.28% (対象外)
貪欲法(常に1位を選ぶ) 73.66% (対象外)
純粋なサンプリング(そのまま引く) 0.22% 0.67
温度0.9 0.66% 0.79
top-k=40 0.78% 0.19
top-k=640 0.28% 0.94
top-k=40と温度0.7を併用 8.86% 0.08
核サンプリング(p=0.95) 0.36% 0.97

読み取れること(論文の範囲で)は次のとおりです。

  • 常に1位を選ぶと、繰り返しが73.66%と極端に多くなります。
  • 低めの温度とtop-kの併用(k=40、温度0.7)は、繰り返しが8.86%に増え、HUSEも低くなっています。
  • 核サンプリングは、この表でHUSEが最も高い値でした。

この比較は2019〜2020年のモデルについてのものです。今のAIにそのまま当てはまるかどうかは、この論文からは言えません。

主要APIの現状(2026年10月8日確認)

Anthropic(Claude)

Claude Platform Docsのモデル別の案内では、次のとおりです。

古いコードを新しいモデルに切り替えるとき、設定を残したまま送ると、すぐエラーになります。

OpenAI

Google(Gemini)

使い分けの考え方(見立てです)

見立てです。以下は、読んだ資料からこの記事は、組み立てた整理で、検証したものではありません。

  1. まず、使っているモデルがつまみを受け付けるかを確認する。 新しいClaudeやGPT-6系では、そもそも指定しない前提で設計します。
  2. つまみが使える古いモデルや他の基盤モデルでは、温度かtop_pのどちらか一方だけを変える。 OpenAIの文書がそう勧めています。
  3. ばらつきを抑えたい用途(分類、抽出、要約の統一)では、つまみより出力の形式を固定するほうが効く場合が多そうです。 構造化出力(出力の形をJSONなどに固定する機能。Claudeの文書にも項目があります)は、そのための手段の候補です。ただし温度を下げても毎回同じ結果にはならない、とAnthropicも書いているので、完全な再現性が必要なら、結果を保存して使い回す設計のほうが確実です。
  4. ばらつきを増やしたい用途(案出し)では、1回で良い案を求めず、複数回生成して選ぶ。 温度に頼れない場合の代替です。

つまずきやすい点

気をつけること

出典

更新履歴