0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bedrock AgentCoreでリソースデプロイ用エージェントをざっくり作る

0
Last updated at Posted at 2026-06-27

はじめに

最近AWSリソースのデプロイはもっぱらKiroでCDK作ってやってたけど、
再現性とか気にせずちょっとした環境作りたい!であればBedrock AgentCoreでエージェントにやってもらうのもいいかもと思ったので試し。

今回はマネージドのagent harness(※)を使ってさくっと作る。

※agent harnessは、LLMがエージェントとして動作するためのコンピューティング環境や認証を裏でよしなに(=マネージドで)やってくれる機能で、チャットベースでエージェントを定義、実行することができる。

エージェントのイメージ

とりあえずサービスを試しに触る(Dev) → IAMポリシー等過不足なく制約をかけた上で動くようにする(Prod)、の二段階の対応ができるようにする。
プロンプト冒頭の[Dev]/[Prod]で挙動を切り替える。

プロンプトに[Dev] をつけて呼び出したとき

  • フランク・親しみやすい
  • スピード・利便性・前向きな提案重視

プロンプトに[Prod] をつけて呼び出したとき

  • 厳格・簡潔・フォーマル
  • セキュリティ・冗長性・ガバナンス重視

エージェントを作る

Bedrock AgentsCoreのハーネスを開く。
チャット画面が開くので、プロンプトで動きを定義する。
チャットベース(ユーザプロンプト)または設定ペインのシステムプロンプトで定義できるけど、チャットが続くと忘れるのでシステムプロンプトのほうがよい。

エージェントの挙動を定義するプロンプト (長いので折り畳み)
あなたはインフラ構築およびデプロイ支援を行う、文脈と環境の空気が読める有能なAIエージェントです。
ユーザーからの入力に含まれる文脈や、指示の先頭にある「[Dev]」または「[Prod]」という環境識別子を厳格に認識し、以下のように応答のトーンと挙動を動的に切り替えてください。

■ [Dev] 開発環境モードの場合
・トーン:親しみやすく、フランク(適度な絵文字の使用も許可)。 
・挙動:スピードと利便性重視。多少の構成の不整合やコストがかかる提案でも、開発・検証を止めないための前向きなアドバイスや、追加の便利なTips(「こんなオプションもありますよ」など)を積極的に提案してください。 

■ [Prod] 本番環境モードの場合
・トーン:極めて厳格、簡潔、フォーマル(絵文字は一切禁止)。
・挙動:防御・セキュリティ・ガバナンス重視。破壊的変更や不要なリソース作成のリスクに対して強烈にアラートを出してください。セキュリティグループの最小特権、冗長化、承認フローのリマインドを徹底し、無駄な提案や私語は一切省いてください。

準備完了(キャプチャはユーザプロンプトで指示してしまったので、後でシステムプロンプトでも定義)
image.png

エージェントを動かしてみる

エージェントの挙動を定義したチャットに続けて以下を指示。

[Dev] EC2インスタンスをサクッと立ててテスト環境作りたい

プロンプトで「親しみやすく、フランク」って指定したからなんだけど、思ったよりフランク!権限なしで実行できない状況だよ!って言われちゃったのでIAMポリシーを手動で追加。
image.png

権限をつけて再度実施。権限をつけたって言ったら喜んでくれた。
Agent_EC2デプロイ.png

Prodモードにで作ったEC2の設定をしたい、と言うと…

[Prod] 新しく作ったEC2の初期セキュリティ設定をしたい。

Prod用のフォーマルなトーンになった。
Agent_EC2設定.png

いくつかエージェントとやり取りは発生したけど、セキュリティ関連の設定が少し厳しめになった。
Agent_EC2設定2.png

Dev環境といえどもパブリックIPは振らないようにする、とか挙動をもっと細かくチューニングしたいのでスキルも定義する。

スキルを定義する

S3に制約事項を書いたスキル定義(markdownファイル)を配置。
[Dev]でもパブリックIP振らないでね、という内容を記載。

S3のスキル定義を読ませるときの注意点

スキル定義のファイル名はSKILL.mdとし、AgentCore側の設定ではSKILL.mdを格納したディレクトリを指定する。(AgentCore側では以下のキャプチャのようにS3のURIを入力するが、ファイル名まで指定したらエラーになった)
S3_Skillsパス.png

スキルを有効にして再度エージェントを動かしてみる

[Dev] EC2インスタンスをサクッと立ててテスト環境作りたい

パブリックIPがNoneになった
Agent_EC2デプロイ2.png

おわりに

とりあえずエージェント作って動かす!はコンソール開いてプロンプト考えて打ち込む10分15分あればできそうな感じなのと、スキルの内容を変えるときはSKILL.mdを編集しさえすればいいので、とりあえず作って動き見ながらどんどんチューニングしていくのが良さそう。

今回作ったエージェントだと特にProdの冗長性・ガバナンスの考慮をもっと色々やってほしいので、SKILL.mdの作りこみとか、今回は扱わなかったけどToolsを取り入れたりしたい。

参考

harnessについて

AWS Developer Guide

以下ハーネスとはいったいなんぞや、が分かりやすかった(特に"Agent = Model + Harness"という表現)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?