
はじめに
こんにちは、SRE部カート決済SREブロックの伊藤(@_itito_)です。普段はZOZOTOWNのカート決済機能のリプレイス・運用・保守に携わっています。また、DB領域でのテックリードを務めており、データベース周りの運用・保守・構築も担当しています。
ZOZOでは全社的に生成AIの活用が推奨されており、SRE部においてもAmazon Q Developer(以下、Q Dev)のPoCを実施しました。
本記事では、Q DevのPoCをどのように実施したのか、PoCを通じて得られた知見なども含めてご紹介します。
目次
Amazon Q DeveloperとKiroについて
まず本PoCで扱ったツールの全体像を整理します。Amazon Q Developer(以下、Q Dev)はAWSが提供するAI搭載の開発者向けアシスタントです。コード補完やチャットなどのIDE支援、CLI、AWSリソース管理といった機能を備えています。一方、KiroはAWSが提供するAI搭載の開発ツールで、Kiro IDEとKiro CLIの2つの製品で構成されています。
本PoCは、Q Devをターゲットとして開始しましたが、PoC期間中にKiroがGA(一般提供)され、Amazon Q Developer CLIがKiro CLIに改名されました(後方互換性あり)。本記事ではサービス全体をPoC開始時の名称に基づき「Q Dev」と表記しますが、CLIについては現行名称の「Kiro CLI」と表記します。
以下では、PoCで特に評価対象となったKiro CLIとKiro IDEの概要を説明します。
Kiro CLI
Kiro CLIは、Amazon Q Developer CLIを引き継いだターミナルベースのAIエージェントツールで、ターミナルからAIと対話しながら開発・運用作業を行えます。主な機能は以下の通りです。
- インタラクティブチャット:ターミナル上で自然言語を使い、コード生成やAWS操作を可能
- MCP統合:MCPサーバーを介して外部ツールと接続することで、AIの回答精度を向上させることが可能
- カスタムエージェント:使用するツールや権限、コンテキストを定義した設定ファイルを用意することで、特定のワークフロー向けに特化したエージェントを構築・実行
Kiro IDE
Kiro IDEは、VS Code互換のGUIベースの統合開発環境です。最大の特徴は仕様駆動開発(Spec-driven Development) です。プロンプトから直接コードを生成する「バイブコーディング」とは異なり、以下の3段階のワークフローで構造的に開発を進めます。
- Requirements(要件定義):ユーザーストーリーをEARS記法1で形式化した
requirements.mdを生成 - Design(設計):アーキテクチャやデータフローを記述した
design.mdを生成 - Tasks(タスク):実装タスクを細分化した
tasks.mdを生成し、追跡可能な形で管理
KiroのGA前は、Q Devの契約でKiro IDEが正式にサポートされるかは不明瞭でした。しかしGA時に正式にサポートが発表されたため、PoCの評価対象に含めることとしました。
PoCの概要
背景
弊社では、全社的に生成AIの活用が推奨されています。全エンジニアを対象に1人あたり月額200米ドルの基準のもと、開発AIエージェントの導入が許可されています。
SRE部でもClaude Codeを利用できる環境でしたが、AWSとの親和性の観点からQ DevのPoCを実施することとしました。Kiro CLIにはデフォルトでAWSリソースと連携できる use_aws ツールなどの機能が組み込まれています。そのため、リソース管理やトラブルシューティングでより優れた体験を得られると考えました。
PoC体制
| 項目 | 内容 |
|---|---|
| 期間 | 2025年11月〜2026年1月までの3か月間 |
| 対象 | SRE部37名 |
| 目的 | Q DevがZOZOTOWNの運用業務の効率化に有用か判断すること |
| 契約プラン | Amazon Q Developer Pro |
PoCの進め方としては、初期設定およびハンズオンをAWS社のサポートのもと実施した後、各メンバーに自由に使ってもらい、フィードバックを収集する形をベースとしました。2週間に1度の定例で各チームの代表者から利用状況やフィードバックを共有してもらいつつ、必要に応じてKiroに関する共有や追加のハンズオンを実施しながら進めました。

Kiro IDEのハンズオンにおいては、以下のような記事を参考に、仕様駆動開発の流れを体験してもらう内容としました。
利用状況の取得方法について
Q Devではダッシュボードを有効にすることで全体の利用状況を把握できますが、ユーザーごとの利用状況は確認できません。
そこで、ユーザーアクティビティレポートを有効にし、S3にCSVを出力して分析する方法を採用しました。
出力したCSVはAIツールに以下のようなプロンプトを渡して可視化しています。
S3バケット `{バケット名}` に保存されたAmazon Q Developerのユーザーアクティビティレポートをダウンロードして、この情報を可視化したHTMLファイルを以下の仕様で作成してください。
- IAM Identity Centerからユーザー情報を取得し、そのUserIDとcsvのUserIDをマッピングしてユーザー名を表示できるようにする
- 1つのHTMLの中に全ユーザーの情報が含まれていてユーザーをボタンで切り替えることができるようにする
- 土日は除外する
- 3ヶ月分まとめたデータを1つのグラフで見れるようにする
- Chat_MessageSentとChat_AICodeLinesにフォーカスしたグラフを作る。その際単位の違いを考慮して2軸とし、左軸がChat_MessageSent、右軸がChat_AICodeLinesとする

フィードバックと分析
各チームから集めたフィードバック内容はカテゴリ別に整理して分析しました。大きく分けると、Kiro CLI・Kiro IDEの2つの観点となり、それぞれについていくつか紹介します。
Kiro CLIの評価
Kiro CLIの使用用途としては、主に以下のようなものが挙げられました。
- CloudFormationなどのコード生成や修正
- AWSに限らないコードの生成や修正
- MCP経由でのAWSコスト確認
- AWSリソースやEKSで発生したトラブルの原因調査
デフォルトモデルの違いによる体感品質の差
今回のPoCでは、自由に使ってもらったうえでフィードバックを収集する形式としており、モデルや設定の制限は行っていないため、厳密な精度検証ができる状態ではありません。
その前提のもとで、「バイブコーディングで生成したコードの品質がClaude Codeよりも低いと感じた」という意見がありました。これはデフォルトモデルの違いに起因すると考えられます。
| 項目 | Kiro CLI | Claude Code |
|---|---|---|
| デフォルトモデル | Auto(自動切り替え) | Opus(最上位モデル固定)※Claude Maxプラン利用時 |
| モデル選択の方針 | コストパフォーマンスを重視し、タスクに応じて最適なモデルを自動選択 | Claude Maxプランではデフォルトで最上位モデルを使用 |
| 特徴 | コスト効率が高い | 一貫して高い生成品質 |
このデフォルト設定の違いが、体感的な品質差につながった可能性があります。
AWS操作の利便性について
前述の通り、本PoCのきっかけの1つはAWSとの親和性の評価でした。比較しながら使っている中で、例えば以下のような違いが見られました。
ケース例:EKS側の設定不備によってAWS FIS(Fault Injection Simulator)のアクション pod-cpu-stress が失敗した原因を調査する。
| ツール | プロンプト | 結果 |
|---|---|---|
| Kiro CLI | FIS のアクションpod-cpu-stressが失敗する理由を調べて。 | awsコマンドを実行し、実際のAWSリソースを調査した上で具体的な原因と修正手順を回答 |
| Claude Code | FIS のアクションpod-cpu-stressが失敗する理由を調べて。 | Web Searchなどを活用して一般的な知識に基づき回答 |
この結果だけを見るとKiro CLIの方がAWSとの親和性が高いように見えますが、Claude Code側のプロンプトに以下のように1文付け加えるだけで同様の結果が得られました。
| ツール | プロンプト | 結果 |
|---|---|---|
| Claude Code | FIS のアクションpod-cpu-stressが失敗する理由を調べて。awsコマンドはインストール済みで、AWS_PROFILEも設定済みです。 | awsコマンドを実行し、実際のAWSリソースを調査した上で具体的な原因と修正手順を回答 |
さらに、毎回プロンプトに付け加えなくても、MCPの設定や ~/.claude/CLAUDE.md に以下のように記載しておくだけで、同様にAWS操作を活用した回答が得られるようになります。
## ツール - AWS CLI (`aws`) はインストール済み。AWSのトラブルシューティング時に積極的に使用してよい
デフォルトの状態ではKiro CLIの方がAWS操作の利便性が高いと言えます。しかし、Claude Code側も簡単な設定次第で同等の操作が可能になるため、設定込みで比較すると大きな差は見られませんでした。
Kiro IDEの評価
Kiro IDEについては、仕様駆動開発(Spec-driven Development) が使用できるという点が大きな評価ポイントとなりました。
仕様駆動開発ではエージェントやプロンプトを調整せずにRequirements → Design → Tasksを構造化されたドキュメントとして自動生成してくれるため、以下のような点が評価されました。
- 開発プロセスのトレーサビリティ:要件・設計・タスクが構造化されたドキュメントとして残るため、なぜその実装に至ったのかを後から追跡しやすい
- 属人化の抑制:個人のプロンプト技術や暗黙知に依存せず、チームの誰が見ても開発の意図と経緯を理解できる
仕様駆動開発の活用事例
実際に仕様駆動開発が活用された例として、設計したアーキテクチャの妥当性を確認するための技術検証が挙げられます。この技術検証はインフラだけでなくアプリケーションの改修も含むもので、通常であればアプリケーションレイヤーとインフラレイヤーで担当者を分けて進めるものでした。
ここでKiro IDEのSpecモード(仕様駆動開発モード)が威力を発揮しました。アーキテクチャや設計方針が固まっている状態でそれをSpecに落とし込むことで、要件定義・設計・タスク分割が構造的に整理され、ゼロベースからの実装が非常に高速に進みました。結果として、通常は複数人で分担するような規模のPoCを1人で完遂でき、技術戦略の意思決定に必要な検証を迅速に行えました。
PoCの総括
PoCの結果、Kiro CLI自体は非常に便利なものの、既にClaude CodeなどのAIエージェントツールを利用している環境では、Kiro CLIだけでは追加導入の決め手としては弱いと感じました。
一方で、Kiro IDEの仕様駆動開発ワークフローは非常に好評でした。他ツールでも工夫次第で近い進め方は可能ですが、Spec→Design→Tasksが一貫して組み込まれた”デフォルト体験”として非常に高い価値があるという結論に至りました。
そのため、必要なメンバーがKiro IDEを追加で利用できる環境を整備するという方針としました。
Amazon Q Developer ProとKiroのプラン選定について
PoCはAmazon Q Developer Proで契約していましたが、本番導入にあたってはKiro Proを選定しました。両プランの比較は以下の通りです。
| Amazon Q Developer Pro | Kiro Pro | |
|---|---|---|
| 料金(月額) | US$19/月 | US$20/月 |
| 使用可能な機能 | Kiro CLI・Kiro IDE | Kiro CLI・Kiro IDE |
| 使用量の単位 | 1,000リクエスト(推論呼び出し10,000回が1,000リクエスト相当) | 1,000クレジット(1リクエスト≠1クレジット。消費クレジットはリクエスト内容により変動し、簡単なものなら1クレジット未満) |
| 超過時の扱い | リセットされるまで利用不可 | 上位プランへのアップグレードや従量課金の設定で利用を継続可能 |
| ユーザーアクティビティレポートに含まれる情報 | Kiro CLIでの使用量のみ | Kiro CLI・Kiro IDE両方の使用量 |
| 使用量リセット | 月次 | 月次 |
出典: Amazon Q Developerの料金プラン, Kiroの料金プラン (2026年3月5日現在)
料金差はKiro Proの方が月額1ドル高いですが、以下の2点を重視してKiro Proを選定しました。
- クレジット枯渇時の柔軟性:Amazon Q Developer Proではクレジットを使い切ると翌月のリセットまで利用できなくなる。一方、Kiro Proでは上位プランへのアップグレードや従量課金の設定により利用を継続できるため、業務が止まるリスクを回避できる。
- 利用状況の可視性:Amazon Q Developer ProのユーザーアクティビティレポートにはKiro CLIでの使用量しか含まれず、Kiro IDEでの使用量を把握できない。Kiro ProではKiro CLI・Kiro IDE両方の使用量がレポートに含まれるため、チーム全体の利用傾向を正確に把握できる。
まとめ
本記事では、SRE部で実施したAmazon Q DeveloperのPoCの進め方と結果についてご紹介しました。
Amazon Q Developer/Kiroの導入を検討している方や、Kiroを使おうとしている方の参考になれば幸いです。
ZOZOでは、一緒にサービスを作り上げてくれる方を募集中です。ご興味のある方は、以下のリンクからぜひご応募ください。
- Easy Approach to Requirements Syntaxの略。「WHEN〜, THE SYSTEM SHALL〜」(「〜の場合、システムは〜しなければならない」)などの定型文で要件を自然言語で記述する手法。↩