サポートエンジニアのとある Amazon Q Developer 活用の1日

最近は Amazon Q Developer にお世話になっている私でございます。
すっかり手放せない存在となってしまいました。

そんな私が、普段どんな形で活用しているのかを、
とある1日の業務をベースにお話していき、その中でのTipsなどを紹介していきます!


はじめに

環境に関して 

以降紹介する方法は、VSCode に Amazon Q 拡張機能を追加した環境を利用しています。

IDE に Amazon Q Developer 拡張機能またはプラグインをインストールする - Amazon Q Developer

以下紹介する方法は、完全に我流のものとなります。
ベストプラクティスではない場合があるので、その際には優しくご指摘いただけると嬉しいです。

この「1日」の主人公について

この主人公は、下記業務の担当者を想定しています。

  • お客様からの技術的な問い合わせを対応する、サポートエンジニア
  • チームの中堅で、各種レビューや新人後輩の教育を主に担当
  • 改善・自動化が大好きで、すぐに効率化を実現したがる

実在する人ではなく、あくまで想像上の人物を前提に書いているので悪しからずです。
(※本題のAIを使った実例は、筆者である私が体験したものに脚色をしています。)


業務開始 : 手順書のレビューにて

前営業日にチームメンバーが作成した手順書をレビューします。

Amazon Q のチャット機能を使って、「このファイルの手順書をレビューして」と
指示を出していますが、ここで1つ、便利な機能を導入していました。

Rulesファイルの作成

Amazon Q では、プロジェクトルールの設定というものができます。

Amazon Q Developer チャットで使用するプロジェクトルールの作成 - Amazon Q Developer

IDE で Amazon Q とチャットするときに使用できるプロジェクトルールのライブラリを構築できます。これらのルールでは、チーム全体のコーディング標準とベストプラクティスについて説明します。 たとえば、すべての Python コードがタイプヒントを使用する必要があること、またはすべての Java コードが Javadoc コメントを使用する必要があることを示すルールがあるとします。これらのルールをプロジェクトに保存することで、経験レベルに関係なく、開発者間の一貫性を確保できます。

プロジェクトルールは、プロジェクトの project-root/.amazonq/rulesフォルダの Markdown ファイルで定義されます。

個人利用ではありますが、 日々、手順書のレビューを実施 しているため、
このプロジェクトルールを設定しておくと、一言「この手順書をレビューして」だけで、
毎回ブレることなく、同じ観点でレビューをしてくれる。というものになります。

では、実際にどのようなルールを作ってあるのか、その一部がこちらになります

これにより、手順書のレビュー観点がブレることなく出力されるので、都度指示する手間が省けて便利です。

また、明確な指示はないですが、誤字脱字や環境と機器名の確認などを推測して指摘してくれるため、
人間のレビューでは見落としがちな部分を補完してくれます。
ここは生成AIによるレビューを導入して一番効果を感じたポイントです!

・・・実は、このルールの作成も生成AIで自動で作ってもらったものだったりします。
そのようなお話は、また後日。

午前中 : お客様への返信連絡

お客様から技術的な問い合わせを頂戴しました。

この内容が実現可能かどうかを確認するための手助けも、Amazon Qにお願いしてみます。

ただ、有名な話として「ハルシネーション」という、(端的にいうと)AIが嘘を作ることがあります。

参考 : ハルシネーション (人工知能) - Wikipedia

これをできる限り回避するため、流行りのMCPというものを導入します。

AWS MCP Servers の活用

AIアプリケーションを外部接続に接続するための標準規格として、
MCP (Model Context Protocol) というものがあります。
What is the Model Context Protocol (MCP)? - Model Context Protocol

MCPの詳細な説明はここでは省略しますが、
これを使うと、Amazon Qが 外部のイケイケなデータを扱うことができるようになります。

そして、AWS公式で、このMCPサーバが用意されています。
Welcome to AWS MCP Servers | AWS MCP Servers

今回の用途の場合は、AWS Documentation MCP Server というものが便利です!
AWS Documentation MCP Server | AWS MCP Servers

このMCPサーバを、VSCode を実行しているマシンで uvx コマンドを使えるようにしつつ、
Amazon Q の拡張機能で、公式ページのガイドを参考に設定すると、利用可能になります。


実際にやってみた

例えば、お客様からの問い合わせ内容が「RDS for MySQLのバージョンアップ」に関しての場合、
こんな形でAmazon Qのチャットに問い合わせしてみます。

ここで大切なことは、「公式ドキュメントの情報を元に、情報元のURLを添えて教えてください。」 と、
明示的に指示をしているのがポイントです。

これにより、先ほど設定した Documentation MCP Server を利用するよう誘導します。

誘導が成功すると、検索や取得の処理が始まります。

実際の回答はこちらです

この情報は、確かに公式ドキュメント(英語版)記載の最新情報をもとに、回答がされています。
MySQL on Amazon RDS versions - Amazon Relational Database Service

サポート終了日の情報が欲しい場合は、それも追加で指示することで、あわせて教えてくれます。

午後 : 後輩の連絡内容レビュー

チームメンバーが、別のお客様へ返信する文章のレビューを依頼してきました。
このレビューにはAWS利用料の計算結果が含まれています。

この料金の確認が必要になりますが、この時にもAmazon Qが手助けしてくれます。

AWS MCP Server / Pricing MCP Server

先ほどご紹介したAWS MCP Server ですが、今回は "Pricing MCP Server" を使ってみましょう。
AWS Pricing MCP Server | AWS MCP Servers

これを使うことで、最新の料金情報を収集してもらうことができます。

設定方法は、同じく公式ドキュメントを参考して値を入れていけば、利用可能になります。

料金試算のコツ

今回は試しに、「常時稼働のEC2インスタンスを、夜間特定の時間に停止した際の削減金額」の確認
をしてみてもらいましょう。

下記のような状況を想定してみます。

  • リージョン : 東京 (ap-northeast-1)
  • 停止時間 : 21:00 ~ 翌 08:00
  • インスタンスタイプ : t3.medium

私がざっくりと、1日あたりの費用を計算した結果は下記の通りです↓

  • 時間単価 : USD 0.0544
  • 常時起動(24時間) : USD 1.3056
  • 夜間停止(13時間起動) : USD 0.7072
  • 差額 : USD 0.5984

上記の費用が正しいかを、Amazon Qに確認してもらいます。
この時、指示する内容には、できる限り詳細な情報を伝えてあげることで、
Amazon Q のチャットさんも正確な費用計算ができます。

今回は下記のようなプロンプトで聞いてみます。

すると、最新の料金も参照して下記のような回答が得られます!

(※画像は見切れてますが、Documentation MCP Server の時同様、Pricingの場合もAWSのデータを参照しに行っています。)

この結果で大まかに正しいか間違えているかを確認することができます。

加えて、AWS pricing calculator での計算結果を組み合わせることで、より確実な結果が得られます!
AWS 料金見積りツール

このような結果の確認も、AIを使っている際には重要になるポイントの1つですね。

夕方 : 改善対応

日々のサポート対応の中で、ちょっとした改善アイディアを見つけました。
実装したい!けどコードをゼロから書くのは・・・

そんな時にも、生成AIさんに手助けしてもらいましょう!

Chrome 拡張機能のコードを作ってもらう

今回は、Chromeで特定ページを開いている経過時間を計測する機能を作ってみます。
想像ではブックマークレットでも拡張機能でも作成ができそうですが、
どちらにするか悩んでいます。

そこで、おすすめの方法をチャットで聞いてみることにします。

実際のプロンプトがこちら↓

コツとしては、実際にやりたいことを具体的に記載します。
今回だと「ボタンを用意して、そのボタンの役割はこれ」と明記している部分ですね。
確実に欲しい機能はできる限り詳細に書いてあげると、より適切な情報で応答してくれます。

ちなみに、回答は下記のような感じでした 

最後の一文に「具体的な実装コードを提供」とあるので、実際にコードを作ってもらいました。
この時、要件の追加も一緒にお願いしてみました。

先ほど同様、考えていることをできる限り詳細に伝えてあげることで、
意図通りのコードを生成してくれます。

すると、ディレクトリ作成からコード作成までサクサクと進んでくれます。

出来上がったファイルをChrome拡張機能のデバッグ機能で読み込ませると、
それっぽい動きそうなものができています!

後は機能追加の相談はチャットで、
直接コードを修正するときもAmazon Q Developer のコード補完で
それぞれ簡単にアップデートができます。

これで、思い描いていた改善案が実装できました! 非常に便利ですね!


おわりに : 目まぐるしい変化 

とある1日における生成AI活用に関してのお話を書いてみました。
この分野の進歩は非常に早く、正直なところ、
MCPが出てきたところで 「どうやって使うんだ・・?」
一時期混乱していたことも正直ありました。

で、いざ使い始めてみると、今ではすっかり手放せない相棒となりました。

日を追うごとに新しいもの、便利なものが増えているので、
それらを積極的に取り入れて、日々のAI活用に役立てていきたいですね。

そして、そういう情報を日々発信していただいている様々な方々に感謝しつつ、
自分で使っている生成AIさんを育ててみるのはいかがでしょうか?
今回の記事が、そのような方々の参考になれば幸いです。

投稿者プロフィール

n_fukuda
16年5月からアルバイトとして入社。
様々な新しい発見や個人的に興味を持ったことを
わかりやすくお伝えできればと思います。

ABOUTこの記事をかいた人

16年5月からアルバイトとして入社。 様々な新しい発見や個人的に興味を持ったことを わかりやすくお伝えできればと思います。