メインコンテンツまでスキップ

ウォークスルー

このページでは、デモデータのワークフローを 1 本、最初から最後まで動かします。エージェントスキルから生成し、公開し、実行し、途中で上がってくる承認依頼を承認し、結果を確認するところまでを、一度もサインアウトせずに進めます。root でサインインし、なりすましでデモアカウントを順に演じるので、ブラウザのタブ 1 つで済みます。

まずプロバイダを選んでください。このページのプロバイダごとのブロックはすべて、ここでの選択に連動します。

Demo AWS EC2 Launch スキルから EC2 インスタンスを起動します。

事前準備​

  • デモデータを有効にしてバックエンドが起動している。
  • root のパスワードが分かっている。ROOT_PASSWORD か、未設定なら起動時にバックエンドが一度だけログに出した行です(初期投入されるユーザー)。
  • プロバイダに実際に届く:

シークレット demo-aws-credentials に本物のアクセスキーが入っていること。初回起動前に DEMO_AWS_ACCESS_KEY_ID / DEMO_AWS_SECRET_ACCESS_KEY を設定しておくか、あとから Secrets でシークレットを編集します。実行すると本物の EC2 インスタンスが起動し、終了させるまで課金されます。

アクセスキーの IAM ユーザーには、AMI の解決、ネットワークとキーペアの確認、インスタンスの起動を許すポリシーが必要です。次のポリシーで足ります。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ResolveAmi",
"Effect": "Allow",
"Action": "ssm:GetParameter",
"Resource": "arn:aws:ssm:*::parameter/aws/service/*"
},
{
"Sid": "LookupAndLaunch",
"Effect": "Allow",
"Action": [
"ec2:DescribeImages",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups",
"ec2:DescribeKeyPairs",
"ec2:DescribeInstances",
"ec2:RunInstances",
"ec2:CreateTags"
],
"Resource": "*"
}
]
}

1 つ目のステートメントが読めるのは、AWS が最新の AMI ID を公開しているパブリックパラメータだけで、自分のアカウントのパラメータは読めません。このポリシーではインスタンスを終了できないので、終了は AWS コンソールから自分で行ってください。

使えるアカウントがない場合は、同梱のツールモックを使えば、プロバイダに届かないまま同じワークフローを最後まで動かせます。その場合はワークフローを draft のまま実行するので、下の公開ステップは飛ばします。

登場人物​

ステップAWSGoogle CloudAzureロール
ワークフローを生成するdemo-aws-developerdemo-gcp-developerdemo-azure-developerdeveloper
公開するdemo-aws-reviewerdemo-gcp-reviewerdemo-azure-reviewerreviewer
実行し、結果を確認するdemo-aws-requesterdemo-gcp-requesterdemo-azure-requesterrequester
依頼を承認するdemo-approver-1demo-approver-1demo-approver-1approver

以下の各ステップは、Users 一覧の Impersonate で始まり、ヘッダーの「Acting as」チップの Stop で終わります。この停止は省けません。演じている間はそのアカウントのロールに縛られ、どのアカウントもなりすましはできないので、停止するまで Impersonate は出てきません。チャット画面からは、アプリバーの A2Flow ロゴでウェルカムページとサイドバーに戻れます。

1. root でサインインする​

  1. サインイン画面で Username に root を入れ、Tenant は空欄のまま(root はプラットフォーム管理者で、どのテナントにも属しません)、パスワードを入れて Sign in を押します。
  2. ウェルカムページに着きます。アプリバーのテナントセレクタが、デモデータの入っている Default になっていることを確認してください。ほかが選ばれていたら Default を選びます。

2. developer として、ワークフローを生成する​

  1. 管理サイドバーの Users を開き、developer の行で Impersonate を押します。Impersonate User ダイアログの Impersonate で確定します。ウェルカムページに戻り、ヘッダーのチップに「Acting as demo-…-developer」と出ます。
  2. Agent Skills を開きます。並ぶのはこのプロバイダのスキルだけです。ほかのスキルはアクセス制御タグで隠れています。Status が ready になるまで待ちます。Cloning のうちは一覧を更新してください。それまで Generate workflow は押せません。
AWS: 先に価格表を読み込む

Knowledge Bases を開き、AWS EC2 Pricing をクリックします。ソースは ec2-on-demand-pricing.pdf の 1 つで、Not read と表示されています。Read を押し、ステータスが Ready になるまで待ちます。LLM が価格表をページに書き起こしていて、できたページは Pages に並びます。1〜2 分かかります(ナレッジベース)。次の手順では Generate Workflow ダイアログで Select knowledge bases… も押して AWS EC2 Pricing を選んでください。実行のエージェントが価格を調べられるようになります。

  1. 行の Generate workflow を押します。Workflow Name はそのまま、Prompt に下のプロンプトを貼り、Generate を押します。
申請者から希望のパラメーターと起動日時をヒアリングして、Demo Approversグループの承認を得て、指定された日時にEC2インスタンスを起動する。
インスタンスタイプは以下のいずれかから選んでもらう:
- t4g.nano
- t4g.micro
- t4g.small
- t4g.medium
- t3.micro
- t3a.micro
- c6g.medium
- m6g.medium
- t2.micro
- t4g.large

リージョンは以下のいずれかから選んでもらう:
- us-east-1
- us-east-2
- us-west-2

AMIは申請されたリージョンのAmazon Linux 2023の最新のイメージを使う。
VPCとサブネットとセキュリティグループはデフォルトを使う。
キーペアは作成しない。
AMIとVPCとサブネットのIDは承認依頼前に解決しておく。
指定された日時になるまではインスタンスを起動しない。
インスタンスの費用についての質問にはAWS EC2 Pricingナレッジベースをもとに答え、承認依頼には申請されたインスタンスの月額をそのナレッジベースから引いて含める。
  1. 新しいワークフローの詳細ページに着きます。ステータスは generating です。ページは自分で更新され、1〜2 分で draft になり、ベルに「draft ready」の通知が出ます。Task Templates を開くと、デザインエージェントが書いたステップが見られます。パラメータを集め、承認を求め、作業し、報告する、という並びです(ワークフローを生成する)。
  2. 「Acting as」チップの Stop を押します。

3. reviewer として、公開する​

  1. Users で reviewer の行の Impersonate を押し、確定します。
  2. Workflows を開き、ワークフロー名をクリックします。タスクテンプレートを見ておきます。reviewer は Open design session で設計の会話を読むこともできますが、口は出せません。
  3. Publish を押します。ステータスが published になり、設計は凍結され、requester が実行できるようになります(公開する)。
  4. Stop します。

4. requester として、実行する​

  1. Users で requester の行の Impersonate を押し、確定します。
  2. Workflows を開き、ワークフローの Run を押します。Run Workflow ダイアログにモックは出ません。公開済みなので、これは本番の申請です。Run を押します。
  3. ワークフローセッションが開き、エージェントが最初のタスクに取りかかって、プロンプトが申請者に委ねた項目を聞いてきます。答えが決まっている質問はメッセージの中の選択肢として、それ以外は入力欄の上に返答の候補として出ます。

どのインスタンスタイプにするか迷ったら、「us-east-2 で t4g.medium は月いくら? t3.micro と比べて」のように聞いてみてください。エージェントは AWS EC2 Pricing ナレッジベースで価格を調べ、参照したページを示して答えます。

プロンプトの 10 種からインスタンスタイプを、3 つからリージョンを選び、起動日時には数分後の時刻を伝え(ツアーが止まらないように)、インスタンスの名前など、ほかに聞かれたことにも答えます。エージェントはそのリージョンの Amazon Linux 2023 の最新イメージと、デフォルトの VPC とサブネットを調べ、構成と起動日時を要約して承認に回します。

  1. 依頼の宛先は Demo Approvers グループで、その下のチャットには「Waiting for a decision from the approver group.」と出ます。申請者には決められません。実行はここで待ちに入ります。
  2. Stop します。

5. approver として、承認する​

  1. Users で demo-approver-1 の行の Impersonate を押し、確定します。demo-approver-2 でも構いません。グループ宛の依頼は最初の判断で決まります。
  2. ツールバーのベルに未読が 1 件、承認依頼が出ています。クリックすると実行のチャットが開きます。サイドバーの Approvals から行の Open Workflow Session をたどっても同じ場所に着きます。
  3. 依頼を読みます。エージェントの要約の下の This authorizes に、この判断が許可することになる呼び出しと、その入力の範囲が並びます(依頼が許可する呼び出し)。

AWS MCP Server の、インスタンスを起動する呼び出しです。この呼び出しと、要約にある起動日時と月額を、申請者が選んだ内容と突き合わせてください。イメージ、VPC、サブネットの検索は並びません。依頼の前に済んでいて、承認の要らない呼び出しだからです。

  1. 判断の前にもっと知りたいことがあれば、チャットに質問を入力して送ります。AWS タブなら、たとえば「平日の営業時間だけ動かしたら月額はいくら?」と聞いてみてください。セッションはあなたの判断を待っているので、Consultation タブが開き、エージェントが依頼までの文脈とリンクされたナレッジベースをもとにそこで答えます(相談セッション)。申請者もこの会話に加われます。終わったら Main タブをクリックして依頼に戻ります。
  2. 必要なら Comment を書いて、Approve を押します。相談セッションを開いていれば、判断でそれも閉じます。同じチャットで実行が再開し、エージェントが作業を終えると、申請者に結果の確認を求めます。この質問に答えるのは申請者です。承認者には入力欄が読み取り専用で出て、下に「Waiting for the initiator to respond.」と表示されます。

起動日時がまだ来ていなければ、エージェントは起動を待たせたまま、いつ再開するかを 1 行で伝えて一時停止します。その時刻になるとセッションは自動で再開し、エージェントがインスタンスを起動します。チャットを開いておく必要はありません(ワークフローセッション画面)。

  1. Stop します。

6. requester に戻って、結果を確認する​

  1. Users でもう一度 requester の行の Impersonate を押し、確定します。
  2. Workflow Executions を開き、実行の行の Open Workflow Session を押します。
  3. エージェントは作業の結果を報告して、こちらの返事を待っています。

伝えた起動日時を過ぎていれば、インスタンス ID と状態です。気になれば AWS コンソールでインスタンスを確かめてから、チャットで確認した旨を返します。

  1. エージェントが要約で締めくくり、最後のタスクが完了し、実行は completed になり、ベルに完了の通知が出ます。
  2. Stop します。

終わったら​

インスタンスは動いたままで、AWS コンソールで終了させるまで課金されます。

この一巡が残した記録のうち、見ておく価値のあるものが 2 つあります。

場所見えるもの
Audit Logs → Impersonationsいま開いたセッションの全部。誰が誰として、いつ操作したか。上の書き込みはどれもなりすまし先のアカウントに帰属するので、「本当は誰がやったのか」に答えるのはこの記録です(監査証跡)
実行の Tool Invocations ページ実行が行ったツール呼び出しと、提示したツール証明書。作業をした呼び出しを解放したのは、あなたが出した承認です(Tool Invocations)