世界一詳しいAWSのAI IDE KIROの使い方徹底解説

世界一詳しいAWSのAI IDE KIROの使い方徹底解説

こんにちは。この記事ではKiroで1500クレジットを消費して得た知見を全て記載します。誇大なタイトルにしてしまいましたが、この記事は1700 wordsを超える内容となっていますので少しでも参考になれば幸いです。これを機に、AI IDE KIROの素晴らしさを感じていただけると嬉しいです!10月30日現在KiroはGAされ、claude-sonnet-4.5を無料で使えるタイミングなので、ぜひ使ってみてください。

Kiroとは

Kiroのトップページに記載されているこの説明が、すべてを物語っています。

要するにKiroとはプロトタイプを一気に仕上げることにも向いていますし、既に本番利用されているプロダクトの開発にも対応ができるAI IDEとなっています。

どういうことか?

既存のAI駆動開発

既存のAI駆動開発ではプロンプトを元に機能を開発し、人がテストをしてダメだったらプロンプトを書き修正を行っていました。その後、プロンプトから生成AIが作業をする前に必ず確認するドキュメントが設定できるようになったり、テストが成功するまで修正を続けるなどのinstructionができるようになりました。また、MCPのcontext7で最新のパッケージの情報を取得したり、playwright MCPでフロントの画面テストをしながら生成AIで開発など様々なMCPを使って開発ができるようになりました。

しかし、課題もありました。プロトタイプを一気に作るには事前に精密なドキュメントを用意する必要があり難しい。既存のリポジトリの状態を把握させたり、ドキュメントのアップデートが大変。テストを良い感じに作ってくれない。プロンプトのタスクを実行した後にやってほしいことが複数あっても、対応してくれない。といった難しさや面倒くささもあったかと思います。

既存のAI駆動開発

Kiroのスペック駆動開発

Kiroでは、スペック駆動開発という開発方法を用いることでこれらの課題に対応しています。スペック駆動開発とは仕様を明確に定義した後に、設計、実装、テスト、ドキュメント化までを一貫して行う開発手法です。

具体的には、プロンプトを元に要件を確定させ、その後設計、タスクへと落としていきます。プロトタイプ開発であれば、「〇〇といったウェブアプリを作りたい。」くらいのプロンプトから要件を洗い出してくれます。そのまま、設計、タスクを言われたまま進めればそこそこ良い感じものを作ってくれます。これにはテストもドキュメントもタスクの中に含まれています。

次に、本番稼働しているようなプロダクトであれば、まずは既存のリポジトリの状況を把握する必要があります。AGENT STEERINGで既存のコードの状態を分析しドキュメント化してくれます。その後、生成AIとやりとりをしながら要件、設計、タスクまでを確定、タスクが完了したらAGENT HOOKでコードの品質確認やテスト、ドキュメントの更新などを行うことが可能です。

KIROのスペック駆動開発

具体的な使い方

さて、冒頭が長くなりましたが、ここから具体的な使い方をご紹介したいと思います。

Kiroのセットアップ

以下よりダウンロードしてセットアップを行ってください。

Downloads
Kiro - the AI IDE for prototype to production

Kiroの画面

Kiroを開くと左側にKiroのお化けマークのアイコンがセットされています。これにはSPECS, AGENT HOOKS, AGENT STEERING, MCP SERVERSが設定できます。右側には一般的なVibeコーディングモードとSpec駆動開発モードが使えるようになっています。

Kiroの設定

まずは、Kiroの設定を行なってください。左下の歯車マークから設定を開きます。ここでやって欲しいのが、Trusted Commandsの設定でこれを全許可することで、コマンド実行を逐次承認する必要がなくなります。※ただし、各自の判断で行なってください。

Trusted Commands

また、通知の設定も便利なので、入れても良いと思います。

AGENT STEERING

AGENT STEERINGとはKiroがプロンプトを元にタスクを実行する際に必ず読み込まれるドキュメントです。最初にAGENT STEERINGを作るとproduct, structure, techという3つのドキュメントが作成されます。※空のリポジトリでは作れません。

product:プロダクトの概要、目的、主要な機能

structure:フォルダ構成、命名規則、インポートパターン、アーキテクチャ

tech:使用するフレームワーク、ライブラリ、言語、開発ツール

最低限これらファイルを管理することで生成AIが今までと全く異なるコードを書くということを防げます。

他にもKiroは標準が英語となっているのですが、STEERINGファイルを用意することで日本語対応ができます。

---
inclusion: always
---

# 日本語コミュニケーションガイドライン

## 言語使用ルール

### ドキュメント・コミュニケーション
- **ユーザー対話**: 日本語で質問された場合は日本語で回答
- **仕様書・設計書**: `.kiro/specs/` 配下のファイルは日本語で記述
- **README・ドキュメント**: プロジェクト説明は日本語優先
- **エラーメッセージ**: ユーザー向けメッセージは日本語で表示
- **コミュニケーション**: 回答は常に日本語で行う
- spceモードの出力は常に日本語で行う
- .kiro/ のドキュメントは常に日本語で行う
- taskで作成するドキュメントは常に日本語で行う

### コード規約
- **命名**: 変数・関数・クラス名は英語(PEP 8 準拠)
- **コメント**: Python コード内は日本語コメント
- **外部API**: ライブラリ名・API名は英語のまま使用
- **技術用語**: 不自然な日本語訳は英語併記

### ログ出力
- デバッグ情報: 英語可
- ユーザー向けメッセージ: 日本語必須

STEERINGファイルを更新する際はファイルを選択し、Refineを行うか、セッションからSteeringを選択しプロンプトで指示を行うことができます。

AGENT STEERINGの更新

MCP SERVERS

MCP(Model Context Protocol)とはAIと外部のツールやデータソースを接続するためのプロトコルです。これを使うことで専門的な情報を確認したり、公開されているAPIやツールに自然言語でアクセスできるようになります。

MCP.jsonはRoo CodeなどのMCP設定と同じく、MCP.jsonで管理されているので、左下のペンアイコンでMCP.jsonを開き、Roo CodeなどのMCP設定をそのまま使うことが可能です。加えて、MCPのツール単位でdisableすることも可能です。

MCP SERVERSの設定

AGENT HOOK

AGENT HOOKSとはIDEで特定のイベントが発生したときに定義済みのエージェントアクションを実行する自動トリガーです。トリガーは4種類(ファイル作成、ファイル保存、ファイル削除、手動)となっています。トリガーが起動は特定のファイルや特定のディレクトリを指定することも可能です。

AGENT HOOKSをはじめに使う際に3つアクションが簡単に作成できるようになっています。(Update my documentation, Optimize my code, Language localization)他にもテストカバレッジを確認したり、MCPも使いつつ外部データ整合性を保つことも可能です。

hookを設定するとKiroのアクションだけでなく、他の生成AIや人が修正した際にもトリガーが起動します。

AGENT HOOKSの作成方法

AGENT HOOKSで作成を実行すると、“Creating hook:~”というプロンプトが入力され、真ん中のファイルが作成されます。作成された画像は以下です。

hookは左側のvisibleマーク、または中央上部のHook enabled設定でで有効・無効の設定ができます。作成後にも追記やトリガー設定の変更が可能です。また、AGENT HOOKSの作成は英語になってしまうようなのですが、プロンプトで日本語にしてほしい旨を伝えると日本語にしてくれます。AGENT STEERINGは右クリックで削除できますが、AGENT HOOKSはファイルを開かないとできません。

作成されたAGENT HOOKS

SPEC モード

製品の概念的な要件と技術的な実装の詳細との間のギャップを埋め、整合性を確保し、開発の反復を削減します。Kiroは、各仕様の基盤となる3つの主要ファイルを生成します。

requirements.md - 構造化されたEARS表記法でユーザーストーリーと受け入れ基準を記述します。

design.md - 技術アーキテクチャ、シーケンス図、実装上の考慮事項を文書化します。

tasks.md - 個別の追跡可能なタスクを含む詳細な実装計画を提供します。

SPEC モードとはSPEC駆動開発を行う機能です。説明にもあるとおり、従来のAI開発で辛い整合性の確保と反復性の削減を実現します。まさにウォーターフォールが想起される開発方法です。ただし、SPEC駆動開発はウォーターフォールよりも要件は小さく、はるかに短いですし、Spec(仕様)を追加・修正することで反復的に開発が可能です。

Spec(仕様)→ 開発→ ドキュメント更新→ Specに要件追加・修正→ AIが再設計・再実装(=反復可能)

始め方ですが、左側かもしくは右のチャット側で初期プロンプトを入力することで始めることができます。

SPEC駆動開発の始め方

実際のRequirements(要件)はWorkshopのサンプルを用いて説明します。内容は以下のようになっています。

はじめに:Specの概要

要件:ユーザーストーリーが要件として記載

受け入れ条件:WHEN(WHILE) どういった時に THEN  誰が SHALL どういうアクションをするか 構文で全て記載。日本語も同様

引用1

次にdesign(設計)です。ユーザーベースの要件から開発の設計に則したものに変換されました。mermaidでアーキテクチャを記載されていたりと、わかりやすいものになっています。ここで実装のためのコードイメージが作成されます。

引用2

最後にtask(実行計画)です。ここではRequirementsで記載された要件が具体的にどのタスクになっているのか確認することができます。実行されたTaskはTask competedとなり、実行することができるtaskにはStart taskと表示され、その中でも実装が必須ではないタスクはMake task requiredとなっています。以下のようにドキュメントを直接編集することも可能です。

- [x] Task completed
- [ ] Start task
- [ ]* Make task required

ベストプラクティスとしては以下のようになっています

1つのリポジトリには、必要な数の仕様を含めることができます。コードベース全体に1つの仕様を持つのではなく、プロジェクトのさまざまな機能ごとに複数の仕様を作成することをお勧めします。

たとえば、eコマースアプリケーションでは、次のように仕様を整理できます。

.kiro/specs/
├── user-authentication/       # Login, signup, password reset
├── product-catalog/           # Product listing, search, filtering
├── shopping-cart/             # Add to cart, quantity updates, checkout
├── payment-processing/        # Payment gateway integration, order confirmation
└── admin-dashboard/           # Product management, user analytics

taskが多く必要な場合、taskが作られた後に右のチャットに以下の質問がされます。タスク次第ですし、どちらでも問題ないですが、Specモードは大量のコードを生成するため、多くの場合はMVPから始めるのがおすすめです。

taskが完成したら、Spec(仕様)作成が完了したので、出来上がったtaskを実行していくことで開発を行います。ファイルを開いてStart taskボタンをクリックしても良いですし、チャットで全てを実行してもらうことができます。この時に、様々なコマンドを実行するため、途中で止まらないようにするには大きな権限をKIROに与える必要があります。

Vibe モード

Vibeモードはインタラクティブな開発をしたい場合に使用することが可能です。ただし、KIROは逐次的にプロンプトを処理するため、現在対応中のタスクをCURRENT TASKSに待機中のタスクはキューに入ります。

そのため、SpecモードとVibeモードを同時に使用することはできません。SpecモードをKIROが実行しているときにVibeコーディングをしたい方はデフォルトで使えるようになっているAmazon Qを使用してください。今ならclaude-sonnet-4.5を無料で使えます。

なぜKiroは一つずつタスクを実行するのか

KiroのSpecモードはRequirementsからtaskの実行まで2時間程度かかります。これは一つずつタスクを実行していくためです。では、並列でできないのか?

おそらく今後も難しいと思います。理由としては個人のワークスペースは並列でコーディングするように出来ていません。gitで管理する以上難しいと思います。もちろんワークスペースを複数立ち上げてRequirements単位で並列で行うことは可能だと思います。

ただ、Kiroを使っていて感じることはボトルネックになるのはレビューなので、並列で実行したいという要望が出るのはまだ先かなという所感です。

まとめ

いかがでしたでしょうか?
少しでも知らない使い方を知って頂けたなら嬉しいです。
また、まだ使ったことがない方は騙されたと思って、一度使ってみてください。
Kiroのワークショップもあるのでぜひ触ってみてください。

参考

Kiro のご紹介 – プロトタイプからプロダクションまで、あなたと共に働く新しい Agentic IDE | Amazon Web Services
コンセプトからプロダクションまで、AI エージェントとの作業を簡素化した開発者体験を通じて開発を支援する AI IDE(統合開発環境)、Kiro の発表を嬉しく思います。Kiro は Vibe Coding ”も” 得意ですが、それをはるかに超えています。Kiro の強みは、スペック (spec) やフック (hook) などの機能を使って、これらのプロトタイプをプロダクションシステムに移行することです。
Workshop Studio
Discover and participate in AWS workshops and GameDays
Get started - Docs - Kiro
An agentic IDE that helps you do your best work
【決定版】AWS発 Agentic AI IDE Kiro 徹底解説 & 導入完全ガイド - Qiita
【決定版】AWS発 Agentic AI IDE Kiro 徹底解説 & 導入完全ガイド(2025-07-17) 「Vibe Coding」から「Viable Code」へ。気分で書いたプロトタイプを、仕様付きでちゃんと“製品”に持っていく。その道筋をゴーストが引いてく...
最新のAI駆動開発ツール「Kiro」を徹底解説!!