🥸

実践から学ぶ Amazon Q Developer CLI:チーム開発でのAI活用事例

に公開

はじめに

私のチームでは、Amazon Q Developer Pro を実際の開発サイクルに本格的に組み込むトライを始めました。本記事では、その実践の中で見えてきた具体的な活用方法やノウハウをピックアップして紹介していきたいと思います。

「AIツールを導入したけど、どう使えばいいかわからない」「個人では使っているけど、チームでの活用方法が定まらない」という方の参考になればいいなと思います。

特に、実装フェーズにおけるAI活用の全体方針から、具体的なコマンドの使い方、実験的機能の紹介まで、実際に試行錯誤しながら見つけた実践的な内容を紹介します。

前提:Amazon Q Developer Pro の利用開始

Amazon Q Developer Pro を利用するには、AWS Organizations での契約とセットアップが必要になります。
詳細な手順については、AWS公式ドキュメントを参照するのがよいと思います。

利用開始後は、AWS IAM Identity Center(旧AWS SSO)を通じてアクセスできるようになります。

初期設定:デフォルトモデルの変更

Q CLI のデフォルトモデルを変更したい場合は、以下のコマンドで設定できます:

q settings chat.defaultModel [モデル名]

これにより、より高性能なモデルを使用できるようになります。

今ですと一番よいモデルは claude-sonnet-4.5 なので、それを設定しています。最新の推奨モデルは公式ドキュメント等でご確認ください

AI活用の全体方針

チームでAI活用を本格的に組み込むにあたり、まずタスクの複雑さに応じた対応方針を整理しました。

タスクの分類と対応方針

単純な内容(実装方法が明確で修正箇所もシンプル)

  • q chat で対象箇所を指定して直接修正してもらう
  • あるいはわからない部分だけ聞いて自身で修正してしまう

複雑な内容(単純な内容以外)

  1. まずは実装計画を立てる
  2. ステップ数が少なければそのまま実装に移る
  3. ステップ数が多ければToDo化してからAIに対応してもらう

まずはこのように整理し、従来の開発サイクルを回す中にAIを主体として実装するような仕組みを組み込み、人間側はレビューやAIが行うことの理解をしっかりと行うような進め方としました。

基本コマンド集

q chat では、コンテキストウィンドウを効率的に管理することが重要です。Ctrl + S でコマンド一覧を確認することができます。今回は使ってみたコマンドや試していきたいコマンドをピックアップして紹介します。

会話管理の基本コマンド

/clear

  • 会話履歴を完全に消去
  • 文脈的に必要な会話がないときに使用

/compact

  • 会話履歴を要約して圧縮
  • 継続して利用したいときに使用

/usage

  • コンテキストウィンドウの使用率を確認
  • 70〜80%になると回答精度が悪くなるため、定期的にチェック

コンテキストウィンドウの管理

コンテキストウィンドウの使用率は常に意識する必要があります。実験的機能として/experiment からの Context Usage Indicator を有効にすると、常に使用率を確認できるようになります。

使用率が70〜80%を超えると回答精度が悪くなるため、/clear/compact でうまくコントロールできます。

シェルコマンドの実行

q chat の中でシェルコマンドを実行したい場合は、コマンドの最初に ! をつけます:

!ls -la
!git status

チャットでやり取りしている最中にちょっとコマンドを打って確かめたい時に、わざわざターミナルを切り替えることなく使える便利な機能です。

会話の保存と復元

AWSのセッションが切れて再接続したとき、コンテキストウィンドウの使用率はセッション単位で管理されるため、再度繋ぎ直すと会話の内容もクリアされます。

しかし、これまでの会話を残したい場合は以下のコマンドを使用します:

# 会話を保存
/save [ファイル名]

# 会話を復元
/load [ファイル名]

会話内容が現在のパスに保存され、後で復元できます。

プロンプトの再利用

/prompts
 create で保存

同じ質問を繰り返し使う場合、プロンプトを保存しておくことで効率化できます。

実験的機能の活用

/experiment コマンドで実験段階の機能を有効にできます。面白いコマンドがあるのでいくつか紹介します。

Thinking

/experiment
→ Thinking を ON にする

効果:

  • 回答精度を向上させる
  • AIが一旦推論フェーズを挟んでから回答してくれる
  • 複雑な問題に対してより適切な解決策を提示

ToDo Lists

/experiment
→ Todo Lists を ON にする

使い方:
AIにToDoリストを作成させ、上から順に進めてもらうことができます。複雑なタスクを段階的に実装する際に非常に有効です。

Tangent Mode(脇道モード)

/experiment
→ Tangent Mode を ON にする
/tangent

特徴:

  • 「脇道に逸れる」ためのモード
  • 会話を引き継ぎつつ、分岐して質問できる
  • 開発者が理解した上でToDo化したい場合に有効

使用シーン:
実装計画に時間をかけてToDoの精度を上げたいとき、このモードで理解を深めます。AIが間違えたことをやらないように、人間側がレビューしているか、理解しているかを確認しながら進められます。

注意点:

  • コンテキストウィンドウの使用率は上がる
  • もう一度 /tangent を打つと、脇道で聞いた使用分は無くなって元の会話に戻る

Checkpoint

/experiment
→ Checkpoint を ON にする

使い方:

# 最初にチェックポイントを初期化
/checkpoint init

# チェックポイント一覧を確認
/checkpoint list

# 特定のチェックポイントに戻る
/checkpoint restore [番号]

効果:
これまでは git の変更を取り消したり、q dev で undo を繰り返したりしていましたが、q chat 上でも変更履歴を管理できるようになります。

Delegate

/experiment
→ Delegate を ON にする

特徴:
デリゲート機能を使うと、タスクをバックグラウンドで実行させながら、開発者は別の作業を進めることができます。特に:

  • 時間のかかる単純作業を任せられる
  • 並行して他のタスクに取り組める
  • 完了後に結果を確認・レビューできる

使い方:
自然言語で「〜をバックグラウンドで実行して」や「Pythonでテストを書くタスクを委譲して」といった形で依頼することができます。

カスタムエージェントの活用

Amazon Q Developer CLI では、カスタムエージェントを作成して、特定の開発領域に特化したAIアシスタントを構築できます。

カスタムエージェントとは

Model Context Protocol (MCP) を使って、特定のツール、プロンプト、コンテキスト、ツール許可をまとめたカスタムエージェントを作成できます。

例えば、フロントエンド開発やインフラ管理に特化したエージェントを作成することで、より適切な支援を受けられます。

カスタムエージェントの作成

# 現在のプロジェクトを読み込んで必要なMCPサーバーを提案してもらう
今からフロントエンドWeb開発用に最適化されたカスタムエージェントを作成したいと考えている。
どういう風に作成するべきか方針を教えてほしい

# エージェントを生成
/agent generate

# エージェントファイルの保存場所
.amazonq/cli-agents/
または
~/.aws/amazonq/cli-agents/

MCPサーバーの設定例

フロントエンド開発向け

chrome-devtools:

"chrome-devtools": {
  "command": "npx",
  "args": ["chrome-devtools-mcp@latest"]
}

context7:

"context7": {
  "command": "npx",
  "args": ["-y", "@upstash/context7-mcp@latest"]
}

frontend-mcp-server:

"awslabs.frontend-mcp-server": {
  "command": "uvx",
  "args": ["awslabs.frontend-mcp-server@latest"],
  "env": {
    "FASTMCP_LOG_LEVEL": "ERROR"
  },
  "disabled": false,
  "autoApprove": []
}

インフラ管理向け

Terraform MCPなど、インフラコードの操作に特化したMCPサーバーを組み込むことで、Terraformファイルの理解や編集がより適切に行えるようになります。

terraform-mcp-server:

 "awslabs.terraform-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.terraform-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }

その他

github:

"github": {
  "type": "http",
  "url": "https://api.githubcopilot.com/mcp/",
  "headers": {
    "Authorization": "Bearer ${input:github_mcp_pat}"
  }
}

参考資料

カスタムエージェントの詳細については、以下のAWS公式ブログが参考になります:

Amazon Q Developer CLI カスタムエージェントで開発の混乱を乗り越えよう

今後の展望

今回は基本的なTips から実験的機能も紹介させていただきました。

今後は:

  • 実装フェーズだけでなく設計〜テストあらゆる工程でAI活用を試みる
  • 各領域のカスタムエージェントの精度をさらに高める
  • チーム全体での活用事例を蓄積し、ベストプラクティスを確立する

これらの実践を重ねながら、チーム内で知見を共有し、より効果的な活用方法を模索していきたいと思います。

まとめ

チームの開発サイクルにAmazon Q Developer CLI を本格的に組み込むトライの中で見えてきた活用方法のポイントをまとめます:

基本方針

  • 単純なタスク:直接修正を依頼
  • 複雑なタスク:実装計画 → ToDo化 → 実装

コンテキスト管理

  • 使用率を常に意識(70〜80%で精度低下)
  • /clear/compact で使用率を効率化する
  • /save/load で会話を保存・復元

実験的機能の活用

  • Thinking:回答精度の向上
  • ToDo Lists:複雑なタスクの段階的実装
  • Tangent Mode:理解を深めながら進める
  • Checkpoint:変更履歴の管理
  • Delegate:タスクのバックグラウンド実行

カスタムエージェント

  • MCPサーバーを組み合わせて特化型エージェントを構築
  • フロントエンド、バックエンドなど領域ごとに最適化

AI活用は日々進化しており、新しい機能や使い方が次々と登場しています。チームでの実践を通じて、試行錯誤しながら最適な活用方法を見つけていくことが重要だと感じています。

本記事が、同じようにチームでのAI活用を模索している方々の参考になれば幸いです。

Discussion