概要
yali は YAML LLM Interface として設計された OSS の CLI ツールです。プロンプト、モデル、入出力、複数ステップの依存関係を YAML で定義し、そのままターミナルから実行できます。dry-run によるプロンプト確認、テンプレート変数注入、stdin やファイル入力、stdout やファイル出力に対応しており、npm パッケージ `@shira022/yali` として配布されています。さらに、タイムアウト、リトライ上限、ローカル同時実行数制限などを備え、意図しない API 過剰利用を防げる構成です。
課題
うまくいったAIへの指示が、その人の記憶の中に留まったまま。別の人が同じ結果を再現できず、手順は口伝いになっている。
つくり方
担当したこと
- プロンプト、モデル、入出力設定を単一の YAML に集約できるコマンド抽象を設計
- 依存関係チェーンと変数受け渡しを伴う複数ステップのプロンプトパイプラインを実装
- dry-run、柔軟な入出力、開発者向けの CLI 操作性を実装
- タイムアウト、リトライ、同時実行数制限により API コスト急増を防ぐガードレールを実装
設計のポイント
- プロンプトフローをコードへ埋め込まず、再利用可能な LLM コマンドとして YAML で定義できる
- API 実行前に dry-run で確認できるため、プロンプト調整時の安全性が高い
- ローカル CLI 利用時に有効なタイムアウト、リトライ、同時実行制御を備えている
成果・ポイント
定義方式
YAML-first
配布形態
npm package
パイプライン対応
Multi-step dependencies
技術スタック
TypeScriptNode.jsOpenAI APIYAMLnpmCLI