Kiroは、AWSによって提供されるAgentic IDEであり、プロンプトを要件→設計→実装タスクへと自動で分解する『Spec-Driven Development』を特徴とします。requirements.md/design.md/tasks.mdといった形式によって、従来の”vibe coding”を脱却し、構造的で再現性の高い開発を実現します (forbes.com, caylent.com, cursor-ide.com)。
この構造化されたアプローチは、単なる理論的な理想論ではありません。実際に試してみることで、その威力と限界の両方を体感することができました。
第一回戦:理想と現実の落差
試しに自分の欲しい検索サービスをkiroに丸投げしてみたところ、短時間で要件定義から設計、タスク化までが自動で生成されました。なるほど、その効率には目を見張ります。
Kiroが生成したspecの品質は予想以上でした。要件が明確に構造化され、設計文書には実装に必要な詳細が網羅されており、タスクは適切な粒度で分割されていました。従来の手動での要件整理に比べて、圧倒的な時間短縮を実現していたのです。
しかし最終的には、kiroが提供するspecクレジットを使い果たしてしまい、2工程を残したまま未完に終わりました。理想的なプロセスが描かれていても、リソースの制約によって完遂できないという現実に直面したのです。
第二回戦:戦略的なリソース配分
そこで次に、もっと軽そうな要件を選び直し、kiroにrequirements.md/design.md/tasks.mdを生成させ、Claude Codeにバトンタッチしました。この2度目のチャレンジでは、specを3、vibeを5だけ消費し、前回よりはるかに少ないコストで進行できました。
Kiroでの学習効果が現れたといえるでしょう。適切なスコープ設定と要件の絞り込みによって、リソース消費を大幅に抑制することができたのです。生成されたspecは十分に詳細でありながら、実装フェーズで必要な情報をすべて含んでいました。
Claude Code側では実装が進み完成に近づいたものの、Proプランの制約により5時間の上限でエラー修正までは届かず、最終的にCodexへ移行してようやく動作に漕ぎつけることができました。
役割分担の最適化
この一連の流れは、Spec駆動の強力さと同時に、ツールごとの制約と特性を踏まえた組み合わせ運用の重要性を示しています。
Kiroの強み:分解力と構造化
- 曖昧な要求を明確な仕様に変換
- 実装可能な粒度でのタスク分割
- 一貫性のある設計文書生成
Claude Codeの強み:実装補助とコード生成
- 詳細なコード実装とデバッグ支援
- リアルタイムな問題解決
- 豊富なライブラリとフレームワーク知識
Codexの強み:動作保証と最終調整
- 確実な動作環境での検証
- 細かなエラー修正と最適化
- 本番環境に近い条件でのテスト
Kiroの分解力、Claudeの実装補助、Codexの最終的な動作保証といった役割分担こそが、現実的な戦略になるでしょう。
Spec駆動の真価
今回の実験で明らかになったのは、Spec駆動開発の価値は単一ツールの性能にではなく、適切なワークフローの構築にあるということです。
各ツールの制約を理解し、それぞれの得意分野を最大限に活用することで、従来の開発プロセスでは得られない効率性と品質を同時に実現できます。重要なのは、理想的なプロセスを描くことではなく、現実的な制約の中で最適解を見つけることなのです。
今後への示唆
この経験は、AI駆動開発における重要な示唆を与えています。単一の万能ツールを求めるのではなく、特化したツールを組み合わせることで、より強力で持続可能な開発環境を構築できるということです。
Spec駆動開発は確実に開発の未来を変えていくでしょう。しかし、その恩恵を最大限に享受するためには、各ツールの特性を深く理解し、戦略的に活用する知見が不可欠です。今回の実験は、その第一歩に過ぎません。