04 — Skill を実行する¶
チュートリアル 03 で my_explainer を作成しました。このチュートリアルでは、ランタイム側をカバーします: 入力フォーマット、よく使うフラグ、イベントログの読み方。
3 つの入力方法¶
自然言語(自動ラップ)¶
ベアな文字列は {"type": "user_message", "data": {"text": "photosynthesis"}} になります。Skill のエントリー Phase は user_message(またはそれを含むユニオン)を受け入れる必要があります。
JSON(そのまま使用)¶
文字列は有効な artifact としてパースできる必要があります: type と data キーを持つトップレベルのオブジェクト。
stdin¶
位置引数と同じ自動ラップが適用されます。
よく使うフラグ¶
reyn run my_explainer "photosynthesis" \
--model strong \
--output-language en \
--max-phase-visits 10 \
--strict
--model strong— このランのみにより強力なモデルを選択します(reyn.yamlをオーバーライド)。--output-language en— プロジェクトのデフォルトに関わらず LLM に英語で返信するよう指示します。--max-phase-visits 10— 任意の単一 Phase への再訪問を制限します。0= 無制限。--strict— すべてのネスト深さで必須フィールドを強制します(デフォルト: トップレベルのみ)。
完全なリストは common-flags ページ にあります。
何が起きたかを確認する¶
すべてのランは以下で終わります:
リプレイするには:
LLM の会話を具体的に見るには:
特定のイベント種別でフィルタリングするには:
何かおかしいとき¶
- 不正な出力を生成した Phase の
phase_completedイベントを見つけます。 - モデルが返したものについて、一致する
llm_calledイベントを確認します。 validation_errorが見つかった場合、モデルの出力が次のターゲットのスキーマに合いませんでした。通常は Phase の指示の問題です。
debug-with-events ハウツーでこのフローを詳しく説明します。
学んだこと¶
- 入力は位置引数(JSON または自然言語)または stdin から来ます。
- よく使うフラグは 1 回のランのみ
reyn.yamlをオーバーライドします。 - すべてのランは再現可能な JSONL ログを残します。リプレイ時に LLM は再呼び出しされません。