Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第159回 雲勉 Amazon Bedrock でブラウザを操作する AI エージェントを作ってみた
Search
iret.kumoben
April 03, 2025
Technology
0
200
第159回 雲勉 Amazon Bedrock でブラウザを操作する AI エージェントを作ってみた
下記、勉強会での資料です。
https://youtu.be/c3vdlpFceVA
iret.kumoben
April 03, 2025
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
46
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
41
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
70
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
110
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
83
第170回 雲勉 Lyria が切り拓く音楽制作の未来
iret
1
46
第169回 雲勉 AWS WAF 構築 RTA
iret
0
55
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
71
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
69
Other Decks in Technology
See All in Technology
Excelデータ分析で学ぶディメンショナルモデリング ~アジャイルデータモデリングへ向けて~ by @Kazaneya_PR / 20251126
kazaneya
PRO
3
810
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
180
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
9
2.6k
How native lazy objects will change Doctrine and Symfony forever
beberlei
1
340
ページの可視領域を算出する方法について整理する
yamatai1212
0
150
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
4
890
GitHub を組織的に使いこなすために ソニーが実践した全社展開のプラクティス
sony
21
11k
進化の早すぎる生成 AI と向き合う
satohjohn
0
480
[続・営業向け 誰でも話せるOCI セールストーク] AWSよりOCIの優位性が分からない編(2025年11月21日開催)
oracle4engineer
PRO
1
210
AI 時代のデータ戦略
na0
8
3.1k
セキュリティAIエージェントの現在と未来 / PSS #2 Takumi Session
flatt_security
3
1.1k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Visualization
eitanlees
150
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
4 Signs Your Business is Dying
shpigford
186
22k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
700
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Optimizing for Happiness
mojombo
379
70k
Transcript
第159回 雲勉 Amazon Bedrockで ブラウザを操作する AIエージェントを作ってみた
お話すること 2 • AIによるブラウザ操作とは何か • 利用技術の紹介 • Amazon Bedrockの機能紹介 •
実現方法概略:ブラウザを操作するAIエージェントについて • 実装時の注意点とAIエージェントにおける認証・認可 • まとめ
講師自己紹介 3 ▪ 山田 顕人 アイレット株式会社 MSP開発セクション ▪ 受賞歴 •
LAPRAS OUTPUT AWARD • Google Cloud Partner Tech Blog Challenge 2023 Cloud AI/ML部門 • Google Cloud Partner Top Engineer 2025 Data Analytics
AIによるブラウザ操作とは 4
AIがブラウザを操作するってどう考えたらいいのか 5 受けた指示を元にツールやファンクションの実行を代行する。 指示(プロンプト) アクション ツール実行
つまりどういうこと(1つの考えを述べると) 6 プロンプトの内容を元にTool Useを使ってブラウザの操作を実行する。 指示(プロンプト) アクション Tool Use
ここで今回利用する技術の紹介! 7 • Amazon Bedrock Converse API • Amazon Bedrock
Tool Use • WebDriver
Amazon Bedrock Converse APIとは 8 簡単に説明すると:AIと自然な会話をするためのAPI 対話型のチャットを実現する上ではとても便利なAPI 今日は何曜日か 教えてください。 月曜日です。
Amazon Bedrock Tool Useとは 9 簡単に説明すると:AIによるアプリケーション/メソッド/APIの実行 どういう時に利用するか:最新情報に対する回答や複雑な計算、特定の処理を委託する時 今日は何曜日か 教えてください。 現在時刻によると
火曜日です。 point: 時刻を取得するツールを実行 現在時刻を元に回答 なお、前提知識がない場合 AIは学習データを元に回答するため もっともらしい回答をします。(次のスライドで説明)
補足:もっともらしい回答だけども、事実とは異なる回答(ハルシネーション) 10 簡単に説明すると:事実とは異なる回答をしてしまうこと ※他のサービスにおいては捏造(ねつぞう)と表現する場合もあります。 今日は何曜日か 教えてください。 月曜日です。 point: AIは学習データを元に回答しているため 正しい場合もあります。
現在時刻はAIの知識にはない場合が多いため 不正確な回答になります。 ※実際には火曜日
WebDriverとは 11 簡単に説明すると:ブラウザを操作できるリモコンの総称。あるいはOSSの名称 主にどんな用途で利用されるか:E2Eテスト(Seleniumなど) ブラウザによってWebDriverは提供されており、利用するブラウザによって名前が異なる。 httpリクエストをWebDriverに送ることでブラウザを操作できる。 Microsoft Edge WebDriver ChromeDriver
Google Chrome Microsoft Edge WebDriver
補足:WebDriverに関する解説 12 もっと詳しく知りたい人は以下のzenn記事を参照してください。 参考:https://zenn.dev/ymd65536/articles/webdriver_without_selenium_genai
実現方法概略 13
結論から先に 14 プロンプト Tool Use Converse API WebDriver Amazon Bedrock
Google Chrome 操作
Amazon Bedrockがブラウザを操作する?! 15 Converse APIとTool Useを使ってWebDriverにリクエストを送る。 参考:https://qiita.com/ymd65536/items/5f747a9a7c9e0deda84d
Amazon Bedrockによる実装、簡単3Step 16 AWS SDK for Python(Boto3)で簡単に実装できる 1. 関数定義(WebDriverを利用するための定義) 2.
関数のtoolSpecを作成 3. Converse APIを実行 ※model_id、プロンプト、ToolConfiguration、InferenceConfigが必要
関数定義 17 WebDriverにhttpリクエストを送信
関数のtoolSpecを作成 18
Converse APIを実行 19
AIによるブラウザ操作を実装する際の注意点 20 • 本番環境においてはサンドボックス環境で実行すること • 検証環境や開発環境で実行する場合はリスクを承知の上で実行すること • Webスクレイピングを実行する場合はアクセス先の利用規約を確認すること • アクセス先に高負荷を与えないこと
上記に加えて以下の観点も重要(後述) • AIには適切な認証・認可を与えること
補足:サンドボックス環境とは 21 簡単に説明すると:仮想環境 主にどんな用途で利用されるか:実行することに危険が伴うプログラム (例えば、マルウェアの検証) 本番環境においてはAmazon ECSやAWS Lambdaなどのサービスが有効 開発環境においてはVisual Studio
Codeで利用できるDev Containersが有効
デモ 22 bedrock_night.mov
AIエージェントの理想系 23 抽象的なプロンプトを元にToolを使ってブラウザの操作を実行する。 指示(プロンプト) アクション Tool Use “申し込みフォームにメールアドレスと名前を入力して登録をクリックしてください 。登録した内容をカレンダーにリマインダーとして登録してください。” 上記は簡単な例だが、アクセス先には必ず認証があるため実際にはもっと複雑
従来のデジタルアイデンティティではなく、AIエージェントにおけるデジタルアイデンティティも 必要 Converse API
AIエージェントにおけるデジタルアイデンティティの重要性 24 伝えたいこと:自分ではない他の誰かが自分の利用しているものを操作できてしまう危険性 Bさんの指示 カレンダー 登録API Tool Use Aさんのカレンダー Aさんの認証情報
前提:BさんはAさんのカレンダーを操作する権限がない状態 AIはAさんのカレンダーを操作する権限(認証・認可)を持っているため BさんはAIを通すことでAさんのカレンダーを操作できてしまう。 認証・認可 Converse API
余談:AIエージェントの認証・認可のフレームワーク 25 引用:https://www.arxiv.org/abs/2501.09674 AIエージェントに関する認証・認可フレームワークの提案
まとめ 26 • AIによるブラウザ操作について考え方をおさらい • AWSのサービスではConverse APIとTool Useを利用 • ブラウザ操作にはWebDriverというOSSを利用
• 実装方法の注意点を確認しつつ、実現方法概略を確認 • AIによるアプリケーション/メソッド/APIの実行における認証・認可