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
Bedrockで遊ぼう! 短期間で色々開発してみた
Search
taiko19xx
August 10, 2024
Technology
1
130
Bedrockで遊ぼう! 短期間で色々開発してみた
taiko19xx
August 10, 2024
Tweet
Share
More Decks by taiko19xx
See All by taiko19xx
Incident Managerでインシデント発生時のエスカレーションを自動化する
taiko19xx
0
240
LambdaカスタムランタイムでPHPでもサーバーレス!
taiko19xx
0
76
IoTっぽいアプリをk3s+Raspberry Piで実行する
taiko19xx
0
330
ハニーポットから見たWebサーバへの攻撃
taiko19xx
0
2.9k
PHPなプロダクトをAmazon ECSで開発運用してる話
taiko19xx
0
1.2k
RaspberryPi+AWSでIoT(っぽ い)GPSロガーを作ってみた
taiko19xx
0
1.6k
PHPからWin32APIをいじってみた
taiko19xx
0
1.7k
Other Decks in Technology
See All in Technology
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
440
Model Mondays S2E03: SLMs & Reasoning
nitya
0
240
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
110
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.3k
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
0
680
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
270
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
380
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
140
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
350
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
310
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
120
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
370
Featured
See All Featured
Producing Creativity
orderedlist
PRO
346
40k
GraphQLとの向き合い方2022年版
quramy
49
14k
Statistics for Hackers
jakevdp
799
220k
Making Projects Easy
brettharned
116
6.3k
KATA
mclloyd
30
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Rails Girls Zürich Keynote
gr2m
94
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
Music & Morning Musume
bryan
46
6.6k
We Have a Design System, Now What?
morganepeng
53
7.7k
Practical Orchestrator
shlominoach
188
11k
Done Done
chrislema
184
16k
Transcript
JAWS-UG 秋田 勉強会@2024/08/10 #jawsug #jawsugtohoku #jawsugakita 木村俊彦 @taiko19xx Bedrockで遊ぼう! 短期間で色々開発してみた
• 木村俊彦 ◦ X: @taiko19xx • 仙台でゲームの会社に勤めてます ◦ Kubernetes(EKS)とGitHub Actionsばっかり触っています
• 技術同人誌サークルの「杜の都の開発室」をやっています • 最近のトピック ◦ 遺伝子検査を受けてみました ◦ 知り合いの作り方がよくわからない 自己紹介
• ここ1ヵ月、Bedrockを使って色々作っていました • その中で得られた知見や方針などを色々お話できればと思います • 作ったものはこちら ◦ https://github.com/taiko19xx/202408_bedrock_apps 概要
• 前日談 • 基本構成と方針 • 作ったものの紹介 • 作ってみてわかったこと 今日の内容
前日談
• 7/5にJAWS-UG 仙台で生成AIのハンズオンがあった • 懇親会で秋田への参加を誘われる • 話すネタどうしようか... • そういえばハンズオンでBedrockの話があったな... 前日談
いい機会なので いろいろ作ってみよう!
基本構成・方針
• Bedrock • Lambda ◦ Node.js 20 / arm64 •
CloudFront ◦ HTML配信用 • S3 ◦ CloudFrontのバックエンド / 画像保存先 • DynamoDB 基本構成
(8/1時点)
• Webアプリを構築 ◦ HTMLはBedrockに生成してもらう • API側はLambda ◦ 関数URLを使用 ◦ 関数は手書き
• BedrockはClaude 3 Haiku / 3.5 Sonnetを使用 ◦ そのためオレゴンかバージニア北部 基本方針
東京リージョンで使えるようになった!!
• Webアプリを構築 ◦ HTMLはBedrockに生成してもらう • API側はLambda ◦ 関数URLを使用 ◦ Lambdaは手書き
• BedrockはClaude 3 Haiku / 3.5 Sonnetを使用 ◦ そのためオレゴンかバージニア北部 • Bedrockも含め全て東京リージョン 基本方針
作ってみたもの
チャットボットくん
• 会話するだけ • 特に調整していないので素の状態 • 履歴はブラウザに保存 • とりあえずということで作ってみた ◦ コンソール入らないで済むので便利
チャットボットくん
マルチ翻訳くん
• 言語自動認識+複数言語への翻訳 • やっていることはほぼAmazon Translator • 20言語ぐらい対応 ◦ 言語コードを送っているだけなのでどんどん増やせる •
こういうツールを使う場面があったのでそれの再現 マルチ翻訳くん
文章校正くん
• 入力した文章を指定したスタイルに校正してくれる ◦ フォーマルな文章をカジュアルに、その逆も • 校正部分にハイライトし、理由も表示してくれる • 前々から欲しいと思っていたので作成 文章校正くん
画像タグ付けくん
• S3にアップロードした画像にタグ付けをする ◦ アップロードはPresigned URL経由 ◦ タグデータはDynamoDBに保存 ◦ タグによる絞り込みも可能 •
これのみデータはAWS側に保存されているため共有 画像タグ付けくん
None
作ってみてわかったこと
• API構築+HTML生成で2〜3時間あれば作れる • HTMLだけでも、API側のモックとしての利用には最適 • 簡単な内部向けツールであればサクッと作れそう スピード感は半端ない
• 書いてあることはやるが、書いてないことはやってくれない • 「いい感じにして」「よしなに」は難しい • プロジェクトのことを何も知らない人に指示するにはどうするのか、と考え るとよさそう • データ構造は文字で書くよりそのまま書いて参照してもらったほうが早い プロンプトは仕様書
• 出力される結果を前もって予想しておく ◦ APIの説明でresultというキーを使ってたらアプリ側の変数と重複し てしまい、変な結果になった • 自分が指示される側であればどうか、を考える ◦ 仕様書と合わせて AIの気持ちになる
• 例えばコード生成を任せるのであれば、ライブラリや技術自体の知識はあ る程度必要 ◦ そもそもの使い方を知らないと調整できない ◦ 間違ってるので直してと言っても100%直る訳ではない • 凝ったことをしたい場合は用語と使われ方・使い方の知識が必要 ◦
データのブラウザへの保存やロード画面の表示など 完全にお任せしない
• 作成したアプリを試しに社内で公開した • 想定外な使われ方をし出して、費用が大変なことになった • それはそれで色々勉強になった • 最悪WAFでIPブロック いたずらに気を付ける
• トークン量に応じた課金のため、トークン量の確認は必須 • 事前にトークン量の算出は難しい ◦ Haikuは気にならないが、Sonnetだとちょっと気になるレベル ◦ インプットとアウトプットで段違いなのも注意 • メトリクスとしては見られるが、モデル毎になる
◦ InputTokenCount / OutputTokenCount • トークン量は呼び出し結果内に含まれる ◦ 個別の計測もカスタムメトリクスで可能 トークン量をよく見る
• 色々作ってみた結果とそこから得た知見の共有でした • スッと作って動かせるのはやはり楽しい • 時間も限られていましたが、色々作りたいものが作れて満足 • アイディアは出そうと思えば無限に出てくる • 生成AIを利用したアプリ作成の知見も得られたので良かったです
• 是非お盆の暇つぶしにいかがでしょうか まとめ
ありがとうございました