快速回答:Temperature 是什麼?

Temperature(溫度)是控制 AI 語言模型輸出「隨機程度」的參數。Temperature 越低,回答越固定、可預測;Temperature 越高,回答越多變、有創意。你在使用 ChatGPT、Claude 等 AI 工具的 API 時,都可以調整這個參數。

Temperature 的正式定義

在大型語言模型中,Temperature 是一個介於 0 到 2 之間的浮點數參數,它透過縮放 logit 值(模型對每個候選 Token 的原始分數)來改變 Softmax 機率分布的形狀。

技術上的運作方式:

  1. 模型為每個可能的下一個 Token 計算一個 logit(原始分數)
  2. 每個 logit 除以 Temperature 值
  3. 經過 Softmax 函數轉換成機率分布
  4. 根據這個機率分布抽樣選出下一個 Token

Temperature 低 → logit 差異被放大 → 高分 Token 的機率更集中 → 輸出更確定。 Temperature 高 → logit 差異被壓縮 → 各 Token 機率更平均 → 輸出更隨機。

用數學來看:假設兩個 Token 的 logit 分別是 5 和 3。Temperature = 1 時,經過 Softmax 機率大約是 88% vs 12%。Temperature = 0.5 時,logit 變成 10 和 6,機率變成 98% vs 2%——差距拉大了。Temperature = 2 時,logit 變成 2.5 和 1.5,機率變成 73% vs 27%——差距縮小了。

白話解釋

用餐廳點餐來比喻:Temperature = 0 是你每次都點招牌菜,永遠不變;0.7 是通常點招牌菜,偶爾試新菜色;1.5 是完全隨機亂點,可能驚喜也可能踩雷。

Temperature 控制的就是 AI 選字時願意冒多少險。轉低了輸出很穩但單調,轉高了有變化但可能出錯。

另一個比喻:Temperature 像是「冒險程度的旋鈕」。旋到最低(0),AI 永遠選它最有信心的答案——安全但無聊。旋到中間(0.7),AI 偶爾會嘗試不同的表達方式——自然而且有變化。旋到最高(2.0),AI 幾乎是隨機選字——可能寫出天才的句子,也可能寫出完全不通順的東西。

數值怎麼設定?

Temperature 特性 適合場景
0 幾乎確定性輸出,每次結果一致 分類、資料擷取、格式轉換
0.1–0.3 高度精確,偶有微小變化 程式碼生成、數學計算、FAQ 回答
0.5 平衡精確與多樣 摘要、翻譯、一般問答
0.7 自然流暢,適度多樣 一般寫作、email、文案
1.0 高度多樣,創意輸出 故事創作、腦力激盪、詩歌
1.5–2.0 非常隨機,可能不連貫 實驗用途、極端創意探索

2026 年最常見的預設組合是 Temperature 0.7–1.0 搭配 min-p 0.05,涵蓋 90% 的使用場景。

不同場景的建議設定

程式碼生成(Temperature 0–0.2)

寫程式需要精確性,不需要「創意」。低 Temperature 確保語法正確、邏輯一致。如果你用 AI 幫你寫一個 API endpoint,Temperature 設 0 可以確保每次產出的程式碼結構一致,減少不必要的變化。

例外情境:如果你在做腦力激盪(「幫我想五種不同的方式來實作這個功能」),可以暫時提高 Temperature 到 0.8-1.0,讓 AI 提出更多不同的方案。

問答與摘要(Temperature 0.3–0.5)

需要準確但自然的回答。稍微高一點的 Temperature 讓語言不會太死板。客服 chatbot、FAQ 回答、文件摘要都適合這個範圍。

一般寫作(Temperature 0.7)

Email、部落格文章、文案。需要自然流暢又不至於離題的平衡點。0.7 是大多數平台的預設值,也是絕大部分使用場景的安全選擇。

創意發想(Temperature 1.0+)

腦力激盪、故事創作、廣告標語。高 Temperature 讓模型跳出慣性思維,產生意想不到的組合。但要有心理準備——產出品質的方差會很大,需要從大量產出中篩選好的。

資料擷取和分類(Temperature 0)

從文件中抽取特定資訊(名字、日期、金額)、文字分類、情感分析。這些任務需要一致性和精確性,Temperature 設 0 是最安全的選擇。

Temperature vs Top-P vs Min-P

Temperature、Top-P(Nucleus Sampling)和 Min-P 都影響輸出的隨機性,但機制不同。

Temperature vs Top-P

參數 作用方式 效果
Temperature 縮放所有 Token 的 logit 值,改變機率分布形狀 整體放大或縮小隨機性
Top-P 只保留累積機率達到 P 值的 Token,截斷其餘 動態限制候選 Token 數量

Temperature = 0.7 搭配 Top-P = 1(不截斷),跟 Temperature = 1 搭配 Top-P = 0.7,效果類似但不完全一樣。Temperature 改變的是分布形狀,Top-P 改變的是候選範圍。

建議:一次只調一個參數。同時大幅調整 Temperature 和 Top-P 會讓效果難以預測和 debug。

Min-P(2024+ 新參數)

Min-P 是 2024 年開始被更多平台採用的採樣參數。它的做法是:只保留機率大於「最高機率 Token 的機率 × min-p 值」的 Token。

例如,min-p = 0.05,最高機率的 Token 機率是 60%,那只有機率大於 60% × 0.05 = 3% 的 Token 會被保留。

Min-P 的好處是它自動適應不同的分布形狀。當模型很確定(一個 Token 機率 95%)時,Min-P 會自動排除幾乎所有其他選項。當模型不確定(很多 Token 機率差不多)時,Min-P 會保留更多選項。

2026 年的趨勢是用 Temperature + Min-P 取代 Temperature + Top-P,因為 Min-P 的行為更穩定。

API 使用範例

OpenAI API

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "解釋什麼是量子運算"}],
    temperature=0.7,
    top_p=1.0
)

Anthropic API

import anthropic
client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[{"role": "user", "content": "解釋什麼是量子運算"}],
    temperature=0.7
)

Ollama(本地模型)

curl http://localhost:11434/api/generate \
  -d '{"model":"llama3","prompt":"解釋什麼是量子運算","options":{"temperature":0.7}}'

2026 注意事項:Reasoning Model

2026 年出現了許多 Reasoning Model(推理模型),例如 OpenAI o3、Claude 的 extended thinking 模式。使用這類模型時有幾個重要的區別。

不要對 Reasoning Model 降低 Temperature 來期望它「更聰明」。Reasoning Model 的準確度由推理過程本身決定,不是由抽樣溫度控制。如果推理模型答錯了,正確做法是改善 Prompt、增加推理努力(例如調高 budget_tokens),或換更強的模型。

部分 Reasoning Model 不支援 Temperature 設定。例如,OpenAI 的 o 系列模型在某些 API 版本中不接受 Temperature 參數,或者會忽略它。

Extended Thinking 模式下的 Temperature 行為。Claude 的 extended thinking 模式中,思考過程的 Temperature 和最終回答的 Temperature 可能是分開控制的。實際行為請查閱 Anthropic 的 API 文件。

常見誤解

「Temperature 越低 AI 越聰明」 Temperature 不影響模型的知識或推理能力,只影響輸出的隨機性。低 Temperature 讓回答更一致,不代表更正確。模型的「聰明程度」取決於它的訓練資料、參數量和架構,跟 Temperature 無關。

「Temperature 設 0 就是確定性」 理論上是,但浮點運算精度和 GPU 並行計算有不確定性,即使 Temperature = 0 也可能有微小差異。不同硬體、不同 batch size 都可能產生不同的結果。如果你需要嚴格的可重複性,除了 Temperature = 0,還需要設定 seed 參數(部分平台支援)。

「所有模型的 Temperature 效果都一樣」 不同模型對同一個 Temperature 值的反應不同,需要根據具體模型測試。Claude 的 Temperature 1.0 和 GPT-4 的 Temperature 1.0 產出的隨機程度不一樣。

「Temperature 是最重要的參數」 Prompt 的品質對輸出的影響比 Temperature 大得多。好的 Prompt 搭配預設 Temperature,通常比差的 Prompt 搭配完美 Temperature 效果更好。調 Temperature 之前先把 Prompt 調好。

「Temperature 高就是創意」 Temperature 高只是讓輸出更隨機,不是更有創意。真正的「創意」來自好的 Prompt 引導 AI 從不同角度思考。高 Temperature 可能產生有趣的組合,也可能產生完全沒意義的胡言亂語。

安全注意事項

在生產環境中使用 AI API 時,Temperature 設定不當可能導致非預期的輸出。

高 Temperature 的風險。Temperature 設太高時,AI 可能產出不恰當的內容、事實錯誤的陳述、或語法不通的文字。如果你的應用面對終端使用者(例如客服 chatbot),建議 Temperature 不超過 0.7,並搭配 output validation。

一致性需求。在需要一致性的場景(合約生成、法規遵循檢查、醫療資訊),Temperature 設 0 可以確保同樣的輸入得到同樣的輸出。但即使 Temperature = 0,仍然要做人工審查——模型本身可能就是錯的。

知識檢測

讀完文章後,測試一下你對這個主題的理解。

常見問題 FAQ

Temperature 設多少最好?

沒有萬用答案。程式碼和資料擷取建議 0–0.2;問答和摘要建議 0.3–0.5;一般寫作建議 0.7;創意發想建議 1.0 以上。不確定的話就用 0.7——這是最安全的預設值。

Temperature 和 Top-P 有什麼不同?

Temperature 調整所有 Token 的機率分布形狀,Top-P 則直接截斷累積機率低的候選 Token。建議一次只調一個。

Temperature 設 0 會怎樣?

模型幾乎總是選擇機率最高的 Token,輸出非常確定、可重複。適合需要一致性的任務(分類、擷取、格式轉換)。

Reasoning Model 需要調 Temperature 嗎?

不建議。Reasoning Model 的準確度由推理過程決定,不是由 Temperature 控制。改善 Prompt 或增加推理預算比調 Temperature 有效得多。

Temperature 太高會怎樣?

Temperature 過高(例如 2.0)會讓輸出變得不連貫、出現亂碼或無意義的文字。實務上很少需要超過 1.2。

不同 AI 模型的 Temperature 範圍一樣嗎?

不完全一樣。大多數模型的範圍是 0–2,但實際效果因模型而異。同樣的 Temperature 值在不同模型上的表現可能差距很大。

什麼是 Min-P?

Min-P 是較新的採樣參數,它只保留機率超過「最高機率 × min-p 值」的 Token。比 Top-P 更自動化地適應不同的分布,2026 年被越來越多平台採用。

參考資料