Claude Code Plugins

Community-maintained marketplace

Feedback

ai-feedback-loop-optimizer

@ntaksh42/agents
0
0

AIフィードバックループ最適化スキル。プロンプト→出力→評価→改善の反復サイクルを自動化。段階的改善、A/Bテスト、収束判定、ベスト出力選択で最高品質の結果を生成。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name ai-feedback-loop-optimizer
description AIフィードバックループ最適化スキル。プロンプト→出力→評価→改善の反復サイクルを自動化。段階的改善、A/Bテスト、収束判定、ベスト出力選択で最高品質の結果を生成。

AI Feedback Loop Optimizer Skill

プロンプト→出力→評価→改善のフィードバックループを自動化し、AI出力を反復的に最適化するスキルです。

概要

このスキルは、AIの出力品質を反復的に改善するフィードバックループを自動化します。初期出力を評価し、問題点を特定して改善されたプロンプトを生成、再度AIに問い合わせることを繰り返し、最高品質の出力に収束させます。

主な機能

  • 反復的改善: 自動的に複数回のフィードバックループを実行
  • 品質評価: 各出力を多角的に評価してスコアリング
  • プロンプト最適化: 評価結果に基づいてプロンプトを改善
  • 収束判定: 品質が十分高くなった時点で自動停止
  • A/Bテスト: 複数のアプローチを並行試行
  • 履歴追跡: 各イテレーションの改善履歴を記録
  • ベスト出力選択: 全イテレーション中の最良の出力を選択
  • パラメータ調整: temperature, top_p等の自動調整
  • 改善戦略: 複数の改善戦略を適用
  • 早期停止: 改善が頭打ちした時点で停止

フィードバックループの仕組み

基本サイクル

┌──────────────────────────────────────────┐
│  イテレーション N                         │
├──────────────────────────────────────────┤
│                                          │
│  1. プロンプト生成/改善                   │
│     ↓                                    │
│  2. AIに問い合わせ                        │
│     ↓                                    │
│  3. 出力を取得                            │
│     ↓                                    │
│  4. 品質評価(スコアリング)               │
│     ↓                                    │
│  5. 問題点の特定                          │
│     ↓                                    │
│  6. 改善戦略の決定                        │
│     ↓                                    │
│  7. 次のイテレーションへ                   │
│     または収束判定                        │
│                                          │
└──────────────────────────────────────────┘

イテレーション例

イテレーション 1: 初期プロンプト

プロンプト:
「Reactについて説明してください。」

AI出力:
「Reactは人気のあるJavaScriptライブラリです。」

評価スコア: 35/100
問題点:
- 情報が不足(完全性: 30/100)
- 具体性に欠ける(具体性: 25/100)
- 例がない(実用性: 20/100)

改善戦略:
- 具体的な特徴を要求
- 使用例を含めるよう指示
- 構造化を要求

イテレーション 2: 改善されたプロンプト

プロンプト:
「Reactについて、以下の観点で説明してください:
1. Reactとは何か(概要)
2. 主な特徴(3つ以上)
3. 簡単なコード例
4. 使用される場面」

AI出力:
「# Reactとは

Reactは、Facebookが開発したUIを構築するためのJavaScriptライブラリです。

## 主な特徴
1. コンポーネントベース: 再利用可能なUIパーツ
2. 仮想DOM: 効率的な描画
3. 一方向データフロー: 予測可能な状態管理

## コード例
```jsx
function Welcome() {
  return <h1>Hello, React!</h1>;
}

使用される場面

  • SPAの構築
  • モバイルアプリ(React Native)
  • 複雑なUIの管理」

評価スコア: 72/100 問題点:

  • 詳細が不足(完全性: 70/100)
  • コード例が簡潔すぎる(実用性: 65/100)

改善戦略:

  • より実践的な例を要求
  • 各特徴の詳細説明を追加

#### イテレーション 3: さらに改善

プロンプト: 「Reactについて、以下の観点で詳細に説明してください:

  1. Reactとは何か(歴史も含めて)
  2. 主な特徴を詳細に(仮想DOM、コンポーネント、Hooks等)
  3. 実践的なコード例(useState, useEffect使用)
  4. メリット・デメリット
  5. 適した使用場面と不適な場面」

AI出力: [詳細で包括的な説明]

評価スコア: 91/100 問題点:

  • ほぼ完璧、わずかな改善の余地

収束判定: ✓ 目標スコア(90点)に到達 ベスト出力: イテレーション 3


## 評価基準

### 多角的スコアリング

```javascript
評価項目:
{
  正確性: 25点,      // 事実の正確さ
  完全性: 20点,      // 情報の網羅性
  明確性: 15点,      // 分かりやすさ
  具体性: 15点,      // 具体例の有無
  構造: 10点,        // 論理的な構成
  実用性: 10点,      // 実際に使える情報
  読みやすさ: 5点    // 文章の質
}

総合スコア: 0-100点

スコアリング例

AI出力の評価:

正確性: 23/25
- ✓ 事実誤認なし
- ✓ 引用が正確
- ✓ 技術的に正しい

完全性: 14/20
- ✓ 主要な情報を含む
- ✗ いくつかの重要な点が欠落
- ⚠️ エッジケースの説明なし

明確性: 13/15
- ✓ 分かりやすい表現
- ⚠️ 一部の専門用語に説明なし

具体性: 10/15
- ✓ コード例あり
- ✗ より実践的な例が必要

構造: 8/10
- ✓ 見出しで整理
- ⚠️ 深い階層化が不足

実用性: 7/10
- ⚠️ 実際のプロジェクトへの適用が不明確

読みやすさ: 4/5
- ✓ 流暢な文章

総合スコア: 79/100

改善戦略

戦略1: 詳細化

問題: 完全性スコアが低い(14/20)

改善アクション:
- プロンプトに「詳細に」「網羅的に」を追加
- 不足している項目を明示的に要求
- 例: 「エッジケースや制限事項も含めて説明」

戦略2: 構造化

問題: 構造スコアが低い(8/10)

改善アクション:
- 明確な見出し構造を要求
- 箇条書きの使用を指示
- 例: 「Markdownの見出し(#, ##, ###)を使用して構造化」

戦略3: 具体化

問題: 具体性スコアが低い(10/15)

改善アクション:
- より実践的な例を要求
- ユースケースの明示を指示
- 例: 「実際のプロジェクトで使用できるコード例を含めて」

戦略4: 簡潔化

問題: 冗長で読みにくい

改善アクション:
- 簡潔な説明を要求
- 重要なポイントのみに絞る
- 例: 「3-5文で簡潔に要約」

戦略5: Few-shot追加

問題: 期待する形式で出力されない

改善アクション:
- 望ましい出力例を追加
- 例: 「以下の形式で出力してください: [例]」

収束判定

判定基準

収束条件(いずれかを満たす):

1. 目標スコアに到達
   - 総合スコア >= 90/100

2. 改善が頭打ち
   - 3回連続でスコア改善が+2点未満

3. 最大イテレーション数
   - 10回のイテレーションを完了

4. スコアの低下
   - 前回より大幅にスコアが下がった(-5点以上)
   - → 前回の出力を採用

収束判定例

イテレーション履歴:
1: スコア 35/100
2: スコア 72/100 (+37) ← 大幅改善、継続
3: スコア 91/100 (+19) ← 大幅改善、継続
4: スコア 93/100 (+2)  ← 改善鈍化、継続
5: スコア 94/100 (+1)  ← 改善鈍化、継続
6: スコア 94/100 (±0)  ← 改善なし、収束判定

収束理由: 改善が頭打ち(3回連続で+2点未満)
ベスト出力: イテレーション 5-6(スコア 94/100)

A/Bテスト機能

複数アプローチの並行試行

初期プロンプト: 「Reactについて説明してください」

イテレーション 1:

アプローチA(詳細化):
プロンプト: 「Reactについて、詳細に包括的に説明してください」
出力A: [詳細だが冗長]
スコア: 72/100

アプローチB(構造化):
プロンプト: 「Reactについて、以下の項目で説明:
1. 概要
2. 特徴
3. 例
4. 使用場面」
出力B: [構造化されているが簡潔]
スコア: 78/100

選択: アプローチB(スコアが高い)

イテレーション 2:
アプローチBをベースにさらに改善...

パラメータ調整

自動パラメータ最適化

イテレーションごとにパラメータを調整:

イテレーション 1:
temperature: 0.7  # デフォルト
top_p: 0.9
→ 出力: やや曖昧
→ スコア: 68/100

イテレーション 2:
temperature: 0.3  # より決定論的に
top_p: 0.5
→ 出力: 明確で一貫性あり
→ スコア: 85/100

イテレーション 3:
temperature: 0.2  # さらに厳密に
top_p: 0.3
→ 出力: 非常に正確
→ スコア: 92/100

履歴追跡

改善履歴の記録

{
  "task": "Reactの説明",
  "startTime": "2024-11-22T10:00:00Z",
  "endTime": "2024-11-22T10:05:30Z",
  "totalIterations": 5,
  "finalScore": 94,
  "iterations": [
    {
      "iteration": 1,
      "prompt": "Reactについて説明してください。",
      "output": "Reactは人気のある...",
      "score": 35,
      "evaluation": {
        "accuracy": 8,
        "completeness": 6,
        "clarity": 7,
        ...
      },
      "issues": [
        "情報が不足",
        "具体例がない"
      ],
      "strategy": "詳細化"
    },
    {
      "iteration": 2,
      "prompt": "Reactについて、以下の観点で...",
      "output": "# Reactとは...",
      "score": 72,
      "improvement": 37,
      "evaluation": {...},
      "issues": ["コード例が簡潔すぎる"],
      "strategy": "具体化"
    },
    ...
  ],
  "bestIteration": 5,
  "bestScore": 94,
  "convergenceReason": "改善が頭打ち"
}

使用例

基本的な使い方

以下のタスクをフィードバックループで最適化してください:

タスク: 「TypeScriptの型システムを説明」
目標スコア: 90点
最大イテレーション: 5回

自動的に反復改善を実行し、ベストな出力を返してください。

詳細設定

フィードバックループ最適化を実行してください:

タスク: 「Dockerのベストプラクティスをまとめる」

設定:
- 目標スコア: 92点
- 最大イテレーション: 7回
- 早期停止: 改善が3回連続で+2点未満
- パラメータ調整: 自動
- A/Bテスト: 2つのアプローチを並行試行

評価重視項目:
- 実用性: 30%
- 完全性: 25%
- 具体性: 25%
- その他: 20%

出力:
- ベストな結果
- 改善履歴
- 各イテレーションのスコア推移

段階的改善の可視化

タスク: 「GraphQLの利点を説明」

各イテレーションの改善を可視化してください:

出力形式:
1. イテレーションごとのスコア推移グラフ(テキストベース)
2. 各イテレーションの主な改善点
3. 最終的なベスト出力
4. 改善プロセスのサマリー

カスタム評価基準

タスク: 「React vs Vueの比較」

カスタム評価基準:
- 公平性: 30点(どちらかに偏らない)
- 網羅性: 25点(重要な観点をカバー)
- 実用性: 20点(実際の選定に役立つ)
- 正確性: 15点(技術的に正しい)
- 構造: 10点(読みやすい構成)

目標スコア: 85点
最大イテレーション: 6回

高度な機能

マルチモーダル最適化

テキスト + コード + 図表の最適化:

タスク: 「REST APIの設計ガイド」

各イテレーションで改善:
- テキスト説明の明確性
- コード例の実用性
- 図表の分かりやすさ(ASCII artまたはMermaid)

総合評価でベストな組み合わせを選択

ドメイン特化最適化

技術ドキュメント向け:
- 評価基準: 正確性、完全性、例の質を重視
- 改善戦略: コード例の追加、APIリファレンスとの整合性

ブログ記事向け:
- 評価基準: 読みやすさ、関心度、SEOを重視
- 改善戦略: 見出しの最適化、キーワード配置

学術論文向け:
- 評価基準: 論理性、引用の正確性、形式を重視
- 改善戦略: 引用の追加、論理構造の強化

チーム評価統合

複数の評価者による並行評価:

イテレーションごとに:
1. 評価者A(正確性重視): 82点
2. 評価者B(実用性重視): 88点
3. 評価者C(読みやすさ重視): 85点

平均スコア: 85点

評価者間の不一致が大きい場合:
→ 各評価者のフィードバックを統合して次のプロンプトを生成

ベストプラクティス

  1. 明確な目標設定: 何を最適化するか明確に
  2. 適切な評価基準: タスクに合った評価項目の選択
  3. 早期停止の活用: 無駄なイテレーションを避ける
  4. 履歴の記録: 改善プロセスを分析可能に
  5. A/Bテストの活用: 複数アプローチを試行
  6. パラメータ調整: temperature等を動的に調整
  7. 収束判定の妥当性: 目標スコアを現実的に設定

制限事項

  • コストの増加: 複数回のAPI呼び出しが必要
  • 時間の増加: イテレーションに時間がかかる
  • 収束の保証なし: 必ずしも改善するとは限らない
  • 評価の主観性: 自動評価の精度には限界あり

バージョン情報

  • スキルバージョン: 1.0.0
  • 最終更新: 2025-11-22

使用例まとめ

シンプルな最適化

タスク: 「Pythonの基礎を説明」
目標スコア: 85点

フィードバックループで最適化してください。

詳細設定での最適化

タスク: [複雑なタスク]
設定: [詳細な設定]
カスタム評価: [評価基準]

反復改善を実行し、ベスト出力と改善履歴を提供してください。

このスキルで、AI出力を反復的に改善し、最高品質の結果を得ましょう!