「誰かがまとめてくれればいいのに」を自動化|AIエージェントにブラウザを操作させてAWS最新情報をチームに届ける

スポンサーリンク
未分類
スポンサーリンク

はじめに

「誰かが新着情報をまとめてチームに共有してくれればいいのに!」
そう感じたことはないでしょうか?

チームで開発していると、情報収集の負担は特定の誰かに偏りがちです。
「自分は追えていても、チームメンバーには届いていない」
「毎週誰かがまとめ役をしているが、属人化していて続かない」
こうした課題は、多くの現場で起きています。

かといって、毎日ブラウザを開いて情報を集め、
必要なものを選んでSlackに投稿する作業を自動化しようとすると、
スクレイピングコードを書いたりAPIを契約したりと、手軽にできるものはありません。

 

そんな課題は「Amazon Bedrock AgentCore Browser」で解決できます!
※AWSアカウントが必要です。AWS アカウント作成の流れ

「このページの情報をまとめて」とプロンプトで指示するだけで、
AIが自律的にページを開き、情報を読み取り、要約してくれます。
あとはその結果をチームのSlackチャンネルに流すだけです。

この記事では、AWSの最新アップデート情報の収集・要約をAIに任せてSlackへ通知するという具体的なユースケースを例に、以下の内容を学ぶことができます。
もちろん対象のWebサイトやプロンプトを変えれば、あらゆる情報収集タスクに応用できます。

  • AIエージェントにWebブラウザを自律操作させる仕組みの概要
  • AWS CloudShellからPythonコードを実行してAIブラウジングを動かす方法
  • 収集した情報をSlackへ通知してチームへ届けるための実装

なお、本記事ではCloudShellを使った手動セットアップ手順をメインに解説します。
記事の最後に、同じ内容をワンクリックで自動構築できる
Cloud Launch Lab」のハンズオンシナリオもご紹介しますので、
ぜひあわせてご確認ください。

Amazon Bedrock AgentCore Browser とは?

Amazon Bedrock AgentCore Browserは、
AIエージェントに「Webブラウザを操作する能力」を与えるAWSのマネージドサービスです。
人間がChromeなどでWebサイトを閲覧するのと同じように、

  • AIエージェントがURLを開く
  • リンクをクリックする
  • ページのテキストを読み取る

といった操作を自律的に行えます。

従来、AIにWeb情報を取得させるには
「検索APIを契約する」「スクレイピングコードを書く」などの手間がありましたが、
AgentCore Browserではプロンプト指示だけでブラウジングが可能になります。

比較項目 従来の方法 AgentCore Browser
Web情報の取得 スクレイピングコードを実装 プロンプト指示のみ
動的ページへの対応 Playwright / Selenium が必要 組み込みブラウザで対応済み
インフラ管理 ブラウザサーバーを自前で管理 AWSマネージド(サーバーレス)
AIとの連携 取得→整形→LLMへ渡す実装が必要 エージェントに直接組み込める

AgentCore Browserには組み込みブラウザ(Built-in Browser Tool)がデフォルトで搭載されており、Playwrightなどの追加セットアップを最小限に抑えながらブラウジング機能をエージェントに付与できます。

ハンズオンの構成

今回のハンズオンは非常にシンプルです。
AWS CloudShell上でPythonスクリプトを実行するだけで、
AgentCore BrowserがAWSの最新ニュースページにアクセスし、
結果をターミナルに出力してくれます。

処理の流れは以下のとおりです。

① CloudShellでPythonスクリプトを実行
    ↓ AgentCore Browserのセッションを開始
② AIエージェントが https://aws.amazon.com/jp/new/ にアクセス
    ↓ ページ内容を自律的に読み取り
③ 直近のアップデート情報を収集・要約
    ↓ 処理完了
④ 結果がターミナルに出力される

別途サーバーやLambdaを用意する必要はなく、CloudShellだけで完結します。

事前準備

IAMポリシーの設定

今回のハンズオンでは、実行するIAMユーザー/ロールに以下の権限が必要です。CloudShellはAWSコンソールのログインユーザーの権限で動作します。

IAMコンソールでご自身のユーザーまたはロールを開き、「権限を追加」→「インラインポリシーを作成」からJSONビューに切り替えて、以下のポリシーをそのまま貼り付けてください。

⚠️ <Region> は実際に使用するリージョン(例:ap-northeast-1)、<account_id> はご自身のAWSアカウントIDに置き換えてください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "BedrockAgentCoreBrowserFullAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock-agentcore:CreateBrowser",
        "bedrock-agentcore:ListBrowsers",
        "bedrock-agentcore:GetBrowser",
        "bedrock-agentcore:DeleteBrowser",
        "bedrock-agentcore:StartBrowserSession",
        "bedrock-agentcore:ListBrowserSessions",
        "bedrock-agentcore:GetBrowserSession",
        "bedrock-agentcore:StopBrowserSession",
        "bedrock-agentcore:UpdateBrowserStream",
        "bedrock-agentcore:ConnectBrowserAutomationStream",
        "bedrock-agentcore:ConnectBrowserLiveViewStream"
      ],
      "Resource": "arn:aws:bedrock-agentcore:<Region>:<account_id>:browser/*"
    },
    {
      "Sid": "BedrockModelAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream"
      ],
      "Resource": "*"
    }
  ]
}

ハンズオン手順

Step 1:CloudShellを起動する

AWSマネジメントコンソールのサービス検索画面「CloudShell」と入力し、
CloudShellを起動します。※リージョンは 東京(ap-northeast-1)を指定してください。

CloudShellが起動してプロンプトが表示されるまで、しばらく待ちます。

Step 2:必要なライブラリをインストールする

CloudShellのターミナルで以下のコマンドを実行して、必要なPythonライブラリをインストールします。

pip install bedrock-agentcore strands-agents strands-agents-tools playwright nest-asyncio requests

インストールには1分ほどかかります。以下のように表示されれば完了です。

Successfully installed bedrock-agentcore-x.x.x strands-agents-x.x.x ...

⚠️ CloudShellのセッションは一定時間操作がないと切れます。セッションが切れた場合は、Step 2からやり直してください(pipでインストールしたライブラリはセッションをまたいで保持されません)。

Step 3:Pythonスクリプトを作成する

以下のコマンドでスクリプトファイルをダウンロードします。

curl -O https://cloud-launch-lab.tetete-home.com/custom-files/48b64f48-b9b7-4316-a1dd-484668a939e1/browse_aws_news.py

ダウンロードが完了したら、内容を確認してみましょう。

cat browse_aws_news.py

スクリプトの主要なポイントを解説します。

コード 説明
AgentCoreBrowser(region=...) AgentCore Browserのクライアントを初期化。リージョンを指定するだけでAWS提供の組み込みブラウザが使える
agent = Agent(
  model="jp.anthropic.claude-haiku-4-5-20251001-v1:0",
  tools=[browser_tool.browser]
)
Strands Agentsでエージェントを構築。
ブラウザツールをエージェントに渡す。
モデルはHaiku4.5を利用
agent(prompt) プロンプトをエージェントに渡して実行。同期呼び出しなのでシンプルに書ける

Step 4:スクリプトを実行する

以下のコマンドでスクリプトを実行します。

python browse_aws_news.py

実行が開始されると、まずプロンプトの内容が表示されたあと、エージェントの処理が始まります。AIエージェントが自律的にブラウジングしているため、完了まで2〜5分程度かかります

処理中は、エージェントが行っている操作(URLのアクセス・ページ読み取り・判断)がログとして流れることがあります。
「URLを開く→ページ内容を読み取る→必要な情報を抽出する→次のアクションを判断する」というループを繰り返しています。

Step 5:ライブビューでAIの動作を覗いてみよう(オプション)

スクリプトの実行中に、AIがどのようにブラウザを操作しているかをリアルタイムで確認できます。別のブラウザタブで以下の手順を行ってみましょう。

  1. AWSマネジメントコンソールで「Amazon Bedrock AgentCore」を開きます
  2. 左メニューの 「組み込みツール」 > 「ブラウザ」 をクリックします
  3. ブラウザツール「AgentCore Browser Tool」を選択します
  4. 「ブラウザセッション」 セクションに、ステータスが 「Ready」 のセッションが表示されます
    「ライブビュー / 録画」 列の「ライブセッションを見る」リンクをクリックすると、AIが操作しているブラウザ画面がリアルタイムでストリーミング表示されます
  5. 「AIが自律的にページ移動している」様子が見れます
  6. レポートが出力されたらブラウザセッションを「終了」しておきましょう。

Step 6:実行結果を確認する

処理が完了すると、ターミナルに以下のような形式で結果が出力されます。

Agent Response:

# レポート

## 注目のアップデート

- Amazon GuardDuty Malware Protection for AWS Backup が Amazon S3 の継続的バックアップに対応
  (https://aws.amazon.com/about-aws/whats-new/2026/05/amazon-guardduty-aws-backup-s3-continuous/)
- 発表日:2026年05月26日
- Amazon GuardDuty Malware Protectionが継続的バックアップに対応し、S3バックアップ全体のマルウェアスキャンが可能になりました。
  本番環境からリカバリーするための安全なポイント特定に有効です。
  フル・増分スキャンの選択や、復元可能なポイントまでのオンデマンドスキャンにも対応しています。
- 選出理由:セキュリティとバックアップ管理の両面で重要なアップデートです。継続的バックアップのセキュリティ監視が実現され、
  データの安全性確保とリカバリーの信頼性が同時に向上します。

## アップデート一覧

### Amazon RDS がマルチ AZ レプリケーション向けに ENA Express のサポートを開始
- 発表日:2026年05月26日
- Amazon RDSのマルチAZインスタンスがENA Expressに対応し、最大25Gbps単一フロー帯域幅を実現。
  AWS Scalable Reliable Datagram(SRD)プロトコルによる最適化で、AZ間のレプリケーション遅延が大幅に削減されました。

...(以下、アップデート一覧が続く)

プロンプトの内容を変更することで、さまざまな情報収集タスクに応用できます。例えば以下のような指示を試してみましょう。

直近5日間のAWSのお知らせのうち、Amazon EC2またはAWS Lambdaに関するものだけを
日本語で箇条書きにまとめてください。
各項目のURL(元記事へのリンク)も記載してください。

費用の目安

⚠️ 以下の料金は概算であり、実際の課金額とは異なる場合があります。詳細の料金はAmazon Bedrockの料金ページでご確認ください。

サービス 課金対象 概算(1回の実行あたり) 備考
Amazon Bedrock AgentCore Browser ブラウザセッション時間 $0.01〜$0.05 ⚠️ セッション終了を忘れると課金が継続します
Amazon Bedrock(Claude Haiku 4.5) 入出力トークン数 $0.01〜$0.05 ページ読み取り量によって変動
AWS CloudShell 無料 $0 追加料金なし。
永続ストレージはリージョンごとに1GB

今回のハンズオン1回あたりの合計費用は、概算で$0.02〜$0.10程度です。

応用:結果をSlackに通知する

AIが収集・要約した結果をそのままSlackへ投稿すれば、「誰かがまとめてチームに共有する」という作業をまるごと自動化できます。

Slackへの通知にはIncoming Webhookを使います。事前にSlackのワークスペースでWebhook URLを発行しておいてください。

以下のコマンドで、Slack通知付きのスクリプトをダウンロードします。

curl -O https://cloud-launch-lab.tetete-home.com/custom-files/48b64f48-b9b7-4316-a1dd-484668a939e1/browse_aws_news_slack.py

スクリプトの内容は以下のとおりです。先ほどのスクリプトに、Slack通知の処理を追加しただけのシンプルな構成です。

import requests
from strands import Agent
from strands_tools.browser import AgentCoreBrowser

SLACK_WEBHOOK_URL = "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"

browser_tool = AgentCoreBrowser(region="ap-northeast-1")
agent = Agent(
  model="jp.anthropic.claude-haiku-4-5-20251001-v1:0",
  tools=[browser_tool.browser]
)

prompt = """
直近5日間のAWSの最新情報をまとめてください。
以下のURLにアクセスして情報を収集してください。
- https://aws.amazon.com/jp/new/
"""

response = agent(prompt)
result_text = response.message["content"][0]["text"]

# Slackに通知
requests.post(SLACK_WEBHOOK_URL, json={"text": result_text})
print("Slackへの通知が完了しました。")

SLACK_WEBHOOK_URL をご自身のWebhook URLに書き換えてから実行してください。

python browse_aws_news_slack.py

実行が完了すると、Slackの指定チャンネルにAIがまとめたレポートが投稿されます。

あとはEventBridgeやLambdaで定期実行するようにすれば、
毎朝・毎週など任意のタイミングでチームへ自動配信する仕組みの完成です。
対象のURLとプロンプトを変えるだけで、どんな情報収集タスクにも応用できます。

まとめ

本記事では以下を実践しました。

  • AIエージェントにWebブラウザを自律操作させる仕組みの概要を理解した
  • IAMポリシーの設定からライブラリインストールまで、CloudShellだけで完結するセットアップを行った
  • AWS CloudShell上でPythonスクリプトを実行し、AIエージェントにWebブラウジングさせて情報を収集・要約させた
  • ライブビュー機能でAIが自律的にブラウザを操作している様子をリアルタイムで確認した
  • 収集した結果をSlackへ通知してチームへ届ける方法を実装した

今回体験した「プロンプトで指示する → AIがWebを操作して情報を集める」という仕組みは、
チームへの情報発信の自動化に直結します。
収集した結果をSlackやメールに流す処理を追加すれば、
「誰かがまとめてくれればいいのに」という課題をそのまま解決できます。

AIブラウザ自動化の応用範囲は情報収集だけにとどまりません。

  • Webフォームへの入力
  • 社内システムの操作
  • Webアプリケーションの画面テスト

など、人間がブラウザでやっている作業のほとんどがAIに任せられる可能性があります。
ぜひ今回の仕組みを起点に、チームの課題に当てはめて考えてみてください!

より実践的な構成を体験したい方へ:Cloud Launch Lab

本記事ではCloudShellで手軽にAgentCore Browserを試しましたが、実際の業務では

  • S3にファイルをアップロードするだけでAIが動き出す
  • 処理結果を自動でS3に保存する

といった、より実用的な構成が求められることがあります。

Cloud Launch Labでは、今回のAgentCore Browserを使ったハンズオンシナリオを提供しています。
CloudFormationのワンクリックデプロイで以下の本格的な構成を自動構築し、すぐに体験できます。

構成要素 内容
トリガー S3への指示書(Markdownファイル)アップロード
実行基盤 AWS Lambda(コンテナイメージ)
AIブラウジング Amazon Bedrock AgentCore Browser
結果保存 Amazon S3(結果バケット)
ログ確認 Amazon CloudWatch Logs
イメージビルド AWS CodeBuild → Amazon ECR

手順書に沿ってAWSコンソールを操作するだけで、
S3へのファイルアップロードをトリガーにLambdaが起動し、
AgentCore Browserが自律的にWebブラウジングして結果をS3に保存する
までの一連のフローを体験できます。

「CloudShellで試してみて、もっと実践的な構成も触ってみたい」という方は、
ぜひCloud Launch Labのシナリオにも挑戦してみてください。

👉 Cloud Launch Lab で Bedrock AgentCore Browser のハンズオンを始める

この記事を書いた人
ててて

元気なハムスターと暮らすエンジニア
AWSを中心にWebサービス開発を手掛けています。

てててをフォローする
未分類
スポンサーリンク
シェアする
てててをフォローする
タイトルとURLをコピーしました