パイプラインモード
パイプラインモードは、作業をステップごとに進める対話モードです。通常のチャットだけでは長すぎたり、間違いが起きやすかったりするインフラ作業に向いています。要件を理解し、方針を計画し、成果物を生成し、ユーザーに確認してもらい、その後の操作へ進みます。
パイプライン自体は汎用機能です。現在組み込まれている実装は selling パイプラインです。selling は Alibaba Cloud インフラのシナリオを対象にしており、1 つのデプロイ要件から候補アーキテクチャ、ROS テンプレート、コスト見積もり、確認後のデプロイまで進められます。
パイプラインモードに適した依頼の例:
既存の VPC を選択し、VSwitch を作成する
低コストの Alibaba Cloud Web アプリケーション構成を設計し、テンプレートを生成する
パイプラインモードを開始する
現在、パイプラインモードには対話型 REPL が必要です。--prompt と組み合わせることはできません。
macOS または Linux の場合:
IAC_CODE_MODE=pipeline iac-code
PowerShell の場合:
$env:IAC_CODE_MODE = "pipeline"
iac-code
既定のパイプライン名は selling です。明示する場合:
IAC_CODE_MODE=pipeline IAC_CODE_PIPELINE_NAME=selling iac-code
Pipeline と selling の関係
| 名前 | 意味 |
|---|---|
| パイプラインモード | 長いフロー、確認ポイント、復旧、進捗表示を扱うための IaC Code の汎用的なステップ実行モード。 |
selling パイプライン | Alibaba Cloud インフラの設計、テンプレート生成、コスト見積もり、デプロイに使う現在の組み込みパイプライン。 |
将来さらにパイプラインが追加された場合は、IAC_CODE_PIPELINE_NAME で選択できます。現在のリリースに含まれるのは selling です。
環境変数
| 変数 | 用途 |
|---|---|
IAC_CODE_MODE=pipeline | パイプラインモードを有効にします。それ以外の値では通常モードに戻ります。 |
IAC_CODE_PIPELINE_NAME | 使用するパイプライン定義を選択します。既定値は selling です。 |
IAC_CODE_CWD | パイプラインが使用する作業ディレクトリを上書きします。 |
IAC_CODE_PIPELINE_SELLING_ENABLE_REVIEWING | selling パイプラインの任意のテンプレートレビュー手順を有効にします。 |
selling パイプラインで起きること
selling パイプラインは、インフラ要件をユーザーに分かりやすい段階に分けます。
| 段階 | ユーザーに表示されること |
|---|---|
| 要件を理解する | IaC Code は Alibaba Cloud インフラの依頼かどうかを確認します。重要な情報が不足している場合は、計画を生成する前に質問します。 |
| アーキテクチャを計画する | IaC Code は 1 つ以上の候補アーキテクチャを提示し、トレードオフを比較できるようにします。 |
| 生成して評価する | IaC Code は候補プランの ROS テンプレートを生成し、リソースコストを見積もります。 |
| プランを確認する | IaC Code は候補の詳細を表示し、続行するプランの選択を待ちます。 |
| デプロイする | プランが選択されると、IaC Code はデプロイ段階に入り、ツール実行やリスクの高い操作を権限ポリシーに従って処理します。 |
「既存の VPC を使う」「この種類のリソースは作成しない」などの制約を書いた場合、selling パイプラインは後続のプランやテンプレートでそれらをできる限り尊重します。内部フィールドを知る必要はありません。制約を依頼文に書くだけで十分です。
対話と復旧
パイプラインモードは、次のような場合に一時停止してユーザー入力を待つことがあります。
- 要件が不明確で、目標、規模、リージョン、予算などを補足する必要がある。
- 複数の候補プランがあり、どれを続行するか選ぶ必要がある。
- ツール実行やデプロイ操作に権限承認が必要である。
- 実行が中断され、復旧または続行が必要である。
プロセスが終了したりセッションが中断されたりした場合、IaC Code はパイプライン状態を保存します。後で --resume を使ってそのセッションに戻ると、以前の進捗を確認し、復旧可能な位置から続行できます。
パイプラインが完了、失敗、早期終了、またはキャンセルされた後、IaC Code は通常チャットに戻ります。その後、追加質問、プランの調整、デプロイ後の問題対応を続けられます。
自動化連携
パイプラインモードは現在、主に対話型 REPL 向けです。A2A サーバーモードでは、パイプラインの進捗、成果物、権限結果、復旧情報を外部に公開できるため、外部コンソールやタスクシステムにパイプラインを接続する場合に役立ちます。
ACP は現在パイプラインモードをサポートしていません。--prompt / 非対話モード は通常のワンショット依頼として実行され、パイプラインの手順は実行しません。
現在の制限
- 現在のリリースに含まれるパイプラインは
sellingのみで、主に Alibaba Cloud インフラワークフロー向けです。 - パイプラインモードには対話型 REPL が必要です。
IAC_CODE_MODE=pipelineの場合、--promptは拒否されます。 - パイプラインモードはテキスト入力に対応しています。パイプラインが有効な間、REPL に貼り付けられた画像は無視されます。
- パイプライン実行中、shell escape、スキルトリガー、大半の slash command は、パイプライン定義で明示的に許可されていない限り制限されます。
/help、/status、/resume、/exitなどの基本コマンドは引き続き利用できます。