Kiroとは
Kiroは、AIエージェントと連携して開発作業を支援する、次世代のエージェント型IDE(統合開発環境)です。
従来のコード補完ツールとは異なり、Kiroは開発者の意図やプロジェクトの文脈を理解し、自然言語での指示やプロジェクト内のイベントに応じて自動で行動します。
使ってみた感想
kiroを実際に使ってみると、全体的にスペックを決めて、開発ルールを策定して、
その後にAIが生成したものをレビューする、という流れに多くの時間を割くように感じました。
実際の実装時間配分としては、おおよそ
-
スペック決定・開発ルール策定 7
-
レビュー 2
-
実装 1
といった割合になります。
ルール策定に関しては、steering file
というアプローチが用意されています。
これは、プロジェクトの規範(ファイル構成・命名規則・アーキテクチャ方針など)を複数のファイルに分割し、
AI が状況に応じてどのファイルを参照すべきかを自動的に判断できる仕組みです。
さらに、特定のファイルを読み込むタイミング(コンパイル時のみ、または特定の状況でのみ有効化する等)を設定することも可能です。
これにより、AI の「コンテキスト管理」は、実際のエンジニアリングにおけるモジュール化に近い形で運用できるようになっています。
使い方紹介
Session
Vibe session: Chat first, then build
Vibeセッションとは、KiroにおけるインタラクティブなQ&A中心のセッションであり、短い質問や説明、そして会話形式でプロジェクトを構築するために設計されています。
Spec session: Plan first, then build
Specセッションとは、Kiroにおいて複雑な開発タスクに対して構造的なアプローチで進行をサポートするセッションです。
これはソフトウェア開発プロセスを形式化し、高度なアイデアを詳細な実装計画へと変換し、体系的な実行と明確な進捗管理を可能にします。
開発プロセス
Requirements → Design → Task List
Hooks
「Hooks」は、Kiroにおける自動化トリガーの設定です。
「ファイルを保存したとき」「特定の関数を作成したとき」など、開発中の特定のイベントに応じてAIが自動でアクション(例:テスト作成、ドキュメント更新など)を実行する仕組みです。
Steering
「Steering」は、KiroのAIエージェントの動作方針や振る舞いを制御するための指示・ガイドラインです。
たとえば、「この関数はできるだけ簡潔に」「テストコードはTDDのスタイルで」など、AIの判断や出力を開発者の意図に沿うように調整するためのコントロール手段です。
基本Steeringファイル
- product: 製品の目的、対象ユーザー、主要な機能、そしてビジネス上の目標を定義します。これにより、Kiro は技術的な意思決定の背後にある「なぜ」を理解し、製品の目標に沿った解決策を提案できるようになります
- structure: ファイル構成、命名規則、インポートパターン、そしてアーキテクチャ上の判断を明確にします。これにより、生成されたコードが既存のコードベースに適合することを保証します
- tech: 選択したフレームワーク、ライブラリ、開発ツール、そして技術的制約を文書化します。Kiro が実装方法を提案する際には、代替手段よりもあなたが確立したスタックを優先します
カスタムSteeringファイル
基本のファイル以外、Kiro の理解を拡張し、あなたのプロジェクト特有のニーズに合わせた専門的なガイダンスを提供します。
BEST PRACTICE: 1ファイルにつき1つの領域 ― API設計、テスト、またはデプロイ手順。
例:
- api-standards.md
- testing-standards.md
- code-conventions.md
Inclusion Modes
Steeringファイルは、必要に応じて異なるタイミングで読み込むように設定できます。
この柔軟性により、パフォーマンスを最適化し、必要なときに関連するコンテキストを利用できるようにします。
Always Included (Default)
---
inclusion: always
---
Conditional Inclusion
---
inclusion: fileMatch
fileMatchPattern: "components/**/*.tsx"
---
Manual Inclusion
---
inclusion: manual
---
参考