Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【クラウド食堂 #4 ~AWSカテゴリ指定LT会~】AIエージェントアプリのためのElasti...
Search
kei1-dev
September 17, 2025
Technology
0
35
【クラウド食堂 #4 ~AWSカテゴリ指定LT会~】AIエージェントアプリのためのElastic Beanstalk
https://cloud-shokudo.connpass.com/event/359494/
kei1-dev
September 17, 2025
Tweet
Share
More Decks by kei1-dev
See All by kei1-dev
AWS CDKでアプリコードを管理する
kei1dev
0
47
AWSアーキテクチャ図からLLM使ってCDKを実装する
kei1dev
0
39
Other Decks in Technology
See All in Technology
学術的根拠から読み解くNotebookLMの音声活用法
shukob
0
370
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
870
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
600
LINEスキマニ/LINEバイトにおけるバックエンド開発
lycorptech_jp
PRO
0
370
PostgreSQL で列データ”ファイル”を利用する ~Arrow/Parquet を統合したデータベースの作成~
kaigai
0
160
The Complete Android UI Testing Landscape: From Journey to Traditional Approaches
alexzhukovich
1
110
OSだってコンテナしたい❗Image Modeが切り拓くLinux OS運用の新時代
tsukaman
0
130
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
16
12k
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
12
4k
pmconf 2025 大阪「生成AI時代に未来を切り開くためのプロダクト戦略:圧倒的生産性を実現するためのプロダクトサイクロン」 / The Product Cyclone for Outstanding Productivity
yamamuteki
3
2.4k
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
730
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
4k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
The Pragmatic Product Professional
lauravandoore
36
7k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Git: the NoSQL Database
bkeepers
PRO
432
66k
For a Future-Friendly Web
brad_frost
180
10k
Done Done
chrislema
186
16k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Optimizing for Happiness
mojombo
379
70k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Site-Speed That Sticks
csswizardry
13
970
Transcript
Copyright © 2025 BeeX Inc. All Rights Reserved. AIエージェントアプリのための Elastic
Beanstalk Keiichi Kurosawa 株式会社 BeeX クラウド食堂 #4
Copyright © 2025 BeeX Inc. All Rights Reserved. 2 黒澤圭一(Keiichi
Kurosawa) 株式会社 BeeX /Senior Technical Consultant エンタープライズソリューション本部 クラウドネイティブ開発部所属 直近の登壇履歴: - JAWS Days 2025 - AWS CDK with CodingAgent - AWS Summit 自社ブース - Bedrock Agent Who Are You?
Copyright © 2025 BeeX Inc. All Rights Reserved. 3 カスタムAIエージェントアプリのホスティングに
Elastic Beanstalkもいいなと思ってもらう 今日の目標
Copyright © 2025 BeeX Inc. All Rights Reserved. 4 •
AIエージェントとは? • Code Interpreter • 環境要件とElastic Beanstalk • まとめ Agenda
Copyright © 2025 BeeX Inc. All Rights Reserved. AIエージェントとは?
Copyright © 2025 BeeX Inc. All Rights Reserved. 6 •
定義 • AIエージェントは、デジタルおよび現実の環境で、状況を認識し、意思決定を下し、ア クションを起こし、目的を達成するためにAI技術を適用する、自律的または半自律的な ソフトウェアです。 • 特性(=下記のそれぞれのレベルを高められるとよいエージェントになる) • 適応性: 変化に応じて、振る舞いや戦略を調整できる能力 • 積極性: 目的達成のために自らアクションを起こせる能力 • 目的の複雑性: 相互に関連する複数の目的達成に求められるタスクを管理し、実行できる 能力 • 環境の複雑性: 不確実性、変動性、複雑性を伴う環境で、タスクの制御、実行できる能力 • 自律性: ほとんどまたはまったく人間の介入なしで、独立して稼働できる能力 参考: https://www.gartner.co.jp/ja/articles/ai-agents AIエージェントの定義とその特性
Copyright © 2025 BeeX Inc. All Rights Reserved. 7 •
「認識」:ユーザーからの質問や要求を解析し、意図を正確に把握する段階(=五感) • ユーザから提供された情報やRAG、Web検索などを用いる • 「判断」: 得た情報を整理し、推論を行う(=頭) • LLMが行うのはここ。実行手順の計画、結果の判断などを行う • 「実行」: 具体的なアクションを起こす(=手&道具) • ツールを呼び出し、外部に影響を与える AIエージェントの仕組み
Copyright © 2025 BeeX Inc. All Rights Reserved. 8 •
エージェントが扱える情報(=context)を適切に提供できるようにする • いわゆるコンテキストエンジニアリング • ユーザ依頼やRAG、メモリ、Web検索、ツール情報などから適切な情報を過不足なく与える • “タスクを達成するために必要なものをすべて LLM に提供するために、適切な情報とツールを適 切な形式で、適切なタイミングで提供する動的システムを設計および構築する分野”(リンク) • 多様なToolsを準備する • ファイルに書き込む、データベースにデータを書き込む、外部のAPIを呼び出す、コード を実行する、GUIを操作するなどAIエージェントが呼び出すことが可能なあらゆる機能 や関数を用意すればするほどできることが増える。 →適切なContextとToolsを組み合わせることでエージェントは複雑なタスクに対応 できる AIエージェントができることを増やすには? 今日はToolsにまつわる環境の話です
Copyright © 2025 BeeX Inc. All Rights Reserved. Code Interpreter
Copyright © 2025 BeeX Inc. All Rights Reserved. 10 エージェントが限られたタスクに対応する場合、タスク実行に必要なツールすべてを事
前に用意することができる →パターンが多い場合はどうする? • 例えば: 様々なパターンのグラフや表を作る • 円、棒、折れ線、ヒートマップ、ピラミッドグラフなど Code Interpreter • AIエージェントが生成したソースコードをサブプロセスで実行し、その結果が得られ るTool • つまり、AIエージェントが作成できるコードであれば(理論上)何でもできる! • よくあるユースケース: ファイル処理、データ分析など (実際は環境に入っているライブラリが制約になることが多く、できることのパターンは限られますし、 もちろんコードはLLMから出力されているので複雑なものだとエラーで動かないことも。。。) 多くのToolsを用意するには?
Copyright © 2025 BeeX Inc. All Rights Reserved. 11 •
今回はMicrosoft開発のAutoGen FWをベースに以降の話をします。(リンク) • Code Interpreterとのネイティブ統合 • Dockerを利用した完全分離されたPython実行環境の実現 • LLMが生成したコードを直接実行することはセキュリティリスクになるため、コ ンテナ等による分離はほぼ必須 • (主要なAIエージェントFWであるLangChain/LangGraphではE2Bを組み合わせて実現) Code Interpreterを組み込む
Copyright © 2025 BeeX Inc. All Rights Reserved. 環境要件と Elastic
Beanstalk
Copyright © 2025 BeeX Inc. All Rights Reserved. 13 •
技術スタック、環境要件 • フロントエンド: React + Vite + TS + Tailwind CSS • バックエンド: FastAPI + AutoGen + uvicorn • インフラ: Code Interpreter用Dockerが動かせる、DBはなくてもOK • 主要な選択肢 • EC2ベース(Elastic Beanstalk) • コンテナベース(ECS, EKS) • サーバレス(Lambda, S3+Cloudfront) 想定技術スタックと環境要件、その選択肢
Copyright © 2025 BeeX Inc. All Rights Reserved. 14 •
定番構成の構築・アプリデプロイの自動化サービス • ALB + EC2(Python対応) + Cloudwatch… etcの環境がすぐに手に入る Elastic Beanstalk Elastic BeanstalkのBlackbelt資料、2017年のものが最新なんですね・・・
Copyright © 2025 BeeX Inc. All Rights Reserved. 15 •
.ebextensions: 環境構築のカスタマイズが容易に行える • commands: デプロイ処理前に実行すべきコマンドやスクリプトを指定 commands: 01_install_docker: command: "yum install -y docker" 02_start_docker: command: "systemctl start docker" • container_commands: 新バージョンの展開後に実行すべきコマンドを指定 container_commands: 01_docker_socket_permissions: command: | chmod 666 /var/run/docker.sock chgrp docker /var/run/docker.sock Elastic BeanstalkでのDockerセットアップ(抜粋)
Copyright © 2025 BeeX Inc. All Rights Reserved. 16 •
AIエージェントの構成や機能の拡張方法が急激に変化している中で、サービスの変化 にアプリを適用させるのは悪手なのでは?という疑問 • Bedrock AgentではTools部分実装がLambdaだったり、AgentCoreだとエンドポイントの制 約やCode InterpreterをAWS SDK経由での呼び出しだったり(そもそもAgentCoreはまだ Preview) • シンプルなビルディングブロックでAIエージェントアプリを高速に構築し、素早いFBと機 能拡張を行うことのほうがビジネス価値につながる • AIエージェントアプリケーションを動作させられる環境をシンプルに素早く構築可能 • Webアプリケーションを動かすための標準構成(DB含む)を合わせて作れるAWSサービスは 他にない • Amplifyも近いがTSベースのアプリに限られる • コンピューティング、データベース、LBなど複数のビルディングブロックを使用、管理す る必要がある。 なぜElastic Beanstalkなのか
Copyright © 2025 BeeX Inc. All Rights Reserved. 17 •
Lambda: Docker pullの挙動 • Code Interpreterがその環境で初回実行されるタイミングでベースとなる Dockerイメージを取得される • 次回以降はそのイメージを使いまわす • Lambdaの有効期限が短いため、実行のたびにDocker pullが走り、実用に耐え ない時間がかかる • コンテナ: Docker in docker • 文字通り、Dockerコンテナ内でDockerコンテナを動かすこと • 開発者でDevcontainerを使っている場合に使っているケースが多い? • 特権モードが必要 →Fargateが使えない • ログ管理が複雑化(タスクログに加え、DinDログどうとる?) • ホストへのアクセスができないため、調査大変そう なぜコンテナ、サーバレスだとダメなのか(未検証)
Copyright © 2025 BeeX Inc. All Rights Reserved. まとめ
Copyright © 2025 BeeX Inc. All Rights Reserved. 19 •
AIエージェントができることを増やすにはコンテキストエンジニア リングとToolsの多様さが必要 • Toolsの一種として、LLMが作成したコードを実行できるCode Interpreterを用いることで多様な処理を実現できる • Code Interpreterの実行環境整備のため、AIエージェントの将来の 拡張を見据えた選定としてElastic Beanstalkを利用することも一案 まとめ
Copyright © 2025 BeeX Inc. All Rights Reserved. Copyright ©
2025 BeeX Inc. All Rights Reserved.