溫度是一個強大的參數,用於控制 Claude 回應的可預測性或創造性。了解如何有效使用它可以大幅改善您的 AI 應用程式。
Claude 如何生成文本
在深入探討溫度之前,了解 Claude 的文本生成過程會很有幫助。當您向 Claude 發送像「你怎麼想?」這樣的提示時,它會經過三個主要步驟:
- Tokenization(分詞) - 將您的輸入分解成較小的區塊
- Prediction(預測) - 計算可能的下一個詞的機率
- Sampling(取樣) - 根據這些機率選擇一個 token

在這個例子中,Claude 可能會將 30% 的機率分配給「about」,20% 分配給「would」,10% 分配給「of」,依此類推。模型接著會選擇一個 token,並重複這個過程以建構完整的回應。

溫度的作用
溫度是一個介於 0 和 1 之間的小數值,直接影響這些選擇機率。這就像調整 Claude 回應的「創意旋鈕」。

在低溫度(接近 0)時,Claude 會變得非常確定性 - 它幾乎總是選擇機率最高的 token。在高溫度(接近 1)時,Claude 會在選項之間更均勻地分配機率,從而產生更多樣化和創意的輸出。
溫度範圍與使用案例
不同的任務需要不同的溫度設定:

低溫度(0.0 - 0.3)
- 事實性回應
- 程式碼協助
- 數據提取
- 內容審核
中溫度(0.4 - 0.7)
- 摘要
- 教育內容
- 問題解決
- 有限制的創意寫作
高溫度(0.8 - 1.0)
- 腦力激盪
- 創意寫作
- 行銷內容
- 笑話生成
在程式碼中實作溫度
為您的聊天函式新增溫度支援非常簡單。以下是如何修改您現有的函式:
def chat(messages, system=None, temperature=1.0):
params = {
"model": model,
"max_tokens": 1000,
"messages": messages,
"temperature": temperature
}
if system:
params["system"] = system
message = client.messages.create(**params)
return message.content[0].text關鍵的變更是新增 temperature=1.0 作為參數,並在 params 字典中包含 "temperature": temperature。
測試溫度效果
要實際看看溫度的效果,可以嘗試使用不同的設定來生成電影點子:
# 低溫度 - 較可預測
answer = chat(messages, temperature=0.0)
# 高溫度 - 較具創意
answer = chat(messages, temperature=1.0)在 temperature=0.0 時,您可能會持續得到像「一位穿越時空的考古學家必須阻止古代文物被盜」這樣的回應。在 temperature=1.0 時,您會看到生成的創意概念有更多的變化。
重點摘要
請記住,溫度並不保證不同的輸出 - 它只是改變獲得不同輸出的機率。即使在高溫度下,Claude 偶爾也可能產生類似的回應。關鍵在於將您的溫度設定與您的任務相匹配:
- 當您需要一致、事實性的回應時,使用低溫度
- 當您想要創造力和多樣性時,使用高溫度
- 嘗試不同的數值,找出最適合您特定使用案例的設定
溫度是微調 Claude 行為最實用的參數之一,使其成為您 AI 開發工具箱中不可或缺的工具。