mcpField
S
shinka-run

shinka-run

github.com/sakanaai開発1.5k235 回インストール3 週間前に更新
リポジトリ

shinka-run について

ShinkaEvolve CLIでプログラム変異バッチを実行するためのスキルです。モデルと実行設定を検証し、通常は各バッチの設定についてユーザー確認を求めます。

主な機能

  1. 01タスクファイルとCLIオプションの確認
  2. 02モデルの利用可否と設定の検証
  3. 03実行設定の確認要求
  4. 04明示的な引数で進化バッチを起動
  5. 05出力確認とバッチ間の引き継ぎ

活用シーン

  1. 01設定済みのShinkaEvolveプログラム進化の実行
  2. 02実行前のモデル設定確認
  3. 03前回の結果に基づく次バッチの計画

インストール

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

$npx skills add https://github.com/sakanaai/shinkaevolve --skill shinka-run

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

詳細

Shinka Run CLI スキル

ShinkaEvolve の CLI インターフェースを使用して、プログラムの変異をまとめて実行します。

使用するタイミング

次の場合にこのスキルを使用します。

  • evaluate.py と initial.<ext> がすでに存在する
  • ユーザーが ShinkaEvolve/Shinka ライブラリを使用してコード進化を実行したい
  • 明示的な CLI 引数を使用して、設定可能なプログラム進化の実行を行いたい

次の場合はこのスキルを使用しないでください。

  • タスクをゼロから新規に構築する必要がある(shinka-setup を使用してください)

ShinkaEvolve とは?

SakanaAI が開発したフレームワークです。LLM と進化的アルゴリズムを組み合わせてプログラムの変異を提案し、評価してアーカイブします。目的は、パフォーマンスを最適化し、新たな科学的知見を発見することです。

リポジトリとドキュメント:https://github.com/SakanaAI/ShinkaEvolve 論文:https://arxiv.org/abs/2212.04180

ワークフロー

  1. タスクディレクトリを確認する
ls -la <task_dir>

evaluate.py と initial.<ext> が存在することを確認します。

  1. CLI リファレンスを手早く確認する
shinka_run --help
  1. 実行を提案する前に、モデルが利用可能か確認する
shinka_models
shinka_models --verbose

実行設定が shinka_models に照らして正確であることを検証します。

  • 変異モデル:evo.llm_models の各項目がすべて llm リストに含まれている必要があります。
  • メタ推奨モデル:evo.meta_rec_interval が設定され、evo.meta_llm_models も設定されている場合、すべてのメタモデルが llm リストに含まれている必要があります。
  • プロンプト進化モデル:evo.evolve_prompts=true の場合、evo.prompt_llm_models が指定されていればそれを使用し、指定されていなければ evo.llm_models を使用します。選択したモデルはすべて llm リストに含まれている必要があります。
  • 埋め込みモデル:evo.embedding_model が設定されている場合、embedding リストに含まれている必要があります。
  • LLM と埋め込みには、local/<model>@http(s)://host[:port]/v1 を使用したローカルの OpenAI 互換モデルも利用できます。これらのローカルモデルは shinka_models に含まれている必要はありません。

重要な実行ルール:

  • メタ推奨が evo.llm_models にフォールバックすると想定しないでください。現在のランナーでは、evo.meta_llm_models が明示的に設定されている場合に限り、メタ推奨が有効になります。
  • プロンプト進化は、evo.prompt_llm_models が未設定の場合に evo.llm_models へフォールバックします。
  • local/<model>@http(s)://host[:port]/v1 の値は、shinka_models への登録確認における明示的な例外として扱います。代わりに、実行前にローカルのエンドポイント URL とサービスの稼働状況を別途確認してください。
  • 必要なモデルが shinka_models にない場合は、そこで中止し、設定を変更するか、不足している認証情報を先に設定するようユーザーに依頼してください。
  1. 最初のバッチの設定をユーザーに確認する
  • 最低限、予算の適用範囲、生成数、重要なオーバーライドを確認します。
  • shinka_models との照合後、変異用 LLM、メタ推奨用 LLM、プロンプト進化用 LLM、埋め込みモデルを明示的に確認します。
  • 不明点があれば、実行前に質問してください。
  • 確認されていない引数は上書きしないでください。
  1. 明示的な設定を指定してメインの実行を開始する
shinka_run \
  --task-dir <task_dir> \
  --results_dir <results_dir> \
  --num_generations 40 \
  --set db.num_islands=3 \
  --set job.time=00:10:00 \
  --set evo.task_sys_msg='<task-specific system message guiding search>'\
  --set evo.llm_models='["gpt-5-mini","gpt-5-nano"]' \
  --set evo.meta_llm_models='["gpt-5-mini"]' \
  --set evo.prompt_llm_models='["gpt-5-mini"]' \
  --set evo.embedding_model='text-embedding-3-small' \
  # Concurrency settings for parallel sampling and evaluation
  --max-evaluation-jobs 2 \
  --max-proposal-jobs 2 \
  --max-db-workers 2
  1. 引き継ぎ前に出力を検証する
ls -la <results_dir>

実行ログ、世代ごとのフォルダー、SQLite データベースなどの成果物が生成されることを想定してください。

  1. バッチ間の引き継ぎ(自律実行が明示的に指定されている場合を除く)
  • 完了したバッチの結果を要約します。
  • 次のバッチを実行する前に、次のバッチの設定をユーザーに確認します。
  • 次の内容を明示的に質問します。「次のバッチでは、どのような新しい方向性を推し進めましょうか?アルゴリズムのアイデア、制約、避けるべき失敗パターンを含めてください。」
  • ユーザーからのフィードバックを改訂版のシステムプロンプトに反映し、次回の shinka_run 呼び出しで --set evo.task_sys_msg=... を使って渡します。
  • プロンプトが長文または複数行の場合は、シェルのエスケープを避けるため、設定ファイルに記述して --config-fname を使用します。
  • ユーザーが新規実行/フォークを明示的に希望しない限り、後続のバッチでも同じ --results_dir を使用します。

フィードバックを反映した次のバッチのコマンド例:

shinka_run \
  --task-dir <task_dir> \
  --results_dir <results_dir> \
  --num_generations 20 \
  --set evo.task_sys_msg='<new system prompt derived from user feedback>' \
  --set db.num_islands=3

バッチ制御ポリシー(必須)

shinka_run の呼び出し 1 回を、プログラムの評価/生成の 1 バッチとして扱います。

  • デフォルトモード:バッチ間で人間が介入します。
  • 各バッチの後、および最初のバッチの前に、次に実行する設定(予算、--num_generations、モデル/設定の上書き、同時実行数、島、出力パス)を必ずユーザーに確認してください。
  • ユーザーが次の設定を確認するまで、次のバッチを開始しないでください。
  • Shinka が以前の結果を再読み込みできるよう、継続バッチ間で --results_dir を固定してください。
  • 例外:ユーザーが完全自律実行を明示的に依頼した場合は、実行の間に再確認せず、バッチを続けてもかまいません。

コメント