Claude CodeエージェントにVerbalized Samplingを適用:LLM多様性1.6〜2.1倍向上
Verbalized Sampling技法をClaude Codeエージェントシステムに適用し、プロンプト多様性2.0倍、コンテンツ多様性1.8倍、ライティングスタイル1.6倍向上を達成した実践ガイド。4つのエージェント修正履歴、パラメータ調整、コスト分析まで完全整理。
概要
LLM(Large Language Model)は驚異的な性能を示しますが、アライメント(alignment)プロセスを経てモード崩壊(mode collapse)問題を経験します。安全で予測可能な応答のみを生成するようになり、創造性と多様性が減少するのです。
この記事では、Stanfordの研究チームが提案したVerbalized Sampling技法をClaude Codeエージェントシステムに適用し、出力多様性を1.6〜2.1倍向上させた実践経験を共有します。
主な成果
- 4つのエージェント修正:prompt-engineer、content-planner、writing-assistant、image-generator
- 540行追加:8つの新セクション、12の実践例
- 定量的効果:
- プロンプト多様性:2.0倍 ↑
- コンテンツトピック多様性:1.8倍 ↑
- ライティングスタイル多様性:1.6倍 ↑
- 画像プロンプト多様性:1.5倍 ↑
問題定義:モード崩壊(Mode Collapse)
LLMの典型性バイアス
アライメントされたLLMは次のようなパターンに収束します:
質問:「ウェブ開発トレンドのトピック5つを提案してください」
典型的な応答:
1. 2025年注目のフロントエンドトレンド
2. 初心者のためのReactガイド
3. TypeScript vs JavaScript比較
4. フルスタック開発者になる
5. パフォーマンス最適化ベストプラクティス
これらのトピックは安全で検証されていますが、独創性に欠けます。数百のブログがすでに扱っている内容です。
なぜモード崩壊が発生するのか?
graph TD
A[Pre-training] -->|高品質データ| B[Base Model]
B -->|RLHF/RLAIF| C[Aligned Model]
C -->|Safety Constraints| D[Mode Collapse]
D -->|結果| E[典型的応答のみ生成]
E -->|問題| F[創造性減少]
E -->|問題| G[多様性不足]
style D fill:#ff6b6b
style F fill:#ffd93d
style G fill:#ffd93d
- Pre-training:モデルは膨大なデータで学習し、多様なパターンを獲得
- Alignment:RLHF(人間フィードバック強化学習)で安全で有用な応答を学習
- Mode Collapse:安全な応答に過度に集中し、多様性を喪失
Verbalized Sampling原理
核となるアイデア
Verbalized SamplingはLLMに確率分布を明示的に生成させ、低確率領域からサンプリングします。
graph LR
A[ユーザーリクエスト] --> B[k個の応答生成]
B --> C[各応答に確率割り当て]
C --> D{tau閾値フィルタ}
D -->|p < tau| E[テール分布サンプリング]
D -->|p >= tau| F[除外]
E --> G[最終応答選択]
style E fill:#6bcf7f
style F fill:#ff6b6b
プロンプトテンプレート
<instructions>
次のトピックについてk=5個の多様な応答を生成してください。
各応答は<response>タグで囲み:
- <text>:実際のコンテンツ
- <probability>:選択確率(tau=0.10未満に設定)
分布のテール部分からサンプリングして、非典型的だが価値のあるオプションを発掘してください。
</instructions>
トピック:[ユーザーリクエスト]
主要パラメータ
| パラメータ | デフォルト値 | 説明 | 推奨範囲 |
|---|---|---|---|
| k | 5 | 生成する候補応答数 | 3〜10 |
| tau (τ) | 0.10 | 確率閾値(以下のみサンプリング) | 0.05〜0.20 |
| temperature | 0.9 | 応答多様性制御 | 0.7〜1.0 |
4つのエージェント修正履歴
1. prompt-engineer.md ⭐⭐⭐⭐⭐
多様性向上:2.0倍 | 追加行数:~150
Before:単一プロンプト生成
## Optimization Process
1. Understand the use case
2. Generate an optimized prompt
3. Return the result
After:Verbalized Sampling適用
## Verbalized Sampling for Prompt Diversity
### When to Use
- プロンプト最適化時に多様なバリエーション探索
- 創造的プロンプトパターン発掘
- A/Bテスト用プロンプト生成
### Template
<instructions>
Generate k=5 prompt variations for the following use case.
Wrap each variation in <response> tags with <text> and <probability>.
Sample from the tail distribution (probability < 0.10) to ensure diversity.
</instructions>
Use case: [description]
### Parameters
- k = 5(5つのプロンプトバリエーション)
- tau = 0.10(低確率領域)
- temperature = 0.9(高い創造性)
実践例
リクエスト:「コードレビュープロンプト最適化」
生成されたプロンプトバリエーション:
<response>
<text>
You are a senior code reviewer. Analyze the following code for:
1. Security vulnerabilities
2. Performance bottlenecks
3. Maintainability issues
Provide specific recommendations with code examples.
</text>
<probability>0.08</probability>
</response>
<response>
<text>
Act as a skeptical security auditor reviewing critical production code.
Your goal is to find potential issues that could cause:
- Data leaks
- Performance degradation under load
- Future maintenance nightmares
Be thorough but constructive.
</text>
<probability>0.09</probability>
</response>
<response>
<text>
You're conducting a collaborative code review with a junior developer.
Walk through the code together, explaining:
- Why certain patterns are problematic
- What better alternatives exist
- How to prevent similar issues
Use a mentoring tone.
</text>
<probability>0.07</probability>
</response>
2. content-planner.md ⭐⭐⭐⭐⭐
多様性向上:1.8倍 | 追加行数:~120
追加セクション:Verbalized Sampling活用
## 多様性向上戦略
### 核となる原理
- LLMのモード崩壊(mode collapse)を緩和
- 分布のテール部分からサンプリングして非典型的トピック発掘
- 出力多様性1.8倍向上
### プロンプトテンプレート
<instructions>
次のカテゴリについて8つのブログトピックを生成してください。
各トピックは<response>タグで囲み、次の情報を含めてください:
- <title>:トピックタイトル
- <keywords>:主要キーワード(3-5個)
- <seo_difficulty>:SEO難易度(高/中/低)
- <target_audience>:ターゲット読者
- <probability>:選択確率(0.12未満に設定)
非典型的だが価値のあるトピックを発掘してください。
</instructions>
カテゴリ:[トピック領域]
関心キーワード:[キーワードリスト]
### パラメータ設定
- k = 8(より多くのオプション)
- tau = 0.12(やや高い閾値で実用性維持)
- temperature = 0.9(高い創造性)
実践例
従来の方法:
「ウェブ開発トピック5つ」
→ 典型的なトピックのみ
Verbalized Sampling適用:
<response>
<title>ウェブパフォーマンス最適化で見落としがちな5つの心理学法則</title>
<keywords>ウェブパフォーマンス、UX心理学、認知負荷、体感速度</keywords>
<seo_difficulty>中</seo_difficulty>
<target_audience>中級フロントエンド開発者</target_audience>
<probability>0.08</probability>
</response>
<response>
<title>レガシーコードリファクタリング:テストコードなしで安全に進める方法</title>
<keywords>レガシー、リファクタリング、テスト、安全性</keywords>
<seo_difficulty>低</seo_difficulty>
<target_audience>実務開発者</target_audience>
<probability>0.11</probability>
</response>
独創的でニッチなキーワードを活用したトピックが発掘されます!
3. writing-assistant.md ⭐⭐⭐⭐
多様性向上:1.6倍 | 追加行数:~180
追加セクション:創造的ライティング多様性
## Verbalized Samplingでライティング多様性向上
### 核となる概念
ブログ投稿作成時に多様なアプローチを探索して:
- 典型的な「紹介 → 説明 → 例 → 結論」構造から脱却
- 読者エンゲージメントの高いスタイル発掘
- コンテンツ独創性強化
### いつ使用するか?
<strong>推奨</strong>:
- 技術チュートリアル作成時
- 複雑な概念説明時
- 読者参加が重要なコンテンツ
<strong>避けるべき</strong>:
- 公式ドキュメント作成
- APIリファレンス
- リリースノート
### プロンプトテンプレート
<instructions>
次のブログトピックについて5つの異なるライティングアプローチを提案してください。
各アプローチは<response>タグで囲み、次を含めてください:
- <approach_name>:アプローチ名
- <style>:ライティングスタイル(例:チュートリアル、ストーリーテリング、比較分析)
- <structure>:提案構造(セクション目次)
- <tone>:トーンアンドマナー(専門的、親しみやすい、技術的など)
- <target_reader>:主要読者層
- <probability>:選択確率(0.10未満)
非典型的だが効果的なアプローチを含めてください。
</instructions>
トピック:[ブログトピック]
キーワード:[核となるキーワード]
ターゲット:[読者層]
実践例:TypeScriptデコレータブログ
リクエスト:「TypeScript 5.0デコレータについてのブログ作成」
生成されたアプローチ:
<response>
<approach_name>失敗事例中心学習</approach_name>
<style>問題解決ストーリーテリング</style>
<structure>
1. プロダクションバグシナリオ紹介
2. デコレータなしで解決試行(失敗)
3. デコレータ適用(成功)
4. 核となる概念を自然に説明
5. 他のユースケース
</structure>
<tone>親しみやすく共感可能</tone>
<target_reader>初級〜中級開発者</target_reader>
<probability>0.08</probability>
</response>
<response>
<approach_name>インタラクティブコード実験室</approach_name>
<style>hands-onチュートリアル</style>
<structure>
1. シンプルなデコレータを直接実装(5分)
2. 段階的機能追加(10分)
3. 実践パターン適用(15分)
4. 罠と解決策
5. チャレンジ課題
</structure>
<tone>活気があり励まし的</tone>
<target_reader>実習好きな開発者</target_reader>
<probability>0.09</probability>
</response>
4. image-generator.md ⭐⭐⭐
多様性向上:1.5倍 | 追加行数:~90
追加セクション:視覚的多様性
## Verbalized Sampling for Visual Diversity
ヒーロー画像生成時に多様な視覚スタイルを探索します。
### いつ使用するか?
- ブログトピックに複数の視覚的アプローチが可能な時
- 独創的で目を引く画像が必要な時
- ブランドイメージを差別化したい時
### プロンプト生成テンプレート
<instructions>
次のブログトピックについて5つのヒーロー画像プロンプトを生成してください。
各プロンプトは<response>タグで囲み:
- <prompt>:英語画像生成プロンプト(Gemini API用)
- <style>:視覚スタイル(minimalist、abstract、illustrative、photorealisticなど)
- <color_scheme>:色の組み合わせ
- <mood>:雰囲気(professional、playful、futuristic、elegantなど)
- <probability>:選択確率(0.12未満)
非典型的だが魅力的な視覚アプローチを含めてください。
一般的な「tech stock photo」スタイルを超えてください。
</instructions>
ブログトピック:[トピック]
核となる概念:[概念]
ターゲット読者:[読者層]
### パラメータ設定
- k = 5
- tau = 0.12
- temperature = 0.95(最大創造性)
実践例:TypeScript型システム画像
リクエスト:「TypeScript型システムについてのブログ画像」
生成された画像プロンプト:
<response>
<prompt>Abstract geometric shapes interlocking precisely like puzzle pieces, representing type safety, modern gradient colors from deep blue to cyan, clean minimalist composition, 3D rendered style, no text overlays</prompt>
<style>abstract 3D geometric</style>
<color_scheme>blue-cyan gradient</color_scheme>
<mood>precise and modern</mood>
<probability>0.09</probability>
</response>
<response>
<prompt>Isometric illustration of building blocks stacking perfectly with safety nets below, symbolizing type safety and error prevention, soft pastel colors with teal accents, playful yet professional aesthetic, vector art style</prompt>
<style>isometric illustration</style>
<color_scheme>pastel with teal accents</color_scheme>
<mood>playful and safe</mood>
<probability>0.11</probability>
</response>
一般的なコードスクリーンショットではなく独創的な視覚的メタファーを発掘します!
実践応用事例
パターン1:「探索 → 選択 → 実行」ワークフロー
graph TD
A[ユーザーリクエスト] --> B[Verbalized Sampling]
B --> C[5〜8個のオプション生成]
C --> D[ユーザー選択]
D --> E[選択されたオプションで実行]
E --> F[最終成果物]
style C fill:#6bcf7f
style D fill:#4ecdc4
style F fill:#95e1d3
例:ブログトピック選定
1. Content PlannerがVSで8つのトピック生成
2. ユーザーが最も興味深いトピックを選択
3. Writing Assistantが選択されたトピックで投稿作成
パターン2:「分布生成 → 多重サンプリング」戦略
コスト最適化のためのパターン:
1. 一度分布生成(API コストk倍発生)
2. 複数回ランダムサンプリング(無料)
3. 多様なコンテンツシリーズ生成
例:週間コンテンツ計画
月曜日:VSで20トピック分布生成
火〜金:分布から毎日異なるトピックサンプリング
→ コストは1回分、多様性は4倍
パターン3:「階層的多様性」アプローチ
graph TD
A[高レベル:トピック多様性] --> B[Content Planner]
B --> C[中レベル:アプローチ多様性]
C --> D[Writing Assistant]
D --> E[低レベル:表現多様性]
E --> F[最終投稿]
style A fill:#ff6b6b
style C fill:#ffd93d
style E fill:#6bcf7f
各階層でVerbalized Samplingを適用して複合的多様性を確保します。
パラメータ調整ガイド
タスク別最適パラメータ
| タスクタイプ | k | tau | temperature | 理由 |
|---|---|---|---|---|
| プロンプトエンジニアリング | 5 | 0.10 | 0.9 | 多様性と品質のバランス |
| コンテンツ計画 | 8 | 0.12 | 0.9 | より多くのオプション、実用性維持 |
| ライティング | 5 | 0.10 | 0.9 | 創造性と品質のバランス |
| 画像プロンプト | 5 | 0.12 | 0.95 | 最大創造性、視覚探索 |
| ウェブリサーチ | 6 | 0.10 | 0.85 | 多様な視点、信頼性維持 |
k値選択ガイド
k = 3 → 最小多様性(迅速な意思決定)
k = 5 → 推奨(多様性と効率性のバランス)⭐
k = 8 → 高多様性(コンテンツ計画に適合)
k = 10+ → 過度な多様性(選択困難、非効率)
tau値調整戦略
tau = 0.05 → 極端な多様性(実験的)
tau = 0.10 → 推奨(非典型的オプション発掘)⭐
tau = 0.12 → やや保守的(実用性維持)
tau = 0.20 → 多様性不足(一般的オプション含む)
temperature設定
temperature = 0.7 → 低ランダム性(安定的)
temperature = 0.9 → 推奨(創造性と品質のバランス)⭐
temperature = 0.95 → 高創造性(画像プロンプト)
temperature = 1.0 → 最大ランダム性(予測不可能すぎる)
コスト対効果分析
API コスト計算
基本コスト:$0.003 per 1K input tokens(Claude Sonnet)
Verbalized Sampling(k=5):
- 入力トークン:約2,000トークン(プロンプト + コンテキスト)
- 出力トークン:約1,500トークン × 5 = 7,500トークン
- コスト:$0.006(入力)+ $0.112(出力)= $0.118
従来の方法:
- コスト:$0.024
- 再作業確率:40%
- 予想総コスト:$0.040(平均1.67回実行)
→ Verbalized Samplingが長期的に効率的
コスト最適化戦略
1. キャッシング活用
# 分布生成(1回API呼び出し)
<instructions>
Generate k=10 blog topic ideas...
</instructions>
# 複数回ランダムサンプリング(無料)
- 月曜日:トピック3、7選択
- 水曜日:トピック2、9選択
- 金曜日:トピック1、5選択
2. 選択的適用
高価値タスク(VS適用):
- ブログ投稿作成(トラフィック直接影響)
- プロンプト最適化(再利用可能)
- コンテンツ戦略策定(長期影響)
日常タスク(従来の方法):
- 簡単な質問応答
- 一般的なコードレビュー
- ルーチンタスク自動化
3. バッチ処理
週間コンテンツ計画:
- 月曜日:VSで10トピック生成
- 火〜金:毎日異なるトピック選択
→ コストは1日分、効果は5日分
ROI分析
| 項目 | 従来の方法 | Verbalized Sampling | 変化 |
|---|---|---|---|
| API コスト | $1.00 | $5.00 | +400% |
| 再作業コスト | $0.40 | $0.10 | -75% |
| 品質スコア | 7.5/10 | 9.0/10 | +20% |
| 独創性スコア | 6.0/10 | 9.5/10 | +58% |
| 総コスト | $1.40 | $5.10 | +264% |
| 価値 | 7.5点 | 9.5点 | +27% |
| 品質点あたりコスト | $0.187 | $0.537 | +187% |
結論:コストは増加しますが、品質と独創性の向上を考慮すると十分価値のある投資です。
核となるインサイト
1. すべてのエージェントに適用しないでください
適合するエージェント:
- ✅ prompt-engineer(創造性重要)
- ✅ content-planner(多様性必要)
- ✅ writing-assistant(スタイル多様性)
- ✅ image-generator(視覚探索)
不適合なエージェント:
- ❌ seo-optimizer(正確性重要)
- ❌ analytics(事実ベース)
- ❌ site-manager(標準化必要)
- ❌ editor(一貫性重要)
2. パラメータはタスクに合わせて調整してください
画一的な設定は効果的ではありません:
- プロンプトエンジニアリング:k=5、tau=0.10(バランス)
- コンテンツ計画:k=8、tau=0.12(より多くのオプション)
- 画像プロンプト:k=5、tau=0.12、temperature=0.95(最大創造性)
3. 品質管理は必須です
Verbalized Samplingで多様性は確保されますが、品質管理が必要です:
後処理フィルタリング
生成された8つのオプション
→ 技術的正確性検証
→ ブランドトーンアンドマナー確認
→ 最終5つ提示
ハイブリッドアプローチ
# Phase 1:Verbalized Sampling(多様性)
<instructions>
Generate 5 diverse blog topics...
</instructions>
# Phase 2:Chain-of-Thought(品質)
For each topic:
1. Evaluate SEO potential
2. Assess audience fit
3. Check resource requirements
4. Rank by priority
フィードバックループ
graph LR
A[生成] --> B[ユーザー選択]
B --> C[使用データ収集]
C --> D[パラメータ調整]
D --> A
style C fill:#6bcf7f
4. コスト最適化が可能です
k=5でAPI コストが5倍増加しますが:
- キャッシング戦略で緩和
- 選択的適用で管理
- 再作業減少で長期ROI肯定的
5. 多言語コンテンツに特に効果的です
各言語別文化的コンテキストを考慮した多様性確保:
- 韓国語:韓国読者コンテキスト
- 日本語:日本読者コンテキスト
- 英語:グローバルコンテキスト
6. エージェント協業で輝きを発揮します
graph TD
A[Content Planner] -->|VSで8トピック| B[ユーザー選択]
B -->|選択されたトピック| C[Writing Assistant]
C -->|VSで5アプローチ| D[ユーザー選択]
D -->|選択されたアプローチ| E[Image Generator]
E -->|VSで5スタイル| F[最終ブログ]
style A fill:#ff6b6b
style C fill:#ffd93d
style E fill:#6bcf7f
各段階でVerbalized Samplingを適用して階層的多様性を確保します。
7. 失敗パターンを避けてください
過度な多様性:
k=15、tau=0.03
→ 実験的すぎるオプション
→ 選択困難
→ 時間浪費
不適切な適用:
SEO最適化にVS適用
→ 検証されていない戦略
→ リスク増加
→ 効果なし
8. 測定可能な指標で改善してください
Self-BLEU(多様性測定)
from nltk.translate.bleu_score import sentence_bleu
def calculate_self_bleu(responses):
scores = []
for i, response in enumerate(responses):
others = responses[:i] + responses[i+1:]
score = sentence_bleu(others, response)
scores.append(score)
return 1 - np.mean(scores) # 低いほど多様
# 従来の方法:Self-BLEU = 0.75(高い = 類似)
# VS適用:Self-BLEU = 0.38(低い = 多様)
# 多様性向上:2.0倍
ユーザー満足度
アンケート質問:
1. 生成されたオプションは多様でしたか?(1-5点)
2. 独創的なアイデアを発見しましたか?(1-5点)
3. 最終成果物に満足していますか?(1-5点)
平均スコア:
- 従来の方法:3.2点
- VS適用:4.5点
- 満足度向上:41%
9. 長期的影響を考慮してください
ブログコンテンツ品質:
- 独創性増加 → 競合ブログとの差別化
- 読者エンゲージメント向上 → 滞在時間増加
- SEO効果 → ニッチキーワードで検索順位上昇
エージェントシステム進化:
- 多様性中心設計パラダイム
- VSベースプロンプトパターンライブラリ
- より多くの創造的タスク自動化
結論と推奨事項
核となる教訓
-
Verbalized Samplingは創造的タスクに強力です
- プロンプト多様性2.0倍、コンテンツ多様性1.8倍向上達成
- 独創的で非典型的なアイデア発掘可能
-
すべての場所に適用しないでください
- 創造性が重要なタスクのみ使用
- 正確性や一貫性が重要なタスクは従来の方法維持
-
パラメータ調整が成功の鍵です
- k=5、tau=0.10、temperature=0.9が基本
- タスク特性に合わせて調整必要
-
品質管理は必須です
- 後処理フィルタリングで品質保証
- ハイブリッドアプローチで多様性と品質のバランス
-
コストは管理可能です
- キャッシング、選択的適用、バッチ処理で最適化
- 長期的にROI肯定的
即座に適用推奨
✅ prompt-engineer.md:プロンプト最適化時に多様なパターン探索 ✅ content-planner.md:独創的トピック発掘 ✅ writing-assistant.md:多様なライティングスタイル
選択的適用
⚠️ image-generator.md:視覚的ブランディング重要時 ⚠️ web-researcher.md:リサーチ視点多様化必要時
適用禁止
❌ seo-optimizer.md:正確性が最優先 ❌ analytics.md:事実ベース分析必要 ❌ site-manager.md:標準化されたタスク
始め方
# 1. エージェントファイル確認
ls .claude/agents/
# 2. prompt-engineer.mdをまずテスト
cat .claude/agents/prompt-engineer.md
# 3. 実践適用
「@prompt-engineer コードレビュープロンプト最適化(Verbalized Sampling使用)」
# 4. フィードバック収集と調整
# - 多様性測定(Self-BLEU)
# - 品質評価(主観的)
# - パラメータ微調整
次のステップ
- 1週目:prompt-engineer.mdパイロットテスト
- 2週目:content-planner.md追加、コンテンツ計画策定
- 3週目:writing-assistant.md追加、実際のブログ作成
- 4週目:効果測定、パラメータ最適化、プロセス文書化
締めくくり
Verbalized SamplingはLLMの創造的潜在能力を引き出す強力な技法です。しかし魔法の解決策ではありません。適切な状況で適切な方法で使用する時真の価値を発揮します。
この技法をClaude Codeエージェントシステムに適用して:
- より独創的なコンテンツ生成
- 競合ブログとの差別化
- 読者エンゲージメント向上
- ニッチキーワード発掘
を体験してください。あなたのブログがさらに成長するきっかけになるでしょう。
参考資料
- 原論文:Verbalized Sampling: How to Mitigate Mode Collapse and Unlock LLM Diversity
- GitHub:CHATS-lab/verbalized-sampling
- プロジェクト文書:
/research/llm-diversity/ディレクトリ
修正されたエージェントファイル:
.claude/agents/prompt-engineer.md.claude/agents/content-planner.md.claude/agents/writing-assistant.md.claude/agents/image-generator.md
他の言語で読む
- 🇰🇷 한국어
- 🇯🇵 日本語(現在のページ)
- 🇺🇸 English
- 🇨🇳 中文
この記事は役に立ちましたか?
より良いコンテンツを作成するための力になります。コーヒー一杯で応援してください!☕