Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ambient Agent on AWS!
Search
Har1101
May 19, 2025
870
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ambient Agent on AWS!
JAWS-UG東京 ランチタイムLT会 #23の登壇資料です
Har1101
May 19, 2025
Transcript
16 slides
Ambient Agent on AWS! 2025/05/20 (火) JAWS-UG東京 ランチタイムLT会 #23 福地開
Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:NECソリューションイノベータ株式会社
年次:3年目 業務:インフラエンジニア(AWS) 活動:ITなんでも勉強会「つながりテック」 運営 表彰:AWS Community Builders(AI Engineering)
Ambient Agentとは?
Ambient Agentとは? ◆よくあるAIエージェント(チャットボットなど) • 人間からのメッセージをトリガーに、エージェントが動作する • 一度に1つの会話しかできない
Ambient Agentとは? ◆よくあるAIエージェント(チャットボットなど) • 人間からのメッセージをトリガーに、エージェントが動作する • 一度に1つの会話しかできない ◆Ambient Agent •
イベント駆動・スケジュール駆動で自動的にエージェントが動作 →周囲の環境(Ambient)により一層溶け込むAIエージェント • 一度に複数のタスクを依頼することが可能
Ambient Agentのユースケースを考える ◆生徒の評価を作成してくれる、教師向けAmbient Agent • 小学校教師(特に担任)は自クラスの生徒全員分の評価を行う • その際、一人あたり数百文字の評価文章も作成する必要がある • さらに学期末ごとに評価を実施する必要がある
→30人×400文字×3学期=36,000文字!?
Ambient Agentのユースケースを考える ◆生徒の評価を作成してくれる、教師向けAmbient Agent • 小学校教師(特に担任)は自クラスの生徒全員分の評価を行う • その際、一人あたり数百文字の評価文章も作成する必要がある • さらに学期末ごとに評価を実施する必要がある
→30人×400文字×3学期=36,000文字!? ◆その評価のたたき台を作成するエージェントがあれば良さそう! • 毎回教師が「この生徒の評価を作成して」と実行するのは大変 • イベント駆動で、自動的にエージェントが評価を作成しておく • 生成された評価文章を元に、教師が手直し(Human in the loopの一種?) • 教師に限らず、色んな管理者向けにも転用できる(かも?)
AWS上で簡単なAmbient Agentを構築してみる ◆アーキテクチャ • EventBridgeをトリガーに、Lambdaを呼び出す • Lambda内部でBedrock Agentを呼び出す • Bedrock
AgentがDynamoDBから該当生徒の情報を取得し、評価文を作成 • LambdaがDynamoDBに評価文を格納 • 教師は生成された評価を参照して、手直し
実装詳細 ◆EventBridge • 出席番号、評価対象期間をJSON形式で入力 • この出席番号を起点に、Lambda側で出席番号をループ処理するような形 • 現状は番号と期間をベタ書きしている。本当はここも良しなにやってほしい
実装詳細 ◆Lambda(エージェントを呼び出す) • 渡された出席番号を起点に、ループ処理を実装 • 10000→10001→10002…という流れで順々に評価を作成 • 連続してBedrock Agentを呼び出しすぎるとToo Many
Requestsエラーが 起こりやすいので注意(後述)
実装詳細 ◆Bedrock Agent • DynamoDBにアクセスするアクショングループを実装し、データ取得 • 指導要領を元に評価基準を作成 • 作成した評価は、エージェント呼び出しLambdaへ返す →エージェントによる評価データ格納はしない
実装詳細 ◆Lambda(データを格納する) • 渡された出席番号を起点に、ループ処理を実装 • 10000→10001→10002…という流れで順々に評価を作成 • 連続してBedrock Agentを呼び出しすぎるとToo Many
Requestsエラーが 起こりやすいので注意 • DynamoDBへデータを格納し、ユーザーへ通知する →AIエージェントの役割をできるだけ絞っておきたい
考慮ポイント1:エラーハンドリング ◆エージェントはバックエンドで自動的に動く ◆そのため、エラーに気づきにくい ◆エラーが起こった時にどうするか?を設計に入れておくことが重要 • SNSなどで通知する • 自動で再実行してくれるように仕込んでおく • (例)EventBridgeの再試行ポリシーやDLQを利用する
or Lambda側で処理
考慮ポイント2:1処理のエージェント呼び出し回数 ◆このエージェントは一回の実行で約30秒かかる ◆Lambdaの実行可能時間は最大15分 ◆長くなればなるほど、Bedrock側のエラーの確率が上がる ◆細かく分けすぎるとEventBridgeを膨大に作成する必要がある • 入力(出席番号、期間)をペイロードにベタ書きしているのが良くない? • 他に良い方法を模索中…
考慮ポイント3:データ格納方法 ◆正確な評価のためには、できるだけ詳細なデータが必要 ◆そのデータは誰がどうやって入力する? • 生徒がやると、粒度がまちまちになるかも • 教師がやると、データの入力が負担になる ◆解決案としては… • 選択式・定型文での入力
• 自然言語の入力をAIが構造化 • 音声でデータ入力 ◆データの入力もAIエージェントが行ってくれるのが理想
◆AWS上で簡易的なAmbient Agentを構築可能です! ◆Lambda+Bedrock Agentだけでなく、 Step Functions+Bedrockでも同じようなことができる (しかも実行時間の制限がないはず!) ◆裏側で勝手に動いてくれる優秀なAmbient Agentを作りましょう! 良いものができたらぜひ教えて下さい!
まとめ
More Decks by Har1101
See All by Har1101
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
310
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
7
1.2k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
830
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
790
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
610
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
260
エージェンティックRAGにAWSで入門しよう!
har1101
9
2.4k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
7
2.1k
AgentCore Registry入門~マルチアカウントでどう使うの~
har1101
1
160
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
460
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Faster Mobile Websites
deanohume
310
32k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
530
4 Signs Your Business is Dying
shpigford
187
23k
Technical Leadership for Architectural Decision Making
baasie
4
640
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
350
Chasing Engaging Ingredients in Design
codingconduct
0
400
A designer walks into a library…
pauljervisheath
211
25k
The Cost Of JavaScript in 2023
addyosmani
56
10k