【ITニュース解説】How I Combined Strands Agents, Bedrock AgentCore Runtime, and AgentCore Browser to Automate AWS Docs
2025年09月15日に「Dev.to」が公開したITニュース「How I Combined Strands Agents, Bedrock AgentCore Runtime, and AgentCore Browser to Automate AWS Docs」について初心者にもわかりやすく解説しています。
ITニュース概要
Strands AgentsとAmazon Bedrock AgentCore Runtime、AgentCore Browserを組み合わせ、AWS公式ドキュメントを自動で読み込み、質問に回答するAIエージェントを構築した。S3ライフサイクルポリシー作成など、特定のテーマに関する詳細な情報を効率的に収集・提示できるシステムだ。
ITニュース解説
日々の業務や個人的な事情でなかなか新しい技術に触れる時間が取れない状況は少なくない。しかし、そんな中でも新たなAI技術であるAmazon Bedrock AgentCoreに注目し、AWS(アマゾン ウェブ サービス)の公式ドキュメントをAIが自動で読み解き、質問に答えるシステムを構築した事例が紹介されている。この取り組みは、AIエージェントと呼ばれる技術を使って、複雑な情報を効率的に収集・整理する可能性を示している。
Amazon Bedrock AgentCore(以下、AgentCore)は、本格的なAIエージェントの運用を支援するためにAmazonが提供する一連のサービスだ。特に、その中核となる実行プラットフォームであるAgentCore Runtimeは、導入のしやすさから多くの注目を集めている。AIエージェントとは、人間の指示を受けて自律的に考え、行動し、特定の目標を達成しようとするプログラムのことだ。例えば、インターネットで情報を検索したり、他のシステムと連携したりするなど、様々なタスクを実行できる。AgentCore Runtimeは、このようなAIエージェントを開発者が手軽にデプロイ(配置・公開)し、安定して動かし続けるための土台を提供する。
今回の記事で筆者が構築したのは、特定の質問、例えば「S3バケットのライフサイクルポリシーをどのように作成すればよいですか?」といった問いに対し、AIエージェントがAWSの公式S3ドキュメントを自動的に巡回し、必要な情報を抽出し、整理して回答を生成するシステムだ。これは、大量のドキュメントの中から特定の情報を見つけ出す手間を省き、より効率的に知りたい情報にアクセスできるようにすることを目指している。
このシステムを実現するために、いくつかの主要な技術が組み合わされている。まず、AIエージェントの作成には「Strands Agents」というフレームワークが使われた。これは、AIエージェントのロジックを効率的に記述するためのツールだ。そして、エージェントを実際に動かす基盤として「Amazon Bedrock AgentCore Runtime」が利用されている。さらに、エージェントがインターネット上のウェブページを閲覧できるようにするために、「AgentCore Browser」という、AIエージェント専用の管理されたウェブブラウザが活用されている。AIの頭脳となる大規模言語モデル(LLM)には、Anthropic社が開発した「Claude Sonnet 4」が採用されている。これらの技術が連携することで、AIエージェントは賢く考え、ウェブページを操作し、必要な情報を収集できるのだ。
エージェントの作成は「Strands Agents」を使って行われた。具体的には、Claude Sonnet 4モデルに、ウェブブラウザを操作するための「browse_url_tool」というツールを組み合わせて、「aws_docs_agent」という名前のエージェントが作られている。このエージェントは、質問を受け取ると、Claude Sonnet 4の知能を使ってどう行動するかを計画し、必要に応じて「browse_url_tool」を使ってウェブページを閲覧する。 作成されたエージェントをAgentCore Runtimeに接続する作業は非常にシンプルだ。Pythonのコードに「@app.entrypoint」という特別な目印(デコレーター)をつけるだけで、外部からのリクエストを受け付ける窓口(エンドポイント)としてエージェントを公開できる。これにより、ウェブサービスのようにエージェントに質問を送り、その結果を受け取ることが可能になる。
このシステムの肝となるのが、AgentCore Browserを使ったブラウザの自動操作だ。AgentCore Browserは、AIエージェントのために用意された特別なブラウザで、ウェブページを人間のように閲覧・操作できる。エージェントは、このBrowserを起動し、Chrome DevTools Protocol(CDP)という、ブラウザをプログラムから操作するための通信規約を通じて、プログラム的にBrowserを制御する。具体的には、Browserセッションを開始し、CDPの接続情報と認証ヘッダーを取得して、「Browser Use」というライブラリに渡す。Browser Useは、指定されたタスク(例えば「このウェブページを開いて、この情報を探せ」といった指示)をAIの判断に基づき、Browserを使って実行する。この際、WebSocketsというリアルタイム通信技術を利用して、エージェントとBrowserの間で情報のやり取りが効率的に行われる。注意点として、特定のバージョンの「browser-use」ライブラリを使用しないと、接続エラーが発生する可能性があるため、バージョン指定が重要である。
開発したエージェントを実際に動かすためには、AgentCore Runtime環境にデプロイする必要がある。このプロセスは、まず「agentcore configure」コマンドを使って、エージェントが動作するために必要な基盤(例えば、AWSのIAMロールという権限設定や、Dockerイメージを保存するAmazon Elastic Container Registryのリポジトリなど)を自動でセットアップする。その後、「agentcore launch」コマンドを実行するだけで、エージェントがAWS上で稼働を開始する。ただし、AgentCore Browserを利用する場合には、自動で作成されたIAMロールに、Browserを操作するための追加の権限ポリシーを手動で設定する必要がある。これは、セキュリティ上の理由から、AIエージェントがどのようなサービスにアクセスできるかを細かく制御するためだ。デプロイが完了すれば、コマンドラインから質問を送り、エージェントの応答を受け取ることができるようになる。
デプロイ後、「S3バケットのライフサイクルポリシーの作成方法を教えてください」という質問をエージェントに送ってテストしたところ、約10分という時間はかかったものの、AWS CLI、AWSコンソール、SDK、さらにはXML/JSONの例まで含んだ、非常に詳細な回答が生成された。これは、AIエージェントが単に情報を検索するだけでなく、複数の情報源からデータを抽出し、整理・統合して、利用者が求める形式で提供できる能力を示している。 また、AgentCore Browserのコンソールでは、エージェントが実際にウェブページをどのように閲覧し、操作しているかをリアルタイムで確認できる「Live View」機能も提供されている。これにより、エージェントの動作を視覚的に追跡し、デバッグや改善に役立てることができる。 今回の事例は、AIエージェントが大量のオンラインドキュメントから必要な情報を効率的に見つけ出し、人間の質問に対して質の高い回答を生成するという、実用的な応用例を示している。これは、情報収集の効率化だけでなく、より複雑なタスクの自動化にも繋がる可能性を秘めていると言えるだろう。