auto_train_skills は何をしますか?
MLトレーニングループをプロンプトエンジニアリングに適用 — 評価を実行し、LLMによる出力を採点し、合格率を追跡することで、Claude Codeスキルを反復的に改善します。
概要
このスキルは、機械学習モデルを訓練する際の反復的な評価と改善のプロセスを、プロンプトエンジニアリングのワークフローに取り入れるためのツールです。具体的には、Claude Codeのスキルに対して、次のようなサイクルを適用します:
- 評価データセットの準備: 入力と期待される出力(ゴールデンアンサー)を定義します。
- 評価の実行: 現在のスキルを使って、各テストケースに対するLLMの応答を生成します。
- LLMによる自動採点: 生成された応答を、別のLLM(または同じLLMの別インスタンス)が評価し、品質スコアを付けます。
- 合格率の追跡: 各テストケースのスコアに基づいて、全体の合格率を計算し、経過を記録します。
- 反復的な改善: 合格率が目標に達するまで、スキルのプロンプトを修正・調整し、再度評価を実行します。
主な機能
- Evalパイプラインの自動化: 設定ファイル(例:
eval_config.yaml)を編集するだけで、評価ワークフローを定義・実行できます。 - LLMグレーダーの統合: 出力品質の採点基準を自由にカスタマイズ可能。
- 履歴管理: 各イテレーションの合格率を時系列で保存し、改善の進捗を可視化します。
- Claude Codeネイティブ連携: スキルファイル(
.claude/skills/内の*.md)を直接対象とし、変更を即座に評価できます。
対応プラットフォーム
- Claude Code: スキル定義と評価実行の両方でClaude CodeのCLIツールchainを利用します。
- 汎用LLM: 評価用のLLMモデルは設定で変更可能(OpenAI互換APIなど)。
使い方
- リポジトリをクローンし、
pip install -r requirements.txtで依存関係をインストールします。 eval_config.yamlを編集して、評価したいスキル、テストケース、合格基準を定義します。- 以下のコマンドで評価を実行します:
python run_eval.py --config eval_config.yaml --skill my_skill.md
- 出力された合格率レポート(
eval_results/配下)を確認し、スキルを修正します。 - 手順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