Kiroをはじめよう!
Kiro、使ってますか?
この記事では、Kiroを使ってみたい!という方々に向けて、初期設定のやり方や仕様駆動開発のやり方、やってみた感想を共有します。皆様の一助になれば幸いです。
Kiroとは?
AWSが提供するAI IDEです。CLIからの利用もできます。
Vibe Codingのみならず、仕様駆動開発(Specification-Driven Development、SDD)を支援してくれるツールです。
仕様駆動開発とは、最初に仕様を明確に定義して、その仕様を基にしてソフトウェアの設計、実装、テストを行う開発手法です。AIがよくわからないコードを吐き出してきた!というのを防ぐことができます。AIは非常に強力なツールである一方、内容の不透明さが問題に上がることが多々あります。これをできるだけ防ぐ手法として、仕様駆動開発は非常に有効であると言えます。
また、アイコンが非常にかわいいです。ぬいぐるみとかほしいですよね。
開発環境
- 開発環境:Windows 11
- 開発言語:Python
- データベース:PostgreSQL
- Webフレームワーク:Flask
インストールしよう
早速、公式サイトから自分の環境にあったインストーラーをダウンロードしましょう。
Windowsの人はDownload for Windows(x64)と書かれているボタンをポチっと押すだけです。
ダウンロードできたら、インストーラーをダブルクリックで実行し、インストーラーの指示通りにインストールをしていきます。
サインインしよう
インストールが完了したら、Kiroくんはサインインしてねと言ってきます。
サインインは公式サイトの右上のボタンからできます。
サインインするアカウントGoogle、GitHub、Builder IDから選べます。私はGitHubにしました。
サインインできたら以下画像のような画面が出てきます。
最初はKIRO FREEで無料だけれども一か月あたり50クレジットしか使えないプランが選択されています。50クレジットは月ごとに付与されるので、無料で使ってみるくらいであればこのプランで問題ないと思います。
また、初めて使う人は500クレジット付与があります。AWSカードマーン!今ならなんと、500クレジットついてくる!あ、今回の検証では100クレジット前後を使用しました。
日本語化しよう
早速開発をしよう!と言いたいのですが、Kiroの画面を開いたらEnglishの世界が広がっています。Englishは非常にむつかしいため、日本語化していきましょう。
ctrl+shift+Xで拡張機能を開きます。
検索画面にjapaneseと入力すると、おなじみのJapanese Language Pack for Visual Studio Codeくんがいます。VSCodeを使ったことがある人には非常になじみ深いのではないでしょうか。早速インストールしましょう。
これでばっちりだぜと思いきや、KiroのチャットはEnglishをしゃべることがあります。許せませんよね。なので、Agent Steeringというものを設定します。
左メニューにあるKiroのアイコンをぽちっと押します。こいつです。かわいいね。
そしたら、Agent Steeringというメニューがあるので、右側の+ボタンをぽちっと押します。
すると、steeringなるものを設定できるという画面が出てくるので、「Global agent Steering」をぽちっと押しましょう。
お名前を入力です。「language_policy」とでも書いておきましょう。
そうすると、謎のマークダウンファイルが作られます。これに設定を書いていけばいいということですね。
以下のようにマークダウンを書いていきます。コピペできると思うので活用してください。
# Steering: ドキュメントとKiroの回答は日本語で出力する
## 目的
Kiroが生成する文書およびユーザーとのやり取りの言語方針を明確化し、日本国内の利用者にとって理解しやすいコミュニケーションとドキュメントを一貫して提供する。
## スコープ
- **Kiroの回答**: ユーザーとのすべてのやり取り、説明、提案、エラーメッセージの説明
- **プロジェクト文書**: 要件定義、基本/詳細設計、運用手順、README、API仕様、トラブルシューティング、セットアップ手順、テスト計画、ユーザーガイド、リリースノートなど
## 方針
### 1. **Kiroの回答は日本語で行う**
- ユーザーとのやり取りはすべて日本語で行う
- 技術的な説明や提案も日本語で提供する
- エラーメッセージの説明も日本語で行う
### 2. **ドキュメントはすべて日本語で記述する**
- 技術用語は必要に応じて適切な日本語訳を併記し、表記を統一する
- 見出しレベル、番号付き手順、強調の使い方を統一する
- 誤字脱字チェック、初心者にも理解できる説明を行う
### 3. **技術用語の扱い**
- **英語のまま使用**: AWSサービス名(S3、Lambda、EC2など)、技術スタック名、プログラミング言語名、フレームワーク名
- **日本語化**: 一般的な技術概念や操作手順の説明
### 4. **コード内識別子は英語可**
- 変数名・関数名・クラス名などは可読性を優先し英語を許容する
- コードコメントは日本語で記述する
## 禁止事項
- 文書の英語のみ記述(利用者向け最終成果物)
- Kiroの回答を英語で行うこと
- 表現・用語の統一ルールからの逸脱
- AWSサービス名や技術スタック名の不適切な日本語翻訳
開発しよう
ようやく開発ができます。
KiroのチャットにTODOアプリを作りたい!と書いてみます。
おお、色々教えてくれと返ってきました。色々と指定しておきましょう。
Kiroの動きを見ているとわかるのですが、要件定義書→設計書→タスクリストの順番に作成されていきます。ドキュメントで言うと、requierment→design→tasksです。これが仕様駆動開発たるゆえんということですね。続けて設計書、タスクリストの作成をお願いしましょう。
タスクリストの作成後、全部のタスクをやるか、一部のテスト等をオプションとしてやらないかを選んでくれと言われます。もちろん全部やらせます。ついでにエラーハンドリングの正常性もちゃんと見てねと言っておきましょう。
タスクリストを確認し、GOです!
一旦止まってくれるのうれしいかも、全部やってくれ!Kiro!
この後はタスクを粛々とこなしていってくれます。モジュールがインストールされていなかったりすると、このコマンドを実行すればいいよと教えてくれます。親切ですね。
ちなみに、Kiroのアイコンはたまにきょろきょろしたり瞬きしたりします。かわいいね。
あとは以下のような感じでテスト実行だけこっちにお願いしてくるので、その時点でやばそうな処理等がなければテスト実行をぽちっとしていきましょう。もちろんテストまで全部やってくれということもできますが、一旦立ち止まって考える猶予を与えてくれるのは非常にありがたいですよね。AI駆動開発を行っていると、AIが破壊的な操作を行ってしまうということが話題になっています。Kiroは一度立ち止まって確認してくれるステップがあるため、AIの暴走は防ぐことができそうです。
動作確認
テストをたくさん行わせたせいでだいぶ時間がかかってしまいましたが、ようやくできました!
PostgreSQLって入ってますか?入ってるならデータベースを作りましょうと言われます。コマンドあるのありがたいですね。
データベースができたことを伝えると、いざ起動しようと言われます。ドキドキです。
うおおおおおおお!Kiro鬼つええええ!
ちゃんと作成できました。
簡単にスクリプトが入力されるケースを想定した文字列でTODOを作成してみましたが、スクリプトがそのまま実行されないことが確認できました。
成果物
最終的に、以下のファイルが作成されました。
todo-app/
├── コアアプリケーション
│ ├── app.py # Webアプリケーション(プレゼンテーション層)
│ ├── todo_service.py # ビジネスロジック層
│ └── database.py # データアクセス層
│
├── データベース
│ └── schema.sql # データベーススキーマ定義
│
├── フロントエンド
│ └── templates/
│ └── index.html # メインページHTMLテンプレート
│
├── テストコード
│ └── tests/
│ ├── test_database.py # データアクセス層のテスト
│ ├── test_todo_service.py # ビジネスロジック層のテスト
│ ├── test_properties.py # プロパティベーステスト
│ ├── test_app.py # Webアプリケーションのテスト
│ ├── test_database_crud.py # CRUD操作のテスト
│ ├── test_error_handling.py # エラーハンドリングのテスト
│ ├── test_integration.py # 統合テスト
│ └── __init__.py # テストパッケージ初期化
│
├── 設定ファイル
│ ├── requirements.txt # Python依存関係
│ ├── pytest.ini # pytest設定
│ ├── .env # 環境変数(機密情報)
│ ├── .env.example # 環境変数テンプレート
│ └── .gitignore # Git除外設定
│
└── ドキュメント
├── README.md # プロジェクト説明書
└── DELIVERABLES.md # 成果物一覧
.kiro/specs/todo-management-app/
├── requirements.md # 要件定義書
├── design.md # 設計書
└── tasks.md # タスク一覧
## 外部依存関係
### ランタイム依存
1. **Python 3.8+**: プログラミング言語
2. **PostgreSQL 12+**: データベース管理システム
3. **Flask 3.1+**: Webアプリケーションフレームワーク
4. **psycopg2-binary 2.9+**: PostgreSQLアダプタ
5. **python-dotenv 1.0+**: 環境変数管理
### 開発・テスト依存
1. **pytest 7.4+**: テストフレームワーク
2. **hypothesis 6.92+**: プロパティベーステストライブラリ
3. **pytest-cov 4.1+**: テストカバレッジ測定
結びに
今回はKiroのインストールから仕様駆動開発を実際に試してみました。
Kiroには、設計の意図を要件定義書・設計書で伝えられる+実行確認による一時停止があることで、AIの暴走リスクを抑えて開発をすることができそうだと考えています。
私としても、今後はさらにいろいろ開発してみたいなと思っています。普段使っていないライブラリや言語であっても一緒に作っていってくれると言った点で、AIはとても頼りになる存在だと思っています。
今後のAIの動向を見守りつつ、AIと一緒にこの時代を歩んでいけたらなと思っています。
参考資料

























