載入中

Temperature(溫度)是一個強大的參數,用於控制 Claude 回應的可預測性或創造性。了解如何有效使用它可以大幅改善您的 AI 應用程式。

Claude 如何生成文本

在深入探討 temperature 之前,了解 Claude 的文本生成過程會很有幫助。當您向 Claude 發送像「您怎麼看?」這樣的提示時,它會經歷三個關鍵步驟:

  • Tokenization(分詞) - 將您的輸入分解成較小的區塊
  • Prediction(預測) - 計算可能的下一個詞的機率
  • Sampling(取樣) - 根據這些機率選擇一個 token

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

Temperature 的作用

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

在低 temperature(接近 0)時,Claude 會變得非常確定性——它幾乎總是選擇機率最高的 token。在高 temperature(接近 1)時,Claude 會將機率更均勻地分配到各個選項上,從而產生更多樣化和創造性的輸出。

互動式 Temperature 示範

您可以透過 Claude 的互動式示範看到 temperature 的實際效果。觀察當您調整 temperature 滑桿時,機率分佈如何變化:

在 temperature 0.0 時,「about」獲得 100% 的機率——完全確定性。在 temperature 1.0 時,機率會更均勻地分散在所有可能的 token 上,引入隨機性和創造性。

選擇合適的 Temperature

不同的任務需要不同的 temperature 範圍:

低 Temperature(0.0 - 0.3)

  • 事實性回應
  • 程式碼協助
  • 資料提取
  • 內容審核

中等 Temperature(0.4 - 0.7)

  • 摘要
  • 教育內容
  • 問題解決
  • 有限制的創意寫作

高 Temperature(0.8 - 1.0)

  • 腦力激盪
  • 創意寫作
  • 行銷內容
  • 笑話生成

在程式碼中實作 Temperature

為您的聊天函式新增 temperature 支援非常簡單。以下是修改現有函式的方法:

python
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。

測試 Temperature 效果

要看到 temperature 的實際效果,請嘗試使用不同的設定生成電影創意:

python
# 低溫度 - 較可預測
answer = chat(messages, temperature=0.0)

# 高溫度 - 較有創意
answer = chat(messages, temperature=1.0)

在 temperature 0.0 時,您可能會持續得到像「一位穿越時空的考古學家必須阻止古代文物被盜」這樣的回應。在 temperature 1.0 時,您會看到主題、角色和情節元素有更多的變化。

重點摘要

請記住,temperature 並不保證產生不同的輸出——它只是改變獲得不同輸出的機率。即使在高 temperature 下,Claude 偶爾也可能產生類似的回應。關鍵在於將您的 temperature 選擇與您的特定使用案例相匹配:

  • 需要一致、事實性的回應?使用低 temperature
  • 想要創意腦力激盪?調高 temperature
  • 介於兩者之間?中等 temperature 適用於大多數一般任務

Temperature 是您可以調整的最實用參數之一,用於針對您的特定需求微調 Claude 的行為。