メインコンテンツに移動
デベロッパーのためのクラウド活用方法

Amazon Q Developer CLI ではじめる、効率的なアプリケーション開発

2025-05-01 | Author : 宇賀神 みずき (しょぼちむ)

はじめに

こんにちは!アプリケーション開発コンサルタントのしょぼちむです。今回は、AWS が提供する生成 AI アシスタント「Amazon Q Developer」をターミナルから利用できる Amazon Q Developer CLI をご紹介します。このツールは、ターミナル上で生成 AI と対話しながらコードを書いたり、インフラを構築したりできる、開発者にとってとても頼もしいアシスタントです。

今回は実際にこのツールを使って、自分自身はプログラミングを一切せずに、Amazon Q Developer CLI との対話だけで簡単な「勤怠管理システム」を構築してみました。その体験をベースに、Amazon Q Developer CLI の特徴や活用のポイントをお伝えします!

「ターミナルで完結する開発体験ってどんな感じ ?」「本当に効率上がるの ?」そんな疑問を持つ方の参考になれば嬉しいです !


X ポスト » | Facebook シェア » | はてブ »

ご注意

本記事で紹介する AWS サービスを起動する際には、料金がかかります。builders.flash メールメンバー特典の、クラウドレシピ向けクレジットコードプレゼントの入手をお勧めします。

*ハンズオン記事およびソースコードにおける免責事項 »

builders.flash メールメンバー登録

builders.flash メールメンバー登録で、毎月の最新アップデート情報とともに、AWS を無料でお試しいただけるクレジットコードを受け取ることができます。 
今すぐ登録 »

Amazon Q Developer CLI とは

Amazon Q Developer は、AWS が提供する開発者向けの生成 AI アシスタントです。
自然言語でのやりとりを通じて、コードの生成やデバッグ、インフラ構築まで支援してくれます。

従来、生成AIによるコーディング支援ツールは IDE プラグインや Web インターフェースからの利用が中心でしたが、CLI 版の登場により、ターミナル上で対話形式での開発支援ができるようになりました。これにより、開発フローを中断することなく作業を進めることができます。

Amazon Q Developer CLI の主な特徴

Amazon Q Developer CLI は、ターミナルから利用できる開発者向けの生成 AI アシスタントです。コードの提案やインフラの構築支援だけでなく、開発に必要なさまざまな作業を、ターミナル上で一貫してサポートしてくれます。特別な UI ツールは不要で、いつものターミナルだけで開発を完結できる手軽さが魅力です。

Visual Studio Code (以下、VS Code) などのエディタと併用しながら、既存のワークフローに自然に組み込める柔軟さもあり、AWS CLI や AWS Cloud Development Kit (以下、CDK)、npm などのツールともスムーズに連携できます。

Amazon Q Developer CLI には、主に以下のような機能が用意されています。

  • CLI Completions : コマンド入力時にサブコマンドやオプション、フォルダやファイル名などをリアルタイムに提案

  • Inline : コマンド入力中に生成 AI によってコマンドの続きをリアルタイムに提案

  • Translate : 自然言語でコマンドを指示することで、適切なコマンドを生成 AI が提案

  • Chat : ターミナル上で利用できる対話型の生成 AI アシスタント。ファイル操作やコマンドの実行、コード修正などを支援


それぞれが CLI 上での作業を効率化するための便利な機能ですが、今回はこの中でも特に開発効率を上げる Chat の機能に注目してご紹介します

Amazon Q Developer CLI の Chat 機能に注目 !

Chat の機能は、ターミナル上で自然言語によるやりとりを通じて、アプリケーション開発やインフラ構築をサポートしてくれます。

この機能の特徴は、単なる「補助的なコード提案」ではなく、対話・提案・実行結果をもとに、自分で判断して次のアクションを進めてくれるエージェント型の機能であることです。 たとえば、「これ、動かなかったんだけど」と伝えるとログを確認してエラーの原因を調べてくれたり、「直して」と言えばコードを修正してくれたりと、会話の中で開発作業がどんどん進んでいきます。

ターミナル上で実行されるため、VS Code などのエディタと組み合わせても使いやすく、コードを見ながら、手を動かしながら、AI と会話形式で開発を進められるのも大きな魅力です。さらに、AWS CLI や CDK、npm などの既存ツールとも相性がよく、ライブラリのインストールや環境変数の設定など、開発環境の初期セットアップまで支援してくれます。

Chat の機能を使っていて、特に便利だと感じたポイントは以下の通りです。

  • ターミナル上での対話 : ターミナルから離れることなく生成 AI アシスタントを活用できます。

  • ローカル環境との連携 : パソコン内のファイルの作成や変更、閲覧などが可能です。

  • コマンドの実行 : AWS CLI や bash コマンドなどを活用して開発や検証、調査をしてくれます。

  • AWS CLI との統合 : 現状の環境の状態の調査やログの確認、デプロイなど、AWS 環境への操作がスムーズに行えます。




勤怠管理システムを作ってみた

今回は、勤怠の打刻ができるシステムを、プログラムを全く書かずに自然言語で指示するだけで作ってみました。実施した操作を説明しながら、Chat 機能の特徴をご紹介していきます !

なお、環境には事前に Amazon Q Developer CLI をインストールしています。インストール手順は こちら をご確認ください。

チャットの起動

ターミナルを開き、 q chat コマンドを実行すると対話型に切り替わり、生成 AI との対話が始まります。

通常の Chat の機能では、ファイルを変更したりコマンドを実行したりと、何か変更を加える操作の前には、安全のために「実行してもいいか」の確認のステップが入ります。今回は開発スピードを上げたかったので、--accept-all オプションをつけました。このオプションをつけることで、毎回の確認をスキップし、生成 AI がどんどんファイルの変更とコマンドの実行を進めてくれるようになります。q chat で起動して対話が始まったあとでも、 /tools trustall と入力することで、対話途中での切り替えが可能です。ただし、このオプションを有効にしていると、AI が提案したコマンドが即時実行されるため、操作対象によっては意図しない影響を及ぼす可能性があるので、注意してください。安全性を重視する場合は、--accept-all は使わず、通常モードで確認しながら進めることをおすすめします。

チャットの起動コマンド

q chat コマンドを実行すると対話型に切り替わり、生成 AI との対話が始まります。

bash
$ q chat --accept-all
# 省略形
$ q chat -a

プロンプトの詳細

最初に入力したプロンプトはこちらです。

> 出勤・退勤のボタンを押したら記録されて、一ヶ月の勤怠の一覧が見られるようにしてほしい。ダミーデータを入れてほしい。構築はすべて CDK を使い、AWS 環境にデプロイして。AWS プロファイルは chat-demo を使って。最終的にできたサイトの URL を共有して。


細分化すると、以下を指示しています。

  • 作りたい機能 : 出勤・退勤のボタンを押したら記録されて、一ヶ月の勤怠の一覧が見られるようにしてほしい。

  • データの情報 : ダミーデータを入れてほしい。

  • デプロイ方法 : 構築はすべて CDK を使い、AWS 環境にデプロイして。AWS プロファイルは chat-demo を使って。

  • 構築後の情報 : 最終的にできたサイトの URL を共有して。


ざっくりとした指示ですが、この指示で CDK のプロジェクトを作成し、以下の構成のシステムを構築してくれました。何も指示しなくてもサーバーレスの構成が選択されています。また、サイトの公開に Amazon CloudFront が使われており、AWS のベストプラクティスに合わせた構成となっています。

  • バックエンド : AWS Lambda + Amazon API Gateway

  • データベース : Amazon DynamoDB

  • インフラ管理 : AWS CDK による IaC

  • ホスティング : Amazon S3 + Amazon CloudFront による静的配信

Animated demonstration of a command line interface (CLI) application being developed or used in a terminal window.

環境へのデプロイ

ローカルでのプロジェクト構成が完成した後は、CDK を使って環境へ自動的にデプロイを行ってくれました。

最初に「CDK を使って AWS 環境にデプロイして」と伝えていただけで、具体的なコマンドやデプロイ先のリソース構成などは一切指定していません。それにもかかわらず、 cdk deploy コマンドが CLI 上で自動的に実行され、IAM 権限やリソース間の関連付けまで含めて、必要なリソースを構築してくれました。

Screenshot showing the output of a shell command executing AWS CDK CLI deployment using 'cd attendance-system && npm run cdk deploy -- --all --profile chat-demo'. The output includes build warnings, synthesis time, and stack build feedback.

トラブルシューティング

最初のデプロイでは、Lambda 関数と DynamoDB 間の連携に問題があり、打刻データが表示・保存されていませんでした。このような場面では、通常は Amazon CloudWatch Logs を開いてエラーの原因を特定し、設定やコードを手動で見直していく必要があります。

そこで、以下のように追加での指示を出しました。もちろん日本語での指示しかしていません。

> CloudWatch の Log を取得してエラーが出てないかを確認して

自然言語で指示するだけで、CLI は Amazon CloudWatch Logs に保存された、対象の Lambda 関数のロググループとログストリームを確認し、エラーのスタックトレースを抽出・分析してくれました。 さらに、分析結果から原因となる設定の修正をし、修正後は再度 cdk deploy が実行されて問題なく動作するようになりました。

Screenshot showing instructions and output for using AWS CLI to check CloudWatch Logs in Japanese, including AWS CLI commands and their responses in a console environment.

作業完了 !

作業が終わった後に、成果をまとめて報告してくれました。本番のアプリ開発では必ず人がレビューする必要があるので、こういった報告はレビューの助けにもなります。

最初に指示しておいたサイトの URL についても教えてくれています。最初から最後までエディタをまったく開かずに作業が完了しました !

AWS CLIで勤怠管理システムをAWS環境にデプロイしたときの日本語によるシステム概要・機能・技術スタック・アクセス方法等の説明画面。

完成した勤怠管理システム

最終的に作成された画面はこちらです。画面構成やデザインについては全く指示を出していませんでしたが、完成度の高いサイトを作ってくれました!ユーザーや年月を切り替えると Amazon DynamoDB からデータが読み込まれます。そして、「出勤」と「退勤」のボタンを押すとデータが登録されます。
Screenshot of a Japanese attendance management system interface showing a user menu for clocking in and out and a table of attendance records for April 2025, including dates, check-in and check-out times, and total hours worked.

まとめ

Amazon Q Developer CLI の Chat の機能は、自然言語での対話を通じて開発を支援してくれるツールです。AWS のベストプラクティス を理解しており、ターミナル上でローカルや AWS の環境と連携しながら動くことで、開発中のさまざまな作業を助けてくれます。

今回はあえて、仕様書やファイルの準備なしで、すべてのやりとりを対話ベースで進めてみました。事前に準備をしなくても、対話の中でコードや構成がどんどん出来上がっていくという手軽さは、Amazon Q Developer CLI の大きな魅力です。

一方で、開発が進むにつれて要件が複雑になったり、関係者が増えたりすると、対話だけで構成や仕様を共有するのは難しくなってきます。そんな時は、プロジェクトの方向性や仕様をあらかじめ README.md などの Markdown ファイルなどにまとめておくのがオススメです。そうすることで、Chat 機能がその内容をコンテキストとして自動的に読み取ってくれるため、指示の解釈がより的確になり、手戻りの少ない開発につながります。開発初期のプロトタイピングにはチャットでの対話、詳細な構成を詰める段階では明示的な仕様ファイルといったように、段階に応じて使い分けていくことが、効果的な活用につながると感じました。

まずは簡単なプロジェクトで試してみるだけでも、「会話で開発が進む」新しい体験を味わっていただけると思います。
ぜひ、Amazon Q Developer CLI をインストール して、日々の開発に取り入れてみてください !

筆者プロフィール

宇賀神 みずき (しょぼちむ / @syobochim)
アマゾン ウェブ サービス ジャパン合同会社
デリバリコンサルタント

SIer でのアプリケーション開発者を経験後、2020 年にパートナーソリューションアーキテクトとして AWS Japan に入社し、2024 年にデリバリコンサルタントへ異動。主に開発者の方に向けてシステム開発のご支援を担当しています。初心者向けの『いちばんやさしいGit&GitHubの教本』という本も書きました。
インドア派でしたが、最近は子どもと一緒に毎週公園で日を浴びています。

Illustration of a whimsical red cartoon creature with horns by Mizuki Ugajin, set against an outdoor background with trees and mountains.