---
name: .claude/skills/few-shot-learning-patterns/SKILL.md
description: |
    Few-Shot Learning（少数例示学習）のパターンとベストプラクティスを提供するスキル。
    効果的な例示の設計、構造化、配置により、AIの出力品質を大幅に向上させます。
    専門分野:
    - 例示設計: 効果的な入出力ペアの作成
    - パターン構造: 例示の形式と配置最適化
    - ドメイン適応: 領域特化した例示戦略
    - 品質制御: 例示の一貫性と多様性のバランス
    使用タイミング:
    - AIに特定の出力形式を学習させたい時
    - 複雑なタスクの期待出力を示したい時
    - 一貫した出力スタイルを確立したい時
    - Zero-Shotで十分な結果が得られない時
    Use proactively when designing AI prompts with examples,
    establishing output patterns, or improving response consistency.

  📚 リソース参照:
  このスキルには以下のリソースが含まれています。
  必要に応じて該当するリソースを参照してください:

  - `.claude/skills/few-shot-learning-patterns/resources/domain-specific-patterns.md`: 領域特化したFew-Shot例示の設計パターン
  - `.claude/skills/few-shot-learning-patterns/resources/example-design-principles.md`: 効果的な入出力ペアの設計原則
  - `.claude/skills/few-shot-learning-patterns/resources/shot-count-strategies.md`: 例示数の最適化戦略（Zero/One/Few/Many-Shot）
  - `.claude/skills/few-shot-learning-patterns/templates/advanced-few-shot.md`: 高度なFew-Shotプロンプトテンプレート
  - `.claude/skills/few-shot-learning-patterns/templates/basic-few-shot.md`: 基本的なFew-Shotプロンプトテンプレート

version: 1.0.0
---

# Few-Shot Learning Patterns

## 概要

Few-Shot Learning は、少数の例示を通じて AI に
タスクのパターンを学習させる手法です。

**主要な価値**:

- 出力形式の明確な伝達
- 期待品質の具体的な示範
- タスク理解の促進
- 一貫性の向上

## リソース構造

```
few-shot-learning-patterns/
├── SKILL.md
├── resources/
│   ├── example-design-principles.md    # 例示設計の原則
│   ├── shot-count-strategies.md        # 例数選択戦略
│   └── domain-specific-patterns.md     # ドメイン別パターン
└── templates/
    ├── basic-few-shot.md               # 基本Few-Shotテンプレート
    └── advanced-few-shot.md            # 高度なFew-Shotテンプレート
```

## コマンドリファレンス

### リソース読み取り

```bash
# 例示設計の原則
cat .claude/skills/few-shot-learning-patterns/resources/example-design-principles.md

# 例数選択戦略
cat .claude/skills/few-shot-learning-patterns/resources/shot-count-strategies.md

# ドメイン別パターン
cat .claude/skills/few-shot-learning-patterns/resources/domain-specific-patterns.md
```

### テンプレート参照

```bash
# 基本テンプレート
cat .claude/skills/few-shot-learning-patterns/templates/basic-few-shot.md

# 高度なテンプレート
cat .claude/skills/few-shot-learning-patterns/templates/advanced-few-shot.md
```

## Few-Shot Learning 基礎

### Zero-Shot vs Few-Shot vs Many-Shot

| アプローチ | 例数 | 用途             | 利点         | 欠点             |
| ---------- | ---- | ---------------- | ------------ | ---------------- |
| Zero-Shot  | 0    | シンプルなタスク | トークン効率 | 曖昧さ           |
| One-Shot   | 1    | 形式の示範       | 最小限の例示 | 限定的なパターン |
| Few-Shot   | 2-5  | 複雑なタスク     | バランス     | 設計コスト       |
| Many-Shot  | 6+   | 高精度要求       | 堅牢性       | トークン消費     |

### 基本構造

```
[タスク説明]

例1:
入力: [入力例1]
出力: [出力例1]

例2:
入力: [入力例2]
出力: [出力例2]

...

実際のタスク:
入力: [実際の入力]
出力:
```

## 例示設計の原則

### 1. 代表性

**目的**: 例示がタスクの典型的なケースを網羅

**良い例**:

- タスクの主要パターンを含む
- 現実的なデータを使用
- 境界ケースを適度に含む

**悪い例**:

- 極端なケースばかり
- 非現実的なデータ
- すべて同じパターン

### 2. 多様性

**目的**: 異なるバリエーションを示す

**良い例**:

```markdown
例 1: 短いテキストの要約
入力: "AI は機械学習の一分野です。"
出力: "AI = 機械学習の分野"

例 2: 長いテキストの要約
入力: "人工知能（AI）は、コンピュータサイエンスの一分野であり、
人間の知的能力を模倣するシステムの開発を目指しています。"
出力: "AI = 人間の知能を模倣するコンピュータサイエンス分野"
```

### 3. 一貫性

**目的**: 例示間で同じルールを適用

**チェックリスト**:

- [ ] フォーマットが統一されているか
- [ ] 同じタイプの入力に同じ処理を適用しているか
- [ ] 暗黙のルールが一貫しているか

### 4. 漸進的複雑性

**目的**: 簡単な例から複雑な例へ

**推奨順序**:

1. 最もシンプルなケース
2. 標準的なケース
3. やや複雑なケース
4. （必要に応じて）エッジケース

## ワークフロー

### Phase 1: タスク分析

**目的**: Few-Shot が適切かを判断

**判断基準**:

```
Zero-Shotで十分？
├─ はい: 簡単なタスク、明確な指示
└─ いいえ: Few-Shotを検討

Few-Shotが必要な場合:
├─ 特定の出力形式が必要
├─ 暗黙のルールがある
├─ 品質基準が高い
└─ Zero-Shotで失敗した
```

### Phase 2: 例示数の決定

**目的**: 最適な例数を選択

**ガイドライン**:
| 状況 | 推奨例数 | 理由 |
|------|---------|------|
| 形式のみ伝達 | 1-2 | 最小限で十分 |
| 複数パターン | 3-5 | 各パターンに 1 例 |
| 高精度要求 | 5-7 | 堅牢性向上 |
| コンテキスト制限 | 2-3 | トークン節約 |

### Phase 3: 例示の作成

**目的**: 効果的な例示を設計

**作成手順**:

1. タスクの典型例を収集
2. 多様性を確保して選択
3. 一貫したフォーマットで記述
4. 複雑性順に配置

### Phase 4: 検証と改善

**目的**: 例示の有効性を確認

**検証方法**:

1. 実際の入力でテスト
2. 出力の一貫性を確認
3. エッジケースで検証
4. 必要に応じて例示を調整

## タスク別パターン

### 分類タスク

```markdown
以下のテキストを「ポジティブ」「ネガティブ」「中立」に分類してください。

例 1:
テキスト: この製品は素晴らしいです！
分類: ポジティブ

例 2:
テキスト: 品質が悪く、返品しました。
分類: ネガティブ

例 3:
テキスト: 商品を受け取りました。
分類: 中立

実際のタスク:
テキスト: [入力テキスト]
分類:
```

### 抽出タスク

```markdown
テキストから製品名と価格を抽出してください。

例 1:
テキスト: iPhone 15 Pro は 159,800 円で販売中です。
抽出結果:

- 製品名: iPhone 15 Pro
- 価格: 159,800 円

例 2:
テキスト: 新型 MacBook Air が 148,800 円から。
抽出結果:

- 製品名: MacBook Air
- 価格: 148,800 円から

実際のタスク:
テキスト: [入力テキスト]
抽出結果:
```

### 変換タスク

```markdown
日本語をビジネス英語に翻訳してください。

例 1:
日本語: お忙しいところ恐れ入りますが
英語: I apologize for taking your valuable time, but

例 2:
日本語: ご検討のほどよろしくお願いいたします
英語: I would appreciate your kind consideration

実際のタスク:
日本語: [入力テキスト]
英語:
```

### 生成タスク

```markdown
製品説明から 3 つのキャッチコピーを生成してください。

例 1:
製品説明: 軽量で持ち運びやすいノート PC
キャッチコピー:

1. 「どこでも、あなたのオフィス」
2. 「軽さが、自由を連れてくる」
3. 「モビリティ、新時代へ」

実際のタスク:
製品説明: [製品説明]
キャッチコピー:
```

## ベストプラクティス

### すべきこと

1. **実データに近い例を使用**:
   - 実際のユースケースから例を選ぶ
   - 人工的すぎる例を避ける

2. **明確な区切りを使用**:
   - 入力と出力を明確に分離
   - 例の間に一貫した区切り

3. **エッジケースを含める**:
   - 想定される困難なケースを 1 つは含める
   - ただし過度に複雑にしない

4. **フォーマットを統一**:
   - すべての例で同じ構造
   - 一貫したラベリング

### 避けるべきこと

1. **例の詰め込みすぎ**:
   - ❌ 10 個以上の例
   - ✅ 3-5 個の厳選された例

2. **矛盾する例**:
   - ❌ 同じ入力タイプに異なる出力形式
   - ✅ 一貫したルール適用

3. **過度に単純な例**:
   - ❌ 現実と乖離した単純例
   - ✅ 適度な複雑性を持つ例

4. **説明の省略**:
   - ❌ 例だけで暗黙のルールを伝える
   - ✅ 必要に応じて明示的な説明を追加

## トラブルシューティング

### 問題 1: 出力形式が安定しない

**症状**: 例と異なる形式で出力される

**対策**:

1. 例の数を増やす（3→5）
2. 出力形式を明示的に指示
3. 一貫性の高い例を選び直す

### 問題 2: 特定パターンを学習しない

**症状**: ある種類の入力だけ失敗

**対策**:

1. そのパターンの例を追加
2. 例の配置順を変更（問題パターンを最後に）
3. 明示的なルール説明を追加

### 問題 3: トークン制限に到達

**症状**: 例が多すぎてコンテキスト不足

**対策**:

1. 例を厳選して減らす
2. 例の長さを短縮
3. 最も重要なパターンに絞る

## 関連スキル

- **.claude/skills/prompt-engineering-for-agents/SKILL.md** (`.claude/skills/prompt-engineering-for-agents/SKILL.md`)
- **.claude/skills/chain-of-thought-reasoning/SKILL.md** (`.claude/skills/chain-of-thought-reasoning/SKILL.md`)
- **.claude/skills/hallucination-prevention/SKILL.md** (`.claude/skills/hallucination-prevention/SKILL.md`)

## 変更履歴

| バージョン | 日付       | 変更内容 |
| ---------- | ---------- | -------- |
| 1.0.0      | 2025-11-25 | 初版作成 |
