メインコンテンツにスキップ

パイプラインモード

パイプラインモードは、作業をステップごとに進める対話モードです。通常のチャットだけでは長すぎたり、間違いが起きやすかったりするインフラ作業に向いています。要件を理解し、方針を計画し、成果物を生成し、ユーザーに確認してもらい、その後の操作へ進みます。

パイプライン自体は汎用機能です。現在組み込まれている実装は 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_REVIEWINGselling パイプラインの任意のテンプレートレビュー手順を有効にします。

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 などの基本コマンドは引き続き利用できます。