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
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
Search
y-mae
March 26, 2025
Technology
1
350
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
https://cloud-shokudo.connpass.com/event/347158/
y-mae
March 26, 2025
Tweet
Share
More Decks by y-mae
See All by y-mae
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1.6k
「genai-quickstart-pocs」を使ってお手軽に生成AIのPoCを始めよう!
ymae
3
250
生成AIとAWS CDKで実現! 自社ブログレビューの効率化
ymae
4
1.1k
Other Decks in Technology
See All in Technology
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.2k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
230
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
データ分析エージェント Socrates の育て方
na0
7
2.4k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
540
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
250
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
140
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Rails Girls Zürich Keynote
gr2m
95
14k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Scaling GitHub
holman
463
140k
Designing for humans not robots
tammielis
253
25k
Faster Mobile Websites
deanohume
309
31k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
A Tale of Four Properties
chriscoyier
160
23k
Navigating Team Friction
lara
189
15k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Transcript
前野 佑宜 アイレット株式会社 DX開発事業部 モダンエンジニアリングセクション ビジネスデザインG GenU案件を通して学んだ教訓 クラウド食堂 #2 ~AWSネタでLT会~
登壇資料
01 アジェンダ 自己紹介 02 GenUとは 03 GenU案件で学んだ教訓 3選 04 まとめ
前野 佑宜 2023年新卒入社/入社2年目 2024 Japan AWS Jr. Champions選出 アイレット株式会社 ま え の
ゆ う き 経歴 DX開発事業部/モダンエンジニアリングS/ビジネスデザインG 担当業務 Python/Laravelを使った開発をメインに従事 現在はAWSの生成AIサービスを使った開発を担当
02. GenUとは
みなさん、 「GenU 」はご存知でしょうか?
02.GenUとは?
02.GenUとは? GenU(generative-ai-usecases-jp) • AWSがOSSとして公開している生成AI活用のためのフレームワーク • 現状ではv3.0が最新版(日々アップデートされている) • サービスページも公開されている • Reactを用いて実装されている
• チャット/RAGチャット/Agentチャット/Flowチャット・要約 • 執筆・校正・翻訳・Webコンテンツ抽出 • 文章生成・画像生成・動画生成・映像分析・音声認識 • ユースケースビルダー・プロンプト最適化・ダイアグラム生成 3/25時点で、提供されている機能は 17機能! 場面に応じて 機能利用の有無を選択可能
03.GenU 案件で学んだ教訓 3選 GenUを使った、約2か月間の 開発を通して学んだこと
03.GenU案件で学んだ教訓 3選 1.CDKの作りは事前に確認する必要あり • デプロイ自体は、コマンドを実行するだけで簡単にできる ◦ cdk:deploy 一発でデプロイ可能(前段2-3個のコマンドを除けば) • 反面内部の作りを把握していないと、期待しない挙動になって焦る
◦ 開発途中でデプロイ不能になりリソース全削除する羽目になる可能性も どんなリソースが、どんな仕組みで 立ち上がっているかはしっかり確認する
03.GenU案件で学んだ教訓 3選 • GenUのcdk.jsonの、ドメイン設定に関するオプション ◦ 開発環境で、カスタムドメインのオプションを誤って設定し、一度全てnullにし て再デプロイしようとしたらエラーに ◦ 再度デプロイし直し手動でカスタムドメインの紐付けを行った "hostName":
<hostname>, "domainName": <domainname>, "hostedZoneId": XXXXX(Route53 のHostedZoneId), 失敗談: デプロイ不能になってリソース作り直し "hostName": null, "domainName": null, "hostedZoneId": null,
03.GenU案件で学んだ教訓 3選 CloudFormationを見ると、エラー発生 CloudFrontWafStack failed: ValidationError: Stack:arn:aws:cloudformation:us-east-1:***:stack/CloudFrontWafStack/1f2a8f70-d4a5-11ef -bbc9-125487e00b97 is in
UPDATE_ROLLBACK_FAILED state and can not be updated. ROLLBACK続行or リソース削除しか選択肢なし →結局解決できず crossRegionReferences(異なるリージョン間でリソースの受け渡しができる仕組みを使っている)の部分でエラー
03.GenU案件で学んだ教訓 3選 2.GenUのバージョン間のそれぞれの作りの違い、 影響範囲を確認しておくべし • GenUは、主にv2.0/v3.0(3/26時点最新版)が存在 ◦ v2.0→v3.0にあたり破壊的変更も存在。Kendra検索はv3.0以降削除(次頁 ◦ v3.0以降→検索だけできる
UIを作るには自分で作る必要あり • 担当案件では「検索だけしたい」というニーズがあり、Kendra検索を残す決断 ◦ →v2.0を採用 ユーザーにとって必要な(コアな)機能は何か? を第一に考え、どのバージョンを使うかは検討するのが良さそう
03.GenU案件で学んだ教訓 3選 GenU v3.0リリース時 のドキュメント
03.GenU案件で学んだ教訓 3選 3.RAGのどのフェーズがボトルネックかを明確に • GenUのRAG機能では、以下のフローで回答生成がされる クエリ生成 検索 回答生成 クエリは 期待通りに変換さ
れているか? 期待するドキュメン トが検索結果に出 てきているか?
03.GenU案件で学んだ教訓 3選 GenUにおけるRAGの仕組み
03.GenU案件で学んだ教訓 3選 3.RAGのどのフェーズがボトルネックかを明確に • GenUのRAG機能では、以下のフローで回答生成がされる クエリ生成 検索 回答生成 クエリは 期待通りに変換さ
れているか? 期待するドキュメン トが検索結果に出 てきているか?
03.GenU案件で学んだ教訓 3選 • GenUのデフォルトでは、関連するクエリがないと、「No Query」が返却 case1:クエリ生成でうまく行っていない場合 →クエリ生成時のプロンプト改善 /質問文の改善
03.GenU案件で学んだ教訓 3選 case1:クエリ生成でうまく行っていない場合 →クエリ生成時のプロンプト改善 /質問文の改善 Query生成時のプロンプト (packages/web/src/prompts/claude.ts)
03.GenU案件で学んだ教訓 3選 3.RAGのどのフェーズがボトルネックかを明確に • GenUのRAG機能では、以下のフローで回答生成がされる クエリ生成 検索 回答生成 クエリは 期待通りに変換さ
れているか? 期待するドキュメン トが検索結果に出 てきているか?
03.GenU案件で学んだ教訓 3選 • GenUのデフォルトでは、10件の結果しかretrieveしない ◦ retrieveAPIは、最大100件の結果まで抽出可能 ▪ →抽出対象のドキュメントの数を増やすのも一つの方法 case2:期待するドキュメントが得られない場合 →取得件数を増やす
04.まとめ まとめ どこにボトルネックがあるのかを意識して機能改善を 行うことが大事 簡単にデプロイできるのは GenUの魅力。 それに甘えすぎず内部的な仕組みも理解しよう
ご清聴ありがとうございました
参照文献 • 関連ブログ ◦ GenU サービスページ(AWS) ◦ 生成 AI
アプリをノーコードで作成・社内配布できる GenU ユースケースビルダー (AWS)