shinka-run について
ShinkaEvolve CLIでプログラム変異バッチを実行するためのスキルです。モデルと実行設定を検証し、通常は各バッチの設定についてユーザー確認を求めます。
主な機能
- 01タスクファイルとCLIオプションの確認
- 02モデルの利用可否と設定の検証
- 03実行設定の確認要求
- 04明示的な引数で進化バッチを起動
- 05出力確認とバッチ間の引き継ぎ
活用シーン
- 01設定済みのShinkaEvolveプログラム進化の実行
- 02実行前のモデル設定確認
- 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
ワークフロー
- タスクディレクトリを確認する
ls -la <task_dir>
evaluate.py と initial.<ext> が存在することを確認します。
- CLI リファレンスを手早く確認する
shinka_run --help
- 実行を提案する前に、モデルが利用可能か確認する
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にない場合は、そこで中止し、設定を変更するか、不足している認証情報を先に設定するようユーザーに依頼してください。
- 最初のバッチの設定をユーザーに確認する
- 最低限、予算の適用範囲、生成数、重要なオーバーライドを確認します。
shinka_modelsとの照合後、変異用 LLM、メタ推奨用 LLM、プロンプト進化用 LLM、埋め込みモデルを明示的に確認します。- 不明点があれば、実行前に質問してください。
- 確認されていない引数は上書きしないでください。
- 明示的な設定を指定してメインの実行を開始する
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
- 引き継ぎ前に出力を検証する
ls -la <results_dir>
実行ログ、世代ごとのフォルダー、SQLite データベースなどの成果物が生成されることを想定してください。
- バッチ間の引き継ぎ(自律実行が明示的に指定されている場合を除く)
- 完了したバッチの結果を要約します。
- 次のバッチを実行する前に、次のバッチの設定をユーザーに確認します。
- 次の内容を明示的に質問します。「次のバッチでは、どのような新しい方向性を推し進めましょうか?アルゴリズムのアイデア、制約、避けるべき失敗パターンを含めてください。」
- ユーザーからのフィードバックを改訂版のシステムプロンプトに反映し、次回の
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を固定してください。 - 例外:ユーザーが完全自律実行を明示的に依頼した場合は、実行の間に再確認せず、バッチを続けてもかまいません。
コメント
Markdown 対応