Slide 1

Slide 1 text

©Fusic Co., Ltd. 0 CONFIDENTIAL 圧倒的サポート⼒! Amazon Q× CDK 開発のすすめ 2024.08.07 名前 森優⽃ @kotukotuganbad JAWS-UG CDK⽀部 #15 CDK × ⽣成AI祭り

Slide 2

Slide 2 text

©Fusic Co., Ltd. 1 森 優⽃ Mori Yuto v I am - 消防10年 ▶ Fusic 1年 - 初⾳ミクとギターが好きです v Skills - Ruby on Rails / AWS v Comment - エンジニア1年⽣ - 染めた髪の⾊が落ちてきました ⾃⼰紹介 はじめに 株式会社Fusic @福岡 技術創造部⾨ エンジニア @kotukotuganbad

Slide 3

Slide 3 text

©Fusic Co., Ltd. 2 CONTENTS ⽬次 1. Amazon Qに触れたきっかけ 2. Amazon Qの概要 3. Amazon Q Developerの概要 4. Amazon Q Developerの強み 5. Amazon Q Developerの微妙なところ 6. まとめ

Slide 4

Slide 4 text

©Fusic Co., Ltd. 3 想定している聴講者 0

Slide 5

Slide 5 text

©Fusic Co., Ltd. 4 想定している聴講者 はじめに CDKを触り始めたばかりのビギナー Amazon Qっていう名前は聞いたことがある

Slide 6

Slide 6 text

©Fusic Co., Ltd. 5 Amazon Qに触ることになったきっかけ 1

Slide 7

Slide 7 text

©Fusic Co., Ltd. 6 Amazon Qに触ることになったきっかけ 社内のリファレンスアーキテクチャを開発中。 初⼼者の⾃分にはWell-Architectedに則った開発が難しい。

Slide 8

Slide 8 text

©Fusic Co., Ltd. 7 Amazon Qに触ることになったきっかけ 参照元:初⼼者がおさえておきたいAWS CDK のベストプラクティス 2024 ⾼野 賢司 https://speakerdeck.com/konokenj/cdk-best-practice-2024

Slide 9

Slide 9 text

©Fusic Co., Ltd. 8 Amazon Qに触ることになったきっかけ よきかな

Slide 10

Slide 10 text

©Fusic Co., Ltd. 9 Amazon Qの概要について 2

Slide 11

Slide 11 text

©Fusic Co., Ltd. 10 Amazon Qとは Amazon Qの概要 ⽣成AIを活⽤した フルマネージド型のAIアシスタントサービス AWS利⽤に対するチャットボット的な利⽤⽅法から、 ユーザ所有のデータを元にQA対応や、サマライズ等 ⼀般的な⽣成AIアプリと同様のことが実施可能

Slide 12

Slide 12 text

©Fusic Co., Ltd. 11 Amazon Qとは Amazon Qの概要 Amazon Qには⼤きく分けて2種類あります Amazon Q Developer アプリケーション開発中の開発者の⽣産性を⾼める ために設計された⽣成 AI アシスタントです。 コード変換、リファクタリング、テストの⽣成、 コードの⽂書化などのタスクを⽀援できます。 Amazon Q Business 顧客が⾃然⾔語でデータについて質問し、リアルタ イムで正確な回答を得ることができるフルマネージ ド サービスです。

Slide 13

Slide 13 text

©Fusic Co., Ltd. 12 Amazon Qとは Amazon Qの概要 Amazon Qには⼤きく分けて2種類あります Amazon Q Business 顧客が⾃然⾔語でデータについて質問し、リアルタ イムで正確な回答を得ることができるフルマネージ ド サービスです。 Amazon Q Developer アプリケーション開発中の開発者の⽣産性を⾼める ために設計された⽣成 AI アシスタントです。 コード変換、リファクタリング、テストの⽣成、 コードの⽂書化などのタスクを⽀援できます。

Slide 14

Slide 14 text

©Fusic Co., Ltd. 13 Amazon Q Developerについての概要 3

Slide 15

Slide 15 text

©Fusic Co., Ltd. 14 Amazon Q Developerとは Amazon Q Developerの概要 2023年4⽉に発表された、Amazon版のGitHub Copilot とも呼べるCodeWhispererを前身としています Amazon CodeWhisperer

Slide 16

Slide 16 text

©Fusic Co., Ltd. 15 Amazon Q Developerとは Amazon Qの概要 ⼀番な⾝近な例としては、最近マネジメントコンソールの右側に六⾓形のアイコンのやつです

Slide 17

Slide 17 text

©Fusic Co., Ltd. 16 Amazon Q Developerとは Amazon Qの概要 タブを開くとChatGPTのように質問をすることができます。

Slide 18

Slide 18 text

©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の⼀部です

Slide 19

Slide 19 text

©Fusic Co., Ltd. 18 Amazon Q Developerとは Amazon Qの概要 エディタやIDEと統合してコード補完をしてくれたり、チャット欄に質問をすることができます

Slide 20

Slide 20 text

©Fusic Co., Ltd. 19 Amazon Q Developerとは Amazon Q Developerの概要 https://aws.amazon.com/jp/q/developer/pricing/

Slide 21

Slide 21 text

©Fusic Co., Ltd. 20 Amazon Q Developerとは Amazon Q Developerの概要 https://aws.amazon.com/jp/q/developer/pricing/ 今回お伝えする導⼊⽅法は永続的な無料利⽤枠での登録⽅法で 勝⼿にサブスクライブが始まることはなさそうなので、ぜひ試していただければと思います

Slide 22

Slide 22 text

©Fusic Co., Ltd. 21 Amazon Q Developerの導⼊ Amazon Q Developerの概要 https://aws.amazon.com/q/developer/?nc1=h_ls これらの開発環境と統合できます

Slide 23

Slide 23 text

©Fusic Co., Ltd. 22 Amazon Q Developerの導⼊ Amazon Q Developerの概要 私はVSCodeの拡張機能から導⼊しました

Slide 24

Slide 24 text

©Fusic Co., Ltd. 23 Amazon Q Developerの導⼊ Amazon Q Developerの概要 Builder IDを連携すると無料版を使⽤できるようになります

Slide 25

Slide 25 text

©Fusic Co., Ltd. 24 Amazon Q Developerの導⼊ Amazon Q Developerの概要 デフォルトでは質問内容が学習に使われるので、設定で外しています。

Slide 26

Slide 26 text

©Fusic Co., Ltd. 25 Amazon Q Developerの導⼊ Amazon Q Developerの概要 これで、Amazon Q Developerの無料版を使⽤する準備はOKです

Slide 27

Slide 27 text

©Fusic Co., Ltd. 26 ここまでのまとめ Amazon Q には⼤きく分けて、BusinessとDeveloperがある Point 01 Amazon Q Developerには無料版があり、⼤体の機能は使える Point 02 Amazon Q DeveloperはVSCodeの拡張機能から導⼊できる Point 03

Slide 28

Slide 28 text

©Fusic Co., Ltd. 27 Amazon Q Developerの強み 4

Slide 29

Slide 29 text

©Fusic Co., Ltd. 28 Amazon Q Developerの使⽤感 Amazon Q Developerの使⽤感 無課⾦でこれは強い

Slide 30

Slide 30 text

©Fusic Co., Ltd. 29 Amazon Q Developerの使⽤感 Amazon Q Developerの使⽤感 私が普段使⽤しているAIツール ChatGPT (チームプラン) GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦

Slide 31

Slide 31 text

©Fusic Co., Ltd. 30 Amazon Q Developerの使⽤感 Amazon Q Developerの使⽤感 このような棲み分けで使⽤しています ChatGPT (チームプラン) GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦ 壁打ち相⼿ ざっくり質問相⼿ 汎⽤的なコード補完 1. ドキュメント探し 2. コード補完の別案 3. コードの評価

Slide 32

Slide 32 text

©Fusic Co., Ltd. 31 Amazon Q Developerはドキュメント探しに有⽤ Amazon Q Developerの使⽤感 ①該当箇所を右クリックして Send to Promptでコードをそのまま送れます ②Please give me documentation on this で⾼精度でドンピシャの記事をくれます

Slide 33

Slide 33 text

©Fusic Co., Ltd. 32 Amazon Q Developerはドキュメント探しに有⽤ Amazon Q Developerの使⽤感 だいたいの質問に対して関連するドキュメントを添付してくれます そしてそれの精度が⾼いのでかなり助かっています

Slide 34

Slide 34 text

©Fusic Co., Ltd. 33 Amazon Q Developerはドキュメント探しに有⽤ Amazon Q Developerの使⽤感 他の⽣成AIはこうなりがち やはりこの辺はAmazonのサービスの強さ ごめんて

Slide 35

Slide 35 text

©Fusic Co., Ltd. 34 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感 GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦ ぶっちゃけコード補完については Copilotの⽅が速いし正確です <

Slide 36

Slide 36 text

©Fusic Co., Ltd. 35 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感 Amazon Q Developer 無課⾦ 普通に使えるレベルなので Copilotに課⾦してない⼈はいれると便利

Slide 37

Slide 37 text

©Fusic Co., Ltd. 36 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感 GitHub Copilot (チームプラン) Amazon Q Developer 無課⾦ 私はこのように使い分けています 汎⽤的なコード補完 ピンポイントなコード補完

Slide 38

Slide 38 text

©Fusic Co., Ltd. 37 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感 私はデフォルトではCopilotを⾛らせています デフォルトではCopilotのコード補完が⾛らせています

Slide 39

Slide 39 text

©Fusic Co., Ltd. 38 Amazon Q Developerのコード補完について Amazon Q Developerの使⽤感 私はデフォルトではCopilotを⾛らせています Option + c でAmazon Qのコード補完を⾛らせるようにしています

Slide 40

Slide 40 text

©Fusic Co., Ltd. 39 Amazon Q Developerによるコードの評価 Amazon Q Developerの使⽤感 Amazon Q Developer 無課⾦ 魔法の⾔葉 Does this code follow AWS Well-Architected?

Slide 41

Slide 41 text

©Fusic Co., Ltd. 40 Amazon Q Developerによるコードの評価 Amazon Q Developerの使⽤感 アプリ全体(スタック)で AWS Well-Architected を遵守できているか質問 個別のコンストラクトで 個別の項⽬ (Security Best Practicesなど) を遵守できているか質問 全体を⾒たざっくりとした回答

Slide 42

Slide 42 text

©Fusic Co., Ltd. 41 Amazon Q Developerによるコードの評価 Amazon Q Developerの使⽤感 「これはSecurity Best Practicesに沿っていますか?」 よりも 「これはSecurity Best Practicesに沿っているよね?」 って聞いた⽅がちゃんとコードを読んでくれている感があります(主観)

Slide 43

Slide 43 text

©Fusic Co., Ltd. 42 Amazon Q Developerの微妙なところ 5

Slide 44

Slide 44 text

©Fusic Co., Ltd. 43 Amazon Q Developer 微妙なところ Amazon Q Developerの微妙なところ コーディング能⼒はちょっと低く感じる (課⾦したら少し良くなった気がする) ⽇本語対応していない!!!

Slide 45

Slide 45 text

©Fusic Co., Ltd. 44 Amazon Q Developer 微妙なところ Amazon Q Developerの微妙なところ ランチャーアプリのAlfredの ワークフローを⽤いて ⽇↔英翻訳を駆使しながら使っています。 https://github.com/nkmr-jp/alfred-quick-translate

Slide 46

Slide 46 text

©Fusic Co., Ltd. 45 Amazon Q Developer 微妙なところ Amazon Q Developerの微妙なところ こんな感じで翻訳しながら使っています(選択して⌘+Option+Eで英語翻訳する設定)

Slide 47

Slide 47 text

©Fusic Co., Ltd. 46 まとめ 初めてCDKにてWebアプリのインフラを構築して感じたことまとめ 5

Slide 48

Slide 48 text

©Fusic Co., Ltd. 47 まとめ Amazon Q Developerは無課⾦でもかなり使えるツール Point 01 関連ドキュメントの提⽰や、コードへの提案能⼒など CDKでのインフラ開発との相性は◎ Point 02 コーディング能⼒や、⽇本語未対応などまだまだ発展途上でもある Point 03

Slide 49

Slide 49 text

©Fusic Co., Ltd. 48 まとめ 開発がかなり快適になっています

Slide 50

Slide 50 text

©Fusic Co., Ltd. 49 Thank You We are Hiring! https://recruit.fusic.co.jp/ ご清聴いただきありがとうございました