C
Claude Academy
Parameters

パラメータ: temperature, top_p, max_tokens

約 8 分 · クイズ 4 問 · 演習 1 問
重要キーワード (4 語)
Temperature (温度) — 出力のランダム性 (0.0 ≒ 決定論, 1.0 ≒ 多様)
top_p (Nucleus sampling) — 累積確率 p までの候補からサンプリング
max_tokens (最大出力) — 応答の上限トークン数
stop_sequences (停止文字列) — 出現すると応答が止まる文字列リスト

主要パラメータ

temperature (温度)

ランダム性 を制御します。 - 0.0: ほぼ決定論的 (毎回同じ出力)。 - 1.0: 多様で創造的。 - 推奨: - 分類・抽出: 0.0 - 文章生成: 0.7 - 創作: 1.0

top_p (Nucleus Sampling)

確率の累積が p になるまでのトークン候補からサンプリング。 通常は temperature と併用せず、どちらか一方で十分です (Anthropic 公式は temperature 派)。

max_tokens

出力 の上限トークン数 (入力ではない)。 不足するとレスポンスが途中で切れて stop_reason="max_tokens" になります。

⚠️ 入力との合算で課金 されるので、入力 + 出力 が極端に大きくならないよう注意。

stop_sequences

ここに含まれる文字列が出力に現れたら停止します。 区切り文字を強制したいときに有効。

stop_sequences=["</answer>", "\n\n---"]

metadata.user_id

ユーザー単位のレートリミットや乱用検知に使われる識別子。 個人特定情報 (PII = Personally Identifiable Information) ではなく、 ハッシュ化した ID を入れるのが推奨です。

import hashlib
uid = hashlib.sha256(user_email.encode()).hexdigest()[:16]
client.messages.create(..., metadata={"user_id": uid})

実例: 決定論的 vs 創造的

# 確実に決定論的な分類
client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=20,
    temperature=0.0,
    messages=[{"role": "user", "content": "次の感情を pos/neg/neu で答えてください: 最高でした"}],
)

# 創作タスク
client.messages.create(
    model="claude-opus-4-7",
    max_tokens=2048,
    temperature=1.0,
    messages=[{"role": "user", "content": "猫が世界征服する短編小説を書いて"}],
)

試して比較

同じプロンプトで temperature を変えると応答がどう変わるか体感しましょう。

▶ T=0 で詩を書かせる
temperature=0.0 想定で「春の雨」をテーマに俳句を 1 句書いてください。
▶ T=1 で詩を書かせる
temperature=1.0 で創造的に「春の雨」をテーマに俳句を 1 句書いてください。意外な角度を歓迎します。

Hands-on 演習

演習 1: temperature を変えて再現性を測る

同じ分類タスクを temperature=0.01.05 回ずつ 実行し、答えのばらつきを観察してください。

プロンプト:

次のレビューの感情を positive / negative / neutral のいずれかで答えてください。 レビュー: 「思っていたよりは普通でした」

0.0 では同じ答えに、1.0 では揺らぎが出るはずです。

▶ Playground を開いて実行
💡 ヒント

Playground 上部の temperature を 0 と 1 に切り替えて 5 回ずつ送ってみましょう。境界事例 (中立っぽい) ほど 1.0 で揺れます。

進捗保存にはログインが必要 クイズに挑戦 (4問)

💬 このレッスンへの質問 (0)

全質問を見る →
質問の投稿には ログイン が必要です。閲覧は誰でも可能です。

まだ質問はありません。最初の 1 件を投稿してみましょう。