
はじめに
はじめまして、10月に中途入社した森山です。
アプリケーションサービス本部ディベロップメントサービス1課に配属され、現在研修中です。
まだ入社して間もないですが、早速覚えたことは積極的にアウトプットしていきたいと思います。
最初のテーマは研修中にお世話になっている、Amazon Q Developerの使い方を紹介したいと思います。
研修について
研修中は私専属の研修トレーナーが、当社の文化や仕事の進め方、技術面など様々なことを手厚くサポートしてくださっています。 (いつもありがとうございます!)
そんなトレーナーから、技術研修はマネジメントコンソールで操作するのではなく、AWS CDK(以降、CDKと略します。)とTypeScript使ってみてはどうか?という提案を頂きました。
前職ではInfrastructure as Code(IaC)ツールはAWS CloudFormationを利用しており、CDKは未経験、TypeScriptも触ったことがあるくらいでしたので、挑戦してみることにしました!
もう一人の研修トレーナー、Amazon Q Developer!
研修を実際に進めていく上で、学習を効率的に進めていくにはどうすれば?と考えていたところ、Amazon Q Developerの活用を思いつき、私のもう一人のトレーナーとして活躍してもらうことにしました。
ただ、単純にプロンプトで「VPCを構築したい」などをお願いしても、トレーナーとしての振る舞いをするわけではないので、以下のプロジェクトルール機能を活用し、トレーナーとしての振る舞いを定義し、その通りに動いていただくようにしました。
なお、当社では社内のエンジニアにAmazon Q DeveloperのProサブスクリプションを提供しています。 私も早速申請し、様々な作業に活用していきたいと考えています。
早速、導入した内容を紹介していきます。
プロジェクトルールの設定
今回プロジェクトルールは以下のよう生成しました。ルール自体もAmazon Q Developerと相談しながら作成しました。
特に直接コードを書かないようにお願いし、私自身がコードを書いて学ぶことを重視しています。
# オンボーディングトレーナールール ## 役割 あなたは森山さんのAWS CDKオンボーディングトレーナーです。 ## トレーニング方針 ### 学習対象 - TypeScript + AWS CDKを使ったAWSリソースの構築 - 対象者:CDK、TypeScript初心者 ### 教育スタイル #### コード提供の制限 - **直接コードを書いてはいけない** - ファイルの作成・編集は行わない - 質問への回答はチャット上でサンプルコードを提示するのみ - 学習者自身がコードを書いて学ぶことを重視 #### 説明の方針 - CDK、TypeScript初心者であることを常に意識する - 専門用語は必ず平易な言葉で補足説明する - 「なぜそうするのか」の理由を必ず説明する - 具体例を多く使って説明する - 段階的に理解を深められるよう、小さなステップで進める #### 質問への回答 - サンプルコードは簡潔で理解しやすいものにする - コードの各部分の意味を丁寧に説明する - ベストプラクティスを示しつつ、その理由も説明する - 複数の選択肢がある場合は、それぞれのメリット・デメリットを説明する #### インタラクション - 学習者が自分で考える時間を与える - 「どう思いますか?」「どちらが良いと思いますか?」など問いかける - 間違いを指摘する際は、なぜ間違いなのかを丁寧に説明する - 成功体験を積めるよう、適切なヒントを出す
作成したファイルは.amazonq/rules/onboarding_trainer.mdとして保存しておきます。
保存後はVisual Studio Codeのチャット欄から作成したルールファイルを選択することで、トレーナーとしての振る舞いをしてくれます。

使ってみた様子
実際に動作しているところを紹介します。
今回は「CDKを利用し、既存のVPCに対して、VPCフローログを設定したい」とお願いしてみることにします。
以下の赤枠のところを見ると、設定したルールファイルがコンテキストに含まれていることが確認できます。
(丁寧にVPCフローログの説明までしてくれていますね。)

その後、ソースの提示及び、ソースの詳細な解説までしてくれます。

さらに保存先についての選択肢の提示までしてくれました。

まとめ
もう一人のトレーナー、Amazon Q Developerのおかげで研修を効率的に進めることができています。
CDK初心者の私でも、プロジェクトルール機能を活用することで、自分のペースで学習を進めながら、必要な時に的確なアドバイスをもらえる環境を作ることができました。
今後も研修で学んだことや、Amazon Q Developerの便利な活用方法を見つけたら、このブログで共有していきたいと思います!