mcpField
E
evolve

evolve

github.com/q00エージェントワークフロー6.3k69 回インストール1 日前に更新
リポジトリ

evolve について

evolve は、オントロジーと受け入れ基準を反復的に改善する Ouroboros スキルです。各世代で実行と評価を行うか選べ、収束、停滞、または世代上限で終了します。系譜の状態確認と巻き戻しにも対応します。

主な機能

  1. 01オントロジーを反復的に改善
  2. 02世代ごとの実行と評価を選択
  3. 03系譜の状態と進捗を確認
  4. 04以前の世代への巻き戻し
  5. 05停滞時の追加分析への引き継ぎ

活用シーン

  1. 01プロジェクト目標の受け入れ基準の改善
  2. 02実行を省いたオントロジー反復
  3. 03収束の進捗確認
  4. 04以前の世代からの再開

MCP 対応

インタビュー、Seed 生成、進化ステップ、系譜の状態確認、巻き戻しに Ouroboros MCP ツールを使います。このワークフローには Ouroboros MCP サーバーが必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/q00/ouroboros --skill evolve

インストール後、Claude Code で/evolveを入力して読み込まれたか確認します。

詳細

ooo evolve - 進化ループ

世代を重ねながらオントロジーと受け入れ基準を洗練する進化ループを開始、監視、または巻き戻します。

Gen 1: Seed → Execute(all ACs) → Judge → Gate
Gen 2+: Wonder(failed ACs) → Reflect(active ACs only) → Execute(active) → Gate(all)
...until the gate passes, the loop stagnates, or 30 generations are reached

使用方法

ooo evolve "build a task management CLI"              # start
ooo evolve "build a task management CLI" --no-execute # ontology-only (fast)
ooo evolve --status <lineage_id>                      # lineage status
ooo evolve --rewind <lineage_id> <generation_number>  # rewind

手順

MCP ツールの読み込み(遅延スキーマへの対処)

Ouroboros ツールは遅延読み込みされる場合があり、あるターンで読み込まれたスキーマが次のターンまでにアンロードされることがあります。各 ouroboros_* 呼び出しの直前に、アクティブなランタイムのツール検出機能を使って読み込んでください。ouroboros_evolve_step、ouroboros_lineage_status、ouroboros_evolve_rewind には "+ouroboros evolve"、ouroboros_interview には "+ouroboros interview"、ouroboros_generate_seed には "+ouroboros seed"、ouroboros_lateral_think には "+ouroboros lateral" を指定します。スキーマが読み込まれていない状態で呼び出すと、「Invalid tool parameters」で失敗します。ツールがすでに呼び出し可能であれば、検出処理は何も行わず、空の結果が返されることが想定されます。フォールバックは、ツールが本当に存在しない場合にのみ使用してください。

新しいループを開始する
  1. インタビューを実行します。ユーザーの入力を initial_context として ouroboros_interview を呼び出し、曖昧さが 0.2 以下になるまで続けます。
  2. Seed を生成します。インタビューの session_id を指定して ouroboros_generate_seed を呼び出します。
  3. 新しい lineage_id(例:lin_<seed_id>)、seed_content(Seed YAML)、および execute(デフォルトの true は世代ごとに Execute→Evaluate を実行し、--no-execute の場合は false)を指定して ouroboros_evolve_step を呼び出します。世代 2 以降の呼び出しでは lineage_id のみを渡します。各呼び出しでは世代を 1 つだけ実行し、呼び出し間でイベントから状態が再構築されます。
  4. action に応じて対応します。
    • continue:active_ac_indices を確認してから、lineage_id を指定して再度呼び出します。失敗または再オープンされた AC のみが進化し、凍結された PASS の AC は再生成ではなく再検証されます。
    • ontology_stable:成功ではありません。同じ lineage に対して execute: true を指定して再度呼び出し、その応答を処理します。converged アクションが返るまでは、収束したと報告しないでください。
    • converged:独立して評価された結果が合格しました。最終的なオントロジーを提示します。
    • stagnated:3 世代のウィンドウ内でオントロジーが変化しなかったか、不合格スコアの変化が 0.01 未満でした。ooo unstuck(ouroboros_lateral_think)に引き継ぎます。
    • exhausted:30 世代の上限に達しました。最良の世代を提示します。
    • failed:エラーを報告します。期限切れの lineage 所有者が示された場合は、まず以前の所有者プロセスが終了していることを確認してから、recover_expired_claim: true を指定して 1 回呼び出します。処理に時間がかかっているだけ、またはまだ実行中の所有者に対しては、決してこの値を設定しないでください。
  5. continue の間は繰り返します。execute: true の場合、世代ごとに Execute→Evaluate がすでに実行されているため、lineage_id を指定して ooo evaluate を案内しないでください。正式な評価には実行の session_id が必要で、lineage ID は該当しません。

実行された世代には、skip_qa: true でない限り QA の判定が含まれます。世代を通じて品質を追跡するには、そのスコアを使用してください。Gen 1 が合格すれば、ただちに収束する場合があります。

ステータス

lineage_id を指定して ouroboros_lineage_status を呼び出し、世代数、オントロジーの進化、収束の進捗を表示します。これはステータスを読み取るだけで、ループを再開するものではありません。

巻き戻し

lineage_id と to_generation(その世代を含めて保持し、それ以降の世代を切り詰めます)を指定して ouroboros_evolve_rewind を呼び出します。続けるには、同じ lineage_id を指定して ouroboros_evolve_step を呼び出します。

ベンチマーク制御(明示的なリクエストがある場合のみ)

測定対象の節約分を消費してしまうため、完全なグラフの制御アームを独断で実行しないでください。ユーザーから依頼があった場合にのみ、既存の Gen 2 以降の lineage に対して、benchmark_control: true、execute: true、および処置コミットの時点にある別のワークツリー内の、明示的でクリーンな Git の project_dir を指定して ouroboros_evolve_step を呼び出します。アクティブセットが小さいことはワーキングセットに関する観察であり、節約の主張ではありません。節約に関する判定はサーバーの記録に基づきます。

フォールバック(Ouroboros MCP サーバーがない場合)

進化ループについて説明し、MCP サーバーのインストール(Getting Started を参照)を案内します。その後、ouroboros mcp serve --runtime claude-cli を実行し、ランタイムの MCP 設定に追加するよう提案してください。

RFC #1392 状態ブレッドクラムフッター

最終回答の末尾は、必ず ◆ <current state> → next: <recommended action> の1行で締めくくってください。利用可能な場合は ouroboros_session_status でライブセッションの状態を取得し、そうでない場合はこのスキルの実際の結果から状態を判断してください。直線的な Step N of M フッターは使わないでください。次のステップが実際の選択肢である場合は、2~3個の選択肢を示してください。

コメント