mcpField
S
self-improving-agent-builder

self-improving-agent-builder

github.com/rysweetエージェントワークフロー76113 回インストール21 週間前に更新
リポジトリ

self-improving-agent-builder について

self-improving-agent-builderは、目標達成型エージェントの実装を反復改善する評価スキルです。エージェントを評価・比較する開発者向けに、失敗分析、根拠に基づく調査、修正、回帰判定を行い、変更の採用可否を決めます。

主な機能

  1. 01段階的な評価テストを実行
  2. 02失敗と影響コンポーネントを分類
  3. 03仮説、根拠、反論を記録
  4. 04プロンプト、検索、コードを修正
  5. 05回帰基準でコミットか差し戻しかを判断

活用シーン

  1. 01エージェントの評価スコアを反復改善
  2. 02エージェントテストの失敗原因を特定
  3. 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(新規)

変更をやみくもに行わないための、重要な思考ステップです。改善案ごとに、次の手順を実行します。

  1. 仮説を立てる:どのような具体的な変更が失敗を修正しますか?
  2. 根拠を集める:評価結果、失敗のパターン、ベースラインスコアから根拠を集めます。
  3. 反論を検討する:何が問題になる可能性がありますか? 回帰のリスクはありますか?
  4. 判断を下す:十分な理由を添えて、適用、スキップ、または保留します。

判断は監査できるように research_decisions.json に記録されます。

判断基準:

  • 適用:明確な失敗パターンがあり、プロンプトテンプレートが利用可能で、スコアが低い
  • スキップ:スコアが 50% を超えている(一時的なばらつきの可能性が高い)
  • 保留:根拠が曖昧で、追加データが必要
フェーズ 4:IMPROVE

調査ステップで承認された改善を適用します。優先順位は次のとおりです。

  1. プロンプトテンプレートの改善(最も安全で、効果が高い)
  2. 検索戦略の調整
  3. コードロジックの修正(最もリスクが高く、慎重なレビューが必要)
フェーズ 5:RE-EVAL

修正を適用した後、同じ評価スイートを再実行して効果を測定します。

フェーズ 6:DECIDE

昇格ゲート:

  • 全体スコアが純増で 2% 以上:変更をコミットします
  • いずれかのレベルで 5% を超える回帰がある:すべての変更を元に戻します
  • それ以外:わずかな改善として注記し、コミットします

設定

パラメーターデフォルト説明
sdk_typemini使用する SDK:mini/claude/copilot/microsoft
max_iterations5改善イテレーションの最大回数
improvement_threshold2.0コミットに必要な最小改善率(%)
regression_tolerance5.0いずれかのレベルで許容される最大回帰率(%)
levelsL1-L6評価するレベル
output_dir./eval_results/self_improve結果ディレクトリ
dry_runfalse評価のみを行い、変更は適用しません

プログラムからの使用

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 教授品質評価

コメント