self-improving-agent-builder について
self-improving-agent-builderは、目標達成型エージェントの実装を反復改善する評価スキルです。エージェントを評価・比較する開発者向けに、失敗分析、根拠に基づく調査、修正、回帰判定を行い、変更の採用可否を決めます。
主な機能
- 01段階的な評価テストを実行
- 02失敗と影響コンポーネントを分類
- 03仮説、根拠、反論を記録
- 04プロンプト、検索、コードを修正
- 05回帰基準でコミットか差し戻しかを判断
活用シーン
- 01エージェントの評価スコアを反復改善
- 02エージェントテストの失敗原因を特定
- 03異なるSDK実装を比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rysweet/ amplihack --skill self-improving-agent-builderインストール後、Claude Code で/self-improving-agent-builderを入力して読み込まれたか確認します。
詳細
自己改善エージェントビルダー
目的
目標達成型エージェントのあらゆる実装で、閉ループの改善サイクルを実行します。
EVAL -> ANALYZE -> RESEARCH -> IMPROVE -> RE-EVAL -> DECIDE -> (repeat)
各イテレーションでは、L1-L12 の段階的なテストスコアを測定し、error_analyzer.py で失敗を特定し、仮説・根拠・反論を含む調査ステップを実行して、対象を絞った修正を適用し、回帰チェックによって昇格を判定します。
起動するタイミング
- 「エージェントを改善」または「自己改善ループ」
- 「エージェント評価ループ」または「改善サイクルを実行」
- 「エージェントをベンチマーク」または「SDK 実装を比較」
- 「エージェントのスコアを改善」または「エージェントの回帰を修正」
クイックスタート
User: "Run the self-improving loop on the mini-framework agent for 3 iterations"
Skill: Executes 3 iterations of EVAL->ANALYZE->RESEARCH->IMPROVE->RE-EVAL->DECIDE
Reports per-iteration scores, net improvement, and commits/reverts.
ランナースクリプト
自己改善ループは Python CLI として実装されています。
# Basic usage
python -m amplihack.eval.self_improve.runner --sdk mini --iterations 3
# Full options
python -m amplihack.eval.self_improve.runner \
--sdk mini \
--iterations 5 \
--improvement-threshold 2.0 \
--regression-tolerance 5.0 \
--levels L1 L2 L3 L4 L5 L6 \
--output-dir ./eval_results/self_improve \
--dry-run # evaluate only, don't apply changes
ソース: src/amplihack/eval/self_improve/runner.py
ループ(イテレーションごとに 6 フェーズ)
フェーズ 1:EVAL
現在のエージェント実装で、L1-L12 の段階的なテストスイートを実行します。
実行:
python -m amplihack.eval.progressive_test_suite \
--agent-name <agent_name> \
--output-dir <output_dir>/iteration_N/eval \
--levels L1 L2 L3 L4 L5 L6
出力: レベルごとのスコアと全体のベースライン。
フェーズ 2:ANALYZE
error_analyzer.py を使用して失敗を分類します。失敗した各質問を、失敗の分類体系(retrieval_insufficient、temporal_ordering_wrong など)と、原因となった特定のコードコンポーネントに対応付けます。
from amplihack.eval.self_improve import analyze_eval_results
analyses = analyze_eval_results(level_results, score_threshold=0.6)
# Each ErrorAnalysis maps to:
# failure_mode -> affected_component -> prompt_template
フェーズ 3:RESEARCH(新規)
変更をやみくもに行わないための、重要な思考ステップです。改善案ごとに、次の手順を実行します。
- 仮説を立てる:どのような具体的な変更が失敗を修正しますか?
- 根拠を集める:評価結果、失敗のパターン、ベースラインスコアから根拠を集めます。
- 反論を検討する:何が問題になる可能性がありますか? 回帰のリスクはありますか?
- 判断を下す:十分な理由を添えて、適用、スキップ、または保留します。
判断は監査できるように research_decisions.json に記録されます。
判断基準:
- 適用:明確な失敗パターンがあり、プロンプトテンプレートが利用可能で、スコアが低い
- スキップ:スコアが 50% を超えている(一時的なばらつきの可能性が高い)
- 保留:根拠が曖昧で、追加データが必要
フェーズ 4:IMPROVE
調査ステップで承認された改善を適用します。優先順位は次のとおりです。
- プロンプトテンプレートの改善(最も安全で、効果が高い)
- 検索戦略の調整
- コードロジックの修正(最もリスクが高く、慎重なレビューが必要)
フェーズ 5:RE-EVAL
修正を適用した後、同じ評価スイートを再実行して効果を測定します。
フェーズ 6:DECIDE
昇格ゲート:
- 全体スコアが純増で 2% 以上:変更をコミットします
- いずれかのレベルで 5% を超える回帰がある:すべての変更を元に戻します
- それ以外:わずかな改善として注記し、コミットします
設定
| パラメーター | デフォルト | 説明 |
|---|---|---|
sdk_type | mini | 使用する SDK:mini/claude/copilot/microsoft |
max_iterations | 5 | 改善イテレーションの最大回数 |
improvement_threshold | 2.0 | コミットに必要な最小改善率(%) |
regression_tolerance | 5.0 | いずれかのレベルで許容される最大回帰率(%) |
levels | L1-L6 | 評価するレベル |
output_dir | ./eval_results/self_improve | 結果ディレクトリ |
dry_run | false | 評価のみを行い、変更は適用しません |
プログラムからの使用
from amplihack.eval.self_improve import run_self_improvement, RunnerConfig
config = RunnerConfig(
sdk_type="mini",
max_iterations=3,
improvement_threshold=2.0,
regression_tolerance=5.0,
levels=["L1", "L2", "L3", "L4", "L5", "L6"],
output_dir="./eval_results/self_improve",
dry_run=False,
)
result = run_self_improvement(config)
print(f"Total improvement: {result.total_improvement:+.1f}%")
print(f"Final scores: {result.final_scores}")
4 方式ベンチマークモード
すべての SDK 実装を並べて比較します。
User: "Run a 4-way benchmark comparing all SDK implementations"
Skill: Runs eval suite on mini, claude, copilot, microsoft
Generates comparison table with scores, LOC, and coverage.
統合ポイント
src/amplihack/eval/self_improve/runner.py:自己改善ループランナーsrc/amplihack/eval/self_improve/error_analyzer.py:失敗の分類src/amplihack/eval/progressive_test_suite.py:L1-L12 評価ランナーsrc/amplihack/agents/goal_seeking/sdk_adapters/:4 種類すべての SDK 実装src/amplihack/eval/metacognition_grader.py:高度な評価項目src/amplihack/eval/teaching_session.py:L7 教授品質評価