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
圧倒的サポート力! Amazon Q× CDK 開発のすすめ
Search
yuto mori
August 07, 2024
Technology
3
680
圧倒的サポート力! Amazon Q× CDK 開発のすすめ
2024/08/07 JAWS-UG CDK支部 #15 「CDK×生成AI祭り」登壇資料
yuto mori
August 07, 2024
Tweet
Share
More Decks by yuto mori
See All by yuto mori
Stageを活用したマルチステージ運用の最短経路
hosomatu
2
120
初学者向け CDK勉強会 外部公開用
hosomatu
0
170
完全IT未経験の消防士が Fusicのエンジニアになるまでに取り組んだこと
hosomatu
1
290
脱ぽちぽちを目指して CDKでインフラ構築をしてみた
hosomatu
0
1.8k
Other Decks in Technology
See All in Technology
AIとともに歩んでいくデザイナーの役割の変化
lycorptech_jp
PRO
0
830
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
600
AWS UG Grantでグローバル20名に選出されてre:Inventに行く話と、マルチクラウドセキュリティの教科書を執筆した話 / The Story of Being Selected for the AWS UG Grant to Attending re:Invent, and Writing a Multi-Cloud Security Textbook
yuj1osm
1
130
CREが作る自己解決サイクルSlackワークフローに組み込んだAIによる社内ヘルプデスク改革 #cre_meetup
bengo4com
0
300
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
2k
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
280
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
5.4k
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
1
280
Kubernetes self-healing of your workload
hwchiu
0
410
もう外には出ない。より快適なフルリモート環境を目指して
mottyzzz
13
9.4k
映像エッジAIにおけるNode-RED活用事例
emirmatsui
0
140
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Practical Orchestrator
shlominoach
190
11k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
Making Projects Easy
brettharned
120
6.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Language of Interfaces
destraynor
162
25k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
580
Done Done
chrislema
185
16k
Faster Mobile Websites
deanohume
310
31k
Transcript
©Fusic Co., Ltd. 0 CONFIDENTIAL 圧倒的サポート⼒! Amazon Q× CDK 開発のすすめ
2024.08.07 名前 森優⽃ @kotukotuganbad JAWS-UG CDK⽀部 #15 CDK × ⽣成AI祭り
©Fusic Co., Ltd. 1 森 優⽃ Mori Yuto v I
am - 消防10年 ▶ Fusic 1年 - 初⾳ミクとギターが好きです v Skills - Ruby on Rails / AWS v Comment - エンジニア1年⽣ - 染めた髪の⾊が落ちてきました ⾃⼰紹介 はじめに 株式会社Fusic @福岡 技術創造部⾨ エンジニア @kotukotuganbad
©Fusic Co., Ltd. 2 CONTENTS ⽬次 1. Amazon Qに触れたきっかけ 2.
Amazon Qの概要 3. Amazon Q Developerの概要 4. Amazon Q Developerの強み 5. Amazon Q Developerの微妙なところ 6. まとめ
©Fusic Co., Ltd. 3 想定している聴講者 0
©Fusic Co., Ltd. 4 想定している聴講者 はじめに CDKを触り始めたばかりのビギナー Amazon Qっていう名前は聞いたことがある
©Fusic Co., Ltd. 5 Amazon Qに触ることになったきっかけ 1
©Fusic Co., Ltd. 6 Amazon Qに触ることになったきっかけ 社内のリファレンスアーキテクチャを開発中。 初⼼者の⾃分にはWell-Architectedに則った開発が難しい。
©Fusic Co., Ltd. 7 Amazon Qに触ることになったきっかけ 参照元:初⼼者がおさえておきたいAWS CDK のベストプラクティス 2024
⾼野 賢司 https://speakerdeck.com/konokenj/cdk-best-practice-2024
©Fusic Co., Ltd. 8 Amazon Qに触ることになったきっかけ よきかな
©Fusic Co., Ltd. 9 Amazon Qの概要について 2
©Fusic Co., Ltd. 10 Amazon Qとは Amazon Qの概要 ⽣成AIを活⽤した フルマネージド型のAIアシスタントサービス
AWS利⽤に対するチャットボット的な利⽤⽅法から、 ユーザ所有のデータを元にQA対応や、サマライズ等 ⼀般的な⽣成AIアプリと同様のことが実施可能
©Fusic Co., Ltd. 11 Amazon Qとは Amazon Qの概要 Amazon Qには⼤きく分けて2種類あります
Amazon Q Developer アプリケーション開発中の開発者の⽣産性を⾼める ために設計された⽣成 AI アシスタントです。 コード変換、リファクタリング、テストの⽣成、 コードの⽂書化などのタスクを⽀援できます。 Amazon Q Business 顧客が⾃然⾔語でデータについて質問し、リアルタ イムで正確な回答を得ることができるフルマネージ ド サービスです。
©Fusic Co., Ltd. 12 Amazon Qとは Amazon Qの概要 Amazon Qには⼤きく分けて2種類あります
Amazon Q Business 顧客が⾃然⾔語でデータについて質問し、リアルタ イムで正確な回答を得ることができるフルマネージ ド サービスです。 Amazon Q Developer アプリケーション開発中の開発者の⽣産性を⾼める ために設計された⽣成 AI アシスタントです。 コード変換、リファクタリング、テストの⽣成、 コードの⽂書化などのタスクを⽀援できます。
©Fusic Co., Ltd. 13 Amazon Q Developerについての概要 3
©Fusic Co., Ltd. 14 Amazon Q Developerとは Amazon Q Developerの概要
2023年4⽉に発表された、Amazon版のGitHub Copilot とも呼べるCodeWhispererを前身としています Amazon CodeWhisperer
©Fusic Co., Ltd. 15 Amazon Q Developerとは Amazon Qの概要 ⼀番な⾝近な例としては、最近マネジメントコンソールの右側に六⾓形のアイコンのやつです
©Fusic Co., Ltd. 16 Amazon Q Developerとは Amazon Qの概要 タブを開くとChatGPTのように質問をすることができます。
©Fusic Co., Ltd. 17 Amazon Q Developerとは Amazon Qの概要 https://docs.aws.amazon.com/ja_jp/awsconsolehelpdocs/latest/gsg/ask-q.html
マネジメントコンソールの右側にあるものもAmazon Q Developerの⼀部です
©Fusic Co., Ltd. 18 Amazon Q Developerとは Amazon Qの概要 エディタやIDEと統合してコード補完をしてくれたり、チャット欄に質問をすることができます
©Fusic Co., Ltd. 19 Amazon Q Developerとは Amazon Q Developerの概要
https://aws.amazon.com/jp/q/developer/pricing/
©Fusic Co., Ltd. 20 Amazon Q Developerとは Amazon Q Developerの概要
https://aws.amazon.com/jp/q/developer/pricing/ 今回お伝えする導⼊⽅法は永続的な無料利⽤枠での登録⽅法で 勝⼿にサブスクライブが始まることはなさそうなので、ぜひ試していただければと思います
©Fusic Co., Ltd. 21 Amazon Q Developerの導⼊ Amazon Q Developerの概要
https://aws.amazon.com/q/developer/?nc1=h_ls これらの開発環境と統合できます
©Fusic Co., Ltd. 22 Amazon Q Developerの導⼊ Amazon Q Developerの概要
私はVSCodeの拡張機能から導⼊しました
©Fusic Co., Ltd. 23 Amazon Q Developerの導⼊ Amazon Q Developerの概要
Builder IDを連携すると無料版を使⽤できるようになります
©Fusic Co., Ltd. 24 Amazon Q Developerの導⼊ Amazon Q Developerの概要
デフォルトでは質問内容が学習に使われるので、設定で外しています。
©Fusic Co., Ltd. 25 Amazon Q Developerの導⼊ Amazon Q Developerの概要
これで、Amazon Q Developerの無料版を使⽤する準備はOKです
©Fusic Co., Ltd. 26 ここまでのまとめ Amazon Q には⼤きく分けて、BusinessとDeveloperがある Point 01
Amazon Q Developerには無料版があり、⼤体の機能は使える Point 02 Amazon Q DeveloperはVSCodeの拡張機能から導⼊できる Point 03
©Fusic Co., Ltd. 27 Amazon Q Developerの強み 4
©Fusic Co., Ltd. 28 Amazon Q Developerの使⽤感 Amazon Q Developerの使⽤感
無課⾦でこれは強い
©Fusic Co., Ltd. 29 Amazon Q Developerの使⽤感 Amazon Q Developerの使⽤感
私が普段使⽤しているAIツール ChatGPT (チームプラン) GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦
©Fusic Co., Ltd. 30 Amazon Q Developerの使⽤感 Amazon Q Developerの使⽤感
このような棲み分けで使⽤しています ChatGPT (チームプラン) GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦ 壁打ち相⼿ ざっくり質問相⼿ 汎⽤的なコード補完 1. ドキュメント探し 2. コード補完の別案 3. コードの評価
©Fusic Co., Ltd. 31 Amazon Q Developerはドキュメント探しに有⽤ Amazon Q Developerの使⽤感
①該当箇所を右クリックして Send to Promptでコードをそのまま送れます ②Please give me documentation on this で⾼精度でドンピシャの記事をくれます
©Fusic Co., Ltd. 32 Amazon Q Developerはドキュメント探しに有⽤ Amazon Q Developerの使⽤感
だいたいの質問に対して関連するドキュメントを添付してくれます そしてそれの精度が⾼いのでかなり助かっています
©Fusic Co., Ltd. 33 Amazon Q Developerはドキュメント探しに有⽤ Amazon Q Developerの使⽤感
他の⽣成AIはこうなりがち やはりこの辺はAmazonのサービスの強さ ごめんて
©Fusic Co., Ltd. 34 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感
GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦ ぶっちゃけコード補完については Copilotの⽅が速いし正確です <
©Fusic Co., Ltd. 35 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感
Amazon Q Developer 無課⾦ 普通に使えるレベルなので Copilotに課⾦してない⼈はいれると便利
©Fusic Co., Ltd. 36 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感
GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦ 私はこのように使い分けています 汎⽤的なコード補完 ピンポイントなコード補完
©Fusic Co., Ltd. 37 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感
私はデフォルトではCopilotを⾛らせています デフォルトではCopilotのコード補完が⾛らせています
©Fusic Co., Ltd. 38 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感
私はデフォルトではCopilotを⾛らせています Option + c でAmazon Qのコード補完を⾛らせるようにしています
©Fusic Co., Ltd. 39 Amazon Q Developerによるコードの評価 Amazon Q Developerの使⽤感
Amazon Q Developer 無課⾦ 魔法の⾔葉 Does this code follow AWS Well-Architected?
©Fusic Co., Ltd. 40 Amazon Q Developerによるコードの評価 Amazon Q Developerの使⽤感
アプリ全体(スタック)で AWS Well-Architected を遵守できているか質問 個別のコンストラクトで 個別の項⽬ (Security Best Practicesなど) を遵守できているか質問 全体を⾒たざっくりとした回答
©Fusic Co., Ltd. 41 Amazon Q Developerによるコードの評価 Amazon Q Developerの使⽤感
「これはSecurity Best Practicesに沿っていますか?」 よりも 「これはSecurity Best Practicesに沿っているよね?」 って聞いた⽅がちゃんとコードを読んでくれている感があります(主観)
©Fusic Co., Ltd. 42 Amazon Q Developerの微妙なところ 5
©Fusic Co., Ltd. 43 Amazon Q Developer 微妙なところ Amazon Q
Developerの微妙なところ コーディング能⼒はちょっと低く感じる (課⾦したら少し良くなった気がする) ⽇本語対応していない!!!
©Fusic Co., Ltd. 44 Amazon Q Developer 微妙なところ Amazon Q
Developerの微妙なところ ランチャーアプリのAlfredの ワークフローを⽤いて ⽇↔英翻訳を駆使しながら使っています。 https://github.com/nkmr-jp/alfred-quick-translate
©Fusic Co., Ltd. 45 Amazon Q Developer 微妙なところ Amazon Q
Developerの微妙なところ こんな感じで翻訳しながら使っています(選択して⌘+Option+Eで英語翻訳する設定)
©Fusic Co., Ltd. 46 まとめ 初めてCDKにてWebアプリのインフラを構築して感じたことまとめ 5
©Fusic Co., Ltd. 47 まとめ Amazon Q Developerは無課⾦でもかなり使えるツール Point 01
関連ドキュメントの提⽰や、コードへの提案能⼒など CDKでのインフラ開発との相性は◎ Point 02 コーディング能⼒や、⽇本語未対応などまだまだ発展途上でもある Point 03
©Fusic Co., Ltd. 48 まとめ 開発がかなり快適になっています
©Fusic Co., Ltd. 49 Thank You We are Hiring! https://recruit.fusic.co.jp/
ご清聴いただきありがとうございました