本稿は、Amazon Q Developer で「出来ること」を調査した(体験した)内容を共有致します。
生成AIはともだち!こわくないよ!
内村でございます。
生成AI(Generative AI)が市民権を得て久しくなります。
私も業務で生成AIを「使う」機会が多くなりました。
生成AIを使った「サービスのご提供」はまだ経験値が少なく目下トレーニング中です。
生成AIのサービスの中でも、Amazon Q Developer が非常に有用である(助かった)ので共有致します。
内容についての諸注意
当記事は 2025年6月時点で調査した製品、サービス内容を記載しています。 最新の情報に関しては各種公式サイト、マニュアル等をご確認下さい。
当記事作成の際には十分注意しておりますが、内容に公式と相違がある場合は公式を優先とさせていただきます。
当記事内の試算およびそれに準ずる内容は、本資料の説明のために用いるものであり、不利益が生じた場合、一切の責任は負いかねますので予めご了承ください。
Amazon Q Developer のおさらい
Amazon Q Developer は、AWS が提供する開発者向けの生成 AI アシスタントです。
ソフトウェア開発の効率化を目的として設計されており、日々のコーディングやAWSサービスの操作を支援してくれる、いわば「開発者のための相棒」といえる存在です。
簡単に、以下に特徴をピックアップします。
IDE 連携による開発支援
Visual Studio Code や JetBrains 製 IDE と連携ができます。
これにより、コードの自動生成やバグ修正の提案、既存コードの解説といったサポートを得られます。
チャットベースのUIで、自然言語を使った対話が可能です。
(『自然言語』これ大事)
CLI を通じた操作ガイド
ターミナル上で q コマンド q chat
を用いることで、AWSサービスの操作手順の提示や、CloudFormation テンプレートの生成、CLIコマンドの具体例の提示など、実践的な支援が受けられます。
AWS ドキュメントとの統合
AWS の公式ドキュメントやベストプラクティスを参照しながら回答するため、信頼性の高い情報を得ることができます。
「この設定って何だったっけ?」と迷ったり探す時間が減ります。(ものすごく助かる)
これにより開発スピードの向上が期待できます。
学習フェーズの支援にも有効
AWS に不慣れなエンジニアや、特定サービスに詳しくないメンバーにとっても、手取り足取りナビゲーションしてくれる存在です。
まさに『知っているチームメイトが隣にいてくれる』ような体験が得られます。(今回ここに助けられた)
私自身も使い始めたばかりですが、「環境構築の手順を自然言語で尋ねると、即座に構文付きで提示してくれる」「知らなかったオプションを教えてくれる」など、小さな感動が続いています。
特に、複雑なサービス(例:AWS CDK や AWS Step Functions )に取り組む際には、頼もしい存在になるはずです。
Amazon Q Developer を始めるためには
弊社の過去のブログで、Amazon Q Developer を macOS で始めるための手順を記事でまとめています。
ご利用の開始方法は、そちらの記事を参照とさせていただきます。(すぺしゃるさんくす)
ユースケース「pyenv」で困った
私は業務で macOS を使っています。
2024年11月に Macbook Pro を買い替えたのですが、それ以降 pyenv install
にエラーが生じ、必要な Python がインストールできずローカル(macOS)で開発ができないままでした。
この度この macOS に Amazon Q Developer for CLI をインストールしたので、これを使って事象を解決することができました。
開始
pyenv インストールで、見慣れないエラーでインストールが失敗する事を確認したところから、q chat
で対応を開始。
以降の返答内容は、可読性を向上させるため一部省略しています。ご了承ください。
~ % q chat ⢠⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣶⣦⡀⠀ ⠀⠀⠀⣾⡿⢻⣿⡆⠀⠀⠀⢀⣄⡄⢀⣠⣤⣤⡀⢀⣠⣤⣤⡀⠀⠀⢀⣠⣤⣤⣤⣄⠀⠀⢀⣤⣤⣤⣤⣤⣤⡀⠀⠀⣀⣤⣤⣤⣀⠀⠀⠀⢠⣤⡀⣀⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠋⠀⠀⠀⠙⣿⣿⡆ ⠀⠀⣼⣿⠇⠀⣿⣿⡄⠀⠀⢸⣿⣿⠛⠉⠻⣿⣿⠛⠉⠛⣿⣿⠀⠀⠘⠛⠉⠉⠻⣿⣧⠀⠈⠛⠛⠛⣻⣿⡿⠀⢀⣾⣿⠛⠉⠻⣿⣷⡀⠀⢸⣿⡟⠛⠉⢻⣿⣷⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⢸⣿⣿ ⠀⢰⣿⣿⣤⣤⣼⣿⣷⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⢀⣴⣶⣶⣶⣿⣿⠀⠀⠀⣠⣾⡿⠋⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⡇⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⢹⣿⣇⠀⠀⠀⠀⠀⢸⣿⡿ ⢀⣿⣿⠋⠉⠉⠉⢻⣿⣇⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⣿⣿⡀⠀⣠⣿⣿⠀⢀⣴⣿⣋⣀⣀⣀⡀⠘⣿⣿⣄⣀⣠⣿⣿⠃⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⣀⣀⣴⣿⡿⠃ ⠚⠛⠋⠀⠀⠀⠀⠘⠛⠛⠀⠘⠛⠛⠀⠀⠀⠛⠛⠀⠀⠀⠛⠛⠀⠀⠙⠻⠿⠟⠋⠛⠛⠀⠘⠛⠛⠛⠛⠛⠛⠃⠀⠈⠛⠿⠿⠿⠛⠁⠀⠀⠘⠛⠃⠀⠀⠘⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⢿⣿⣿⣋⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⡧ ╭─────────────────────────────── Did you know? ────────────────────────────────╮ │ │ │ If you want to file an issue to the Q CLI team, just tell me, or run q │ │ issue │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ /help all commands • ctrl + j new lines • ctrl + s fuzzy search ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > 直前の pyenv でインストールに失敗しました。この原因を調査することはできますか?
q chat
のコマンド実行前に pyenv install 3.11.12
が失敗し、Python の特定のバージョンがインストールできませんでした。
その直後からのチャットになります。
以下のように返答してくれます。
pyenvでのインストールに失敗した原因を調査するために、まずエラーログや詳細情報を確認する必要があります。 まず、pyenvのインストール状況を確認しましょう。 🛠️ Using tool: execute_bash ⋮ ● I will run the following shell command: command -v pyenv ⋮ ↳ Purpose: pyenvコマンドが利用可能かどうかを確認 Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]: > t /usr/local/bin/pyenv ⋮ ● Completed in 0.12s pyenvはインストールされているようです。次に、最近のpyenvコマンドの実行履歴を確認してみましょう。 🛠️ Using tool: execute_bash (trusted) ⋮ ● I will run the following shell command: history | grep pyenv | tail -10 ⋮ ↳ Purpose: 最近のpyenvコマンドの実行履歴を確認 ⋮ ● Completed in 0.51s 履歴からは情報が得られませんでした。直前のpyenvコマンドの詳細とエラーメッセージを確認するために、以下の情報が必要です: 1. どのPythonバージョンをインストールしようとしていたか 2. 表示されたエラーメッセージ これらの情報がないと具体的な原因を特定するのが難しいです。一般的なpyenvでのインストール失敗の原因としては以下が考えられます: 1. 必要な依存パッケージが不足している 2. ビルドに必要なコンパイラやツールの問題 3. ダウンロードソースの問題 4. 権限の問題 macOSでpyenvを使用してPythonをインストールする際に必要な依存関係を確認してみましょう: 🛠️ Using tool: execute_bash (trusted) ⋮ ● I will run the following shell command: brew list | grep -E 'openssl|readline|sqlite|xz|zlib' ⋮ ↳ Purpose: macOSの依存パッケージの確認 openssl@1.1 openssl@3 readline sqlite xz ⋮ ● Completed in 0.95s 必要な依存パッケージはインストールされているようです。 より具体的な調査のために、以下の情報を教えていただけますか? 1. インストールしようとしたPythonのバージョン 2. 表示されたエラーメッセージ 3. 実行したコマンド(例:pyenv install 3.9.0など) これらの情報があれば、より具体的な原因と解決策を提案できます。 >
自律的に調査のために必要なコマンドを実行(利用者が実行を許可する必要があります)し、そこから得られた情報を使って仮説を立てています。
ここでは依存関係の調査を決定し、また自発的に調査を開始しました。
その結果、更に調査をするために必要な情報(実行したこと)をユーザー(私)に求めてきます。
その内容に私は回答します。
今回は、私が実行したインストールのコマンドと、その結果(エラーした全文)をペーストしています。
> ありがとうございます。pyenv インストールを実行したときのコマンドと結果を以下に貼り付けます。調査をお願いできますか?~ % pyenv install 3.11.12 python-build: use openssl@3 from homebrew python-build: use readline from homebrew Downloading Python-3.11.12.tar.xz... -> https://www.python.org/ftp/python/3.11.12/Python-3.11.12.tar.xz Installing Python-3.11.12... python-build: use tcl-tk from homebrew python-build: use readline from homebrew BUILD FAILED (OS X 15.5 using python-build 20180424) Inspect or clean up the working tree at /var/folders/6t/nt0t1sq55lq4q9z7ysv59bl80000gn/T/python-build.20250520193557.3416 Results logged to /var/folders/ .log Last 10 log lines: checking pkg-config is at least version 0.9.0... yes checking for --enable-universalsdk... no checking for --with-universal-archs... no checking MACHDEP... "darwin" checking for gcc... clang checking whether the C compiler works... no configure: error: in `/var/folders/ /Python-3.11.12': configure: error: C compiler cannot create executables See `config.log' for more details xcrun: error: unable to load libxcrun (dlopen(/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib, 0x0005): tried: '/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib' (no such file), '/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e'))).
これら入力したエラー文を解析し、調査を開始します。
原因特定(アーキテクチャーの不一致)
Amazon Q Developer for CLI は、このエラー文を解析し、原因を特定することができました。
エラーログを確認したところ、Pythonのビルドに失敗している原因が見つかりました。主な問題は「C compiler cannot create executables」というエラーと、 アーキテクチャの不一致に関するものです。 具体的には以下の問題が発生しています: xcrun: error: unable to load libxcrun (dlopen(/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib, 0x0005): tried: '/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) これはApple Silicon(ARM64)のMacで、x86_64アーキテクチャ用のコマンドラインツールがインストールされているために起きている問題です。OS X 15.5(macOS Sequoia)を使用されているようですが、コマンドラインツールのアーキテクチャが合っていません。 解決策としては以下の手順を試してみてください: 1. まず、現在のコマンドラインツールを確認します: 🛠️ Using tool: execute_bash (trusted) ⋮ ● I will run the following shell command: xcode-select -p ⋮ ↳ Purpose: コマンドラインツールのバージョンを確認 /Library/Developer/CommandLineTools ⋮ ● Completed in 0.17s 🛠️ Using tool: execute_bash (trusted) ⋮ ● I will run the following shell command: uname -m ⋮ ↳ Purpose: Macのアーキテクチャを確認 arm64 ⋮ ● Completed in 0.47s 問題が明確になりました。エラーメッセージとシステム情報から以下のことがわかります: 1. お使いのMacはarm64アーキテクチャ(Apple Silicon)です 2. しかし、CommandLineToolsはx86_64アーキテクチャ用のものがインストールされています 3. そのため、コンパイラ(xcrun)がarm64e向けに実行できず、Pythonのビルドに失敗しています 解決策は以下の通りです: 1. 現在のCommandLineToolsをアンインストールし、Apple Silicon(arm64)用の正しいバージョンを再インストールします: bash # 現在のCommandLineToolsを削除 sudo rm -rf /Library/Developer/CommandLineTools # 新しいCommandLineToolsをインストール xcode-select --install 2. インストールが完了したら、再度Pythonのインストールを試みてください: bash pyenv install 3.11.12 もし上記の方法でも解決しない場合は、Xcodeの完全版をApp Storeからインストールすることも検討してください。Xcodeには互換性のあるコンパイラツールチェ ーンが含まれています。 また、Homebrewを使用している場合は、Homebrewが正しくarm64向けにセットアップされているか確認することも重要です。 >
そうです。
この Macbook Pro は、2024年11月に買い替えたのですが、旧 Macbook Pro から新 Macbook Pro に移行する際、TimeMachine を利用しました。
その旧 Macbook Pro が Intel 版 Macbook Pro だったのです。(新 Macbook Pro は、Apple Silicon 版)
当然、プロセッサーのアーキテクチャーも変わっています。
インストールされているコマンドラインツール(CommandLineTools)は Intel 版だったので、そこで不整合が起きていたのが原因です。
これはなかなか気づきようがない。気づくのにも相当の経験値が必要です。
さらに通常だとまずやらない、コマンドラインツールの再インストールの手順も示してくれています。
私はその手順に従います。
> 別のターミナルを起動してやってみます。しばしお待ち下さい。 わかりました。別のターミナルで試してみてください。お待ちしております。 コマンドラインツールの再インストールは、Apple Silicon Mac向けの適切なバージョンを取得するために重要なステップです。問題が解決することを願っていま す。 何か結果が出ましたら、お知らせください。お手伝いします。 >
このあとインストールしていた Homebrew も x86_64 版だったため、エラーが発生し、対応に追われることとなりました。 その内容につきましてはここでは割愛します。
まとめ
Amazon Q Developer は開発者に限らず、技術的に困ったことを幅広に支援してくるツールです。
今まで時間を要していた調査や、変更に必要な手順なども効率化できる可能性が大いにあります。
しかし、
「どんな事ができるのだろう?」
「使うのこわいな」
「とっつきにくいな、やめとこ」
など、不明点やご不安な点があるかと思います。
わかったことを少しづつシェアできればと考えております。
Amazon Q Developer のご利用に際してご不安な方や、内容がイマイチ分からなかったという方あてに、当記事がお役に立てれば幸いです。
さいごに
まっ……。
時代は pyenv
ではなく、asdf
なんですがね……。
この開発環境作り変えも Amazon Q Developer for CLI で行うことができました。
ですが、それはまた、別のお話。