Top-pとは、生成AIが次に出すトークンを選ぶとき、確率の高い候補からどこまでを選択肢として残すかを決める設定です。「核サンプリング(Nucleus Sampling)」とも呼ばれます。
簡単にいうと、Top-pの値を小さくすると候補が絞られやすくなり、出力は比較的まとまりやすくなります。反対に値を大きくすると、より多くの候補が残りやすくなり、表現の幅が広がる傾向があります。
ただし、Top-pを下げれば「必ず正しい回答になる」という意味ではありません。調整対象は、あくまで生成時の候補の選び方です。
この記事では、Top-pの意味や仕組みを具体例で説明し、TemperatureやTop-kとの違い、実際に設定するときの考え方まで初心者向けに解説します。
Top-pとは?生成AIの候補を確率で絞る設定
この設定とは、生成AIが文章などを生成するときに、次のトークンとして検討する候補の範囲を累積確率で決める方法です。
大規模言語モデル(LLM)は、次に続きそうなトークンそれぞれに確率を割り当てます。Top-pでは、その確率が高い順に候補を並べ、合計が指定したpに達するまでを選択候補として残します。
Top-pは「核サンプリング」とも呼ばれる
この設定の正式な考え方は、Nucleus Samplingと呼ばれます。日本語では「核サンプリング」と訳されることがあります。
Nucleus Samplingを提案した研究では、確率の高い候補から累積確率がp以上になる最小の集合を作り、その中から次のトークンをサンプリングします。候補数を固定するのではなく、その時点の確率分布に応じて候補数が変わることが特徴です。
「上位p%の単語」という意味ではない
初心者が特に注意したいのが、「Top-p=上位90%の単語を残す」といった理解です。
たとえば値を0.9にしても、単語やトークンの個数を上位90%まで残すわけではありません。見るのは候補数ではなく確率の合計です。OpenAIのAPI資料でも、Top-pは指定した確率質量を構成するトークンを候補にする方法として説明されています。
Top-pの仕組み
仕組みは、「候補を確率の高い順に足していく」と考えると理解しやすくなります。
ここでは説明を簡単にするため、次に続く候補が5つだけあると仮定します。
1. 次のトークンごとに確率を計算する
生成AIが次のトークンについて、次のような確率を予測したとします。
| 候補 | 確率 |
|---|---|
| A | 45% |
| B | 25% |
| C | 15% |
| D | 10% |
| E | 5% |
実際の言語モデルでは多数のトークンが候補になりますが、考え方は同じです。
2. 確率の高い順に累積する
ここで値を「0.8」に設定したとします。
確率の高い順に足すと、
- A:45%
- 2候補の合計(A+B):70%
- 3候補の合計(A+B+C):85%
となります。
AとBだけでは80%に届きません。そのためCまで含め、累積確率が80%以上になった時点で候補を区切ります。
この例では、A・B・Cが選択候補です。DとEは候補から外れます。原論文でも、この候補集合の大きさが確率分布によって動的に変わることがTop-pの特徴として説明されています。
3. 残った候補の中から次のトークンを選ぶ
候補を絞ったあとは、残ったトークンの確率を調整し、その中から次のトークンを選択します。
つまり、Top-pは「この単語を必ず選ぶ」という設定ではありません。どの範囲までを選択候補として認めるかを調整する仕組みです。

Top-pの値を変えると生成結果はどう変わる?
設定値を変更すると、生成AIが検討する候補の広さが変わります。
大まかな傾向は次のとおりです。
| Top-p | 候補範囲 | 出力の傾向 |
|---|---|---|
| 低い | 狭くなりやすい | 高確率な候補を中心に選びやすい |
| 中間 | 適度に絞る | 多様性と絞り込みのバランスを調整 |
| 1に近い | 広くなりやすい | より多くの候補を残す |
ただし、同じ値でも候補数が常に同じになるわけではありません。Top-pは確率の合計を基準にするため、モデルが「次の候補にどれくらい自信を持っているか」によって残るトークン数が変わります。
値を低くした場合
値を低くすると、確率の高い候補だけで指定した累積確率へ達しやすくなります。
その結果、候補が限定され、比較的無難な表現や予測確率の高い表現が選ばれやすくなる傾向があります。
ただし、「低い=高品質」「低い=正しい」という単純な関係ではありません。候補を絞りすぎると、必要な表現の幅まで失われる可能性があります。
値を高くした場合
反対に値を高くすると、より多くの候補を残しやすくなります。
文章作成やアイデア出しなど、複数の表現を求める場面では、候補の幅を残すことが役立つ場合があります。一方、候補範囲を広げれば、それだけ出力のばらつきも大きくなる可能性があります。
Top-p・Temperature・Top-kの違い
この設定を理解するときに混同しやすいのが、TemperatureとTop-kです。
いずれも生成時の候補選択に関係しますが、調整する対象が異なります。Top-pは累積確率、Top-kは候補数、Temperatureは確率分布の形に関係する設定です。
| 設定 | 主な役割 | 候補の決め方 |
|---|---|---|
| Top-p | 候補範囲を確率で絞る | 累積確率がpに達するまで |
| Top-k | 候補数を絞る | 確率上位k個 |
| Temperature | 確率分布を調整する | 高確率・低確率候補の差を変化させる |
Temperatureは確率分布そのものを調整する
Temperatureは、候補となるトークンの確率分布を変化させるための設定です。
一般に低くすると確率の高い候補がより優先されやすくなり、高くすると候補間の差が小さくなって多様性が生まれやすくなります。Top-pのように「累積確率がここまで」という境界を直接設定する方法とは異なります。
Top-kは候補数を固定する
Top-kでは、確率の高い候補を上位k個だけ残します。
たとえばTop-kを「5」にすれば、基本的には上位5候補が対象です。一方、Top-pでは累積確率を使うため、ある場面では2候補、別の場面では10候補といったように、残る候補数が変化します。
Top-pは確率に応じて候補数が変わる
この手法の特徴は、動的な候補選択です。
次のトークンがほぼ決まっている場面なら少数の候補だけで指定確率へ到達できます。反対に、自然な候補が多数ある場面では、より多くのトークンが候補に入ることがあります。

Top-pの使い方
利用するときは、最初から細かい数値へこだわる必要はありません。
まず利用しているモデルやサービスの初期設定で結果を確認し、「候補を絞りたいのか」「表現の幅を広げたいのか」を考えて調整すると理解しやすくなります。
最初はデフォルト設定から試す
初心者は、まずデフォルト値のまま使う方法が分かりやすいでしょう。
生成結果を確認してから変更すれば、「設定を変えたことで何が変わったのか」を比較しやすくなります。
また、設定可能な範囲や初期値はサービス・モデルによって異なる場合があります。最新の公式仕様を確認してから変更してください。実際に、2026年時点でもモデルによってサンプリングパラメータの対応状況は異なります。
出力の幅が広すぎる場合は少し下げる
同じ指示でも表現が広がりすぎる場合は、値を少し下げて候補範囲を狭める方法があります。
一度に大きく変えるのではなく、設定前後の出力を比較しながら調整すると、影響を把握しやすくなります。
表現が限定されすぎる場合は戻す
反対に、表現が似通っている場合や、より多様な候補を試したい場合は、Top-pを高い方向へ戻す方法があります。
ただし、創造性はこの設定だけで決まるものではありません。モデル、プロンプト、Temperature、入力内容なども生成結果へ影響します。
Temperatureと同時に変更しすぎない
両者を同時に大きく変更すると、どの設定が結果へ影響したのか判断しにくくなります。
OpenAIのAPI資料では、通常はTemperatureかTop-pの一方を変更することが推奨されています。モデルやサービスごとの仕様を優先しつつ、初心者は1項目ずつ比較すると違いを理解しやすいでしょう。

Top-pを使うメリット
仕組みを理解すると、生成AIが「どのように次の言葉を選んでいるのか」をイメージしやすくなります。
主なメリットは次の3つです。
- 出力の候補範囲を調整できる
- 確率が極端に低い候補を除外しやすい
- 文脈ごとの確率分布に応じて候補数が変わる
特に3つ目はこの手法の特徴です。固定数を指定するTop-kとは異なり、モデルの確率分布に応じて候補集合が変化します。
Top-pを使うときの注意点
この設定は便利ですが、万能ではありません。
特に「値を下げればAIの回答が正しくなる」と考えないことが重要です。
Top-pは事実確認の設定ではない
調整対象は、モデルが生成時に検討するトークンの範囲です。
外部情報を検索したり、回答内容が事実かどうかを検証したりする機能ではありません。そのため、数値を下げただけでハルシネーションを防げるとは限りません。
事実性が重要な場合は、信頼できる情報源との照合や検索機能、RAG(検索拡張生成)など、別の対策も検討する必要があります。
「おすすめのTop-p」は一律ではない
適切な値は、利用するモデルや目的によって変わります。
文章の要約、コード生成、アイデア出し、創作では、求める出力も異なります。そのため、「この値なら必ず最適」と一律に決めるより、実際の出力を評価しながら調整することが大切です。
サービスやモデルによって設定できない場合もある
この手法は生成AI全体に関係する代表的なサンプリング手法ですが、すべてのサービスで利用者が自由に変更できるわけではありません。
現在はモデルによってサンプリングサンプリング設定を受け付けないケースや、設定を省略することが推奨されているケースもあります。利用するときは、対象サービス・モデルの最新の公式ドキュメントを確認しましょう。
Top-pに関するよくある質問
Top-pとは簡単にいうと何ですか?
仕組み上、Top-pとは、生成AIが次のトークンを選ぶときに、確率の高い候補からどこまでを選択肢として残すか決める設定です。
候補の累積確率が指定したp以上になるまでを残すため、「候補数」ではなく「確率」を基準にする点が特徴です。
Top-pが低いほど回答は正確になりますか?
必ずしも正確になるわけではありません。
値を低くすると高確率な候補へ絞られやすくなりますが、Top-p自体は事実確認をする仕組みではありません。回答の正しさはモデル、入力情報、参照情報などにも左右されます。
Top-pとTemperatureの違いは何ですか?
整理すると、Top-pは、累積確率を使って候補範囲を絞る設定です。
一方、Temperatureは候補の確率分布を変化させ、どの程度高確率な候補を優先するかに影響します。OpenAIでは通常、両方ではなくどちらか一方を調整する方法が案内されています。
Top-pとTop-kの違いは何ですか?
候補数を基準にするTop-kは、確率が高い上位k個だけを残します。
一方、Top-pは累積確率がpに達するまで候補を残します。そのため、Top-kでは候補数が固定されますが、Top-pでは確率分布によって候補数が変化します。
初心者もTop-pを変更したほうがよいですか?
必ず変更する必要はありません。
まずは利用しているサービスやモデルのデフォルト設定で試し、生成結果を比較したい場合に調整すると分かりやすいでしょう。設定できる項目自体がモデルによって異なるため、最新仕様の確認も重要です。
まとめ
累積確率を使うTop-pとは、生成AIが次のトークンを選ぶときに、確率の高い候補から累積確率が指定値に達するまでを選択候補として残す設定です。核サンプリングとも呼ばれます。
値を低くすれば候補が絞られやすくなり、高くすれば多くの候補を残しやすくなります。また、固定数の候補を残すTop-kとは異なり、Top-pでは確率分布に応じて候補数が変化します。
一方、Top-pは回答の事実性を保証する設定ではありません。初心者は「AIの正確さを変更する数字」ではなく、生成するときの候補範囲を調整する数字と覚えておくと理解しやすいでしょう。
関連用語
出典・参考情報
- OpenAI「API Reference:top_p」
Top-pの定義、Temperatureとの使い分けを確認。 - Ari Holtzmanほか「The Curious Case of Neural Text Degeneration」
Nucleus Sampling(核サンプリング)の定義と、確率分布に応じて候補集合が変化する仕組みを確認。 - Anthropic「Migration guide」
モデルによってサンプリングパラメータの対応状況が異なることを確認。 - Google Cloud「Generate content with the Gemini API」
モデルによるTop-pなどのサンプリング設定の対応状況を確認。
