Community研究&データ分析github.com

dave-wind/auto_train_skills

MLトレーニングループをプロンプトエンジニアリングに適用 — 評価を実行し、LLMによる出力を採点し、合格率を追跡することで、Claude Codeスキルを反復的に改善します

auto_train_skills とは?

このスキルは、機械学習のトレーニングループの考え方をプロンプトエンジニアリングに応用するためのツールです。具体的には、Claude Codeのスキル(カスタム指示やツール定義)に対して、評価データセットを用いた自動評価(evals)を実行し、LLM自体に出力の品質を採点させます。そして、合格率(pass rate)を追跡することで、どのプロンプト変更が効果的かを定量的に把握し、反復的に改善を進めることができます。主にClaude Code環境を対象としており、標準的なCLIコマンドと設定ファイルを使って、評価パイプラインを簡単に構築・実行できる点が特徴です。開発者は、手動でプロンプトを調整する代わりに、データ駆動型のアプローチでスキルを最適化し、品質保証プロセスを自動化することが可能になります。

対応✓Claude Code~Codex CLI~Cursor
npx skills add dave-wind/auto_train_skills

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

auto_train_skills は何をしますか?

MLトレーニングループをプロンプトエンジニアリングに適用 — 評価を実行し、LLMによる出力を採点し、合格率を追跡することで、Claude Codeスキルを反復的に改善します。

概要

このスキルは、機械学習モデルを訓練する際の反復的な評価と改善のプロセスを、プロンプトエンジニアリングのワークフローに取り入れるためのツールです。具体的には、Claude Codeのスキルに対して、次のようなサイクルを適用します:

  1. 評価データセットの準備: 入力と期待される出力(ゴールデンアンサー)を定義します。
  2. 評価の実行: 現在のスキルを使って、各テストケースに対するLLMの応答を生成します。
  3. LLMによる自動採点: 生成された応答を、別のLLM(または同じLLMの別インスタンス)が評価し、品質スコアを付けます。
  4. 合格率の追跡: 各テストケースのスコアに基づいて、全体の合格率を計算し、経過を記録します。
  5. 反復的な改善: 合格率が目標に達するまで、スキルのプロンプトを修正・調整し、再度評価を実行します。

主な機能

  • Evalパイプラインの自動化: 設定ファイル(例:eval_config.yaml)を編集するだけで、評価ワークフローを定義・実行できます。
  • LLMグレーダーの統合: 出力品質の採点基準を自由にカスタマイズ可能。
  • 履歴管理: 各イテレーションの合格率を時系列で保存し、改善の進捗を可視化します。
  • Claude Codeネイティブ連携: スキルファイル(.claude/skills/ 内の*.md)を直接対象とし、変更を即座に評価できます。

対応プラットフォーム

  • Claude Code: スキル定義と評価実行の両方でClaude CodeのCLIツールchainを利用します。
  • 汎用LLM: 評価用のLLMモデルは設定で変更可能(OpenAI互換APIなど)。

使い方

  1. リポジトリをクローンし、pip install -r requirements.txt で依存関係をインストールします。
  2. eval_config.yaml を編集して、評価したいスキル、テストケース、合格基準を定義します。
  3. 以下のコマンドで評価を実行します:
python run_eval.py --config eval_config.yaml --skill my_skill.md
  1. 出力された合格率レポート(eval_results/ 配下)を確認し、スキルを修正します。
  2. 手順3-4を繰り返して、合格率を向上させます。

設定例(eval_config.yaml)

eval:
  model: "gpt-4"  # 評価用LLM
  grader_prompt: "以下の応答が期待される出力とどの程度一致しているかを1〜5で評価してください。"
  pass_threshold: 0.8  # 合格とみなす平均スコア(5点満点中4点以上)
test_cases:
  - input: "データベースからユーザー一覧を取得するSQLを書いて"
    expected: "SELECT * FROM users;"
  - input: "Pythonでリストの合計を計算する関数"
    expected: "def sum_list(lst):\n    return sum(lst)"

ライセンス

MIT

関連スキル