![[レポート][Code talk] KiroによるSpec駆動開発のライブコーディングセッションに参加しました #DEV314 #AWSreInvent](https://images.ctfassets.net/ct0aopd36mqt/4pUQzSdez78aERI3ud3HNg/fe4c41ee45eccea110362c7c14f1edec/reinvent2025_devio_report_w1200h630.png?w=3840&fm=webp)
[レポート][Code talk] KiroによるSpec駆動開発のライブコーディングセッションに参加しました #DEV314 #AWSreInvent
デモセッションの内容
AIコーディングアシスタントの進化とVibe Codingの課題
セッションではまず、AIコーディングアシスタントの進化の歴史について説明がありました。IDE、コード補完を経て、現在のAgentic IDEへと進化してきた経緯が示されました。
現在主流となっているVibe Coding(内容的にはVibe CodingというよりAgentic Coding寄りだったように思う)には課題があることが指摘されました。プロンプトを書き、AIがコードを生成し、また次のプロンプトを書くというサイクルを繰り返すと、Slackのスレッドが長くなったときのように、意思決定の経緯が不明確になります。従来のSDLCプロセス(要件定義、設計ドキュメント作成など)をスキップするため、実装の理由が後から追跡できないという問題があります。
KiroとSpec駆動開発の概要
AWSが開発した新しいAgentic IDE「Kiro」が紹介されました。数ヶ月前にリリースされ、数週間前にGA(一般提供)となりました。リリース時には大きな反響があり、ウェイトリストが設けられたとのことです。
Kiroの特徴は「Spec駆動開発」というアプローチを採用している点です。コードを書く前に要件定義→設計→タスク化というプロセスを踏むことで、従来のSDLCプロセスをAI時代に適応させています。すべてMarkdownファイルとして保存されるため、ドキュメントと監査証跡が残ります。
Spec駆動開発の4つのフェーズ
Spec駆動開発は以下の4段階で構成されています。
Phase 1: Requirements(requirements.md) - ユーザーストーリーと受入基準を定義します。EARS形式(Easy Approach to Requirements Syntax)という「When X, the system shall do Y」という構造化された記法を採用しており、これがProperty-based Testingの基盤となります。
Phase 2: Design(design.md) - システムアーキテクチャやインターフェース定義を行います。Mermaid形式で図が自動生成され、Amazon内部で使用されている設計ドキュメントと同様の形式になるとのことです。
Phase 3: Tasks(tasks.md) - 実装タスクのリストを生成します。タスクの優先順位を対話的に変更することが可能で、「MVP優先で並べ替え」や「最初の5タスクでUIが見えるようにする」といった調整ができます。
Phase 4: Implementation - 実際のコード生成と実装を行います。タスクをキューに入れて順番に処理し、エラーが発生した場合は診断ツールが自動で検出して修正します。
Kiroの差別化機能
Property-based Testing - EARS形式の要件から論理的なプロパティを抽出し、fast checkというライブラリで100回以上のfuzzテストを実行します。単体テストが特定の入力に対する出力をテストするのに対し、プロパティテストは幅広い入力範囲で要件が満たされているかを検証します。セッションではチェスアプリの例が示され、コード品質の向上効果が説明されました。
Hooks(フック機能) - ファイル保存、作成、削除などのライフサイクルイベントに対して自動処理を設定できます。ファイル保存時のドキュメント更新や、npm install時の古いパッケージバージョンチェックなどの用途が示されました。Q&Aセッションでは、セキュリティチェックの自動化への応用についても議論がありました。
MCP Server対応 - Model Context Protocolサーバーと統合できます。AWS公式のMCPサーバー(Bedrock、ドキュメントなど)や、コミュニティ製のものをワンクリックでインストール可能です。水曜日にMCP関連の新機能発表が予定されているとアナウンスがありました。
ライブデモ:面接練習アプリの実装
デモでは面接練習アプリをゼロから作成する様子が披露されました。Figmaで作成したワイヤーフレームのスクリーンショットをKiroに入力し、アプリケーションの生成を開始しました。
技術スタックはVite、Vue、Tailwind CSSで構成されています。アプリの機能は、①面接質問を表示、②ユーザーがマイクで音声回答、③Web Audio APIで録音してSpeech to Textで文字起こし、④Claude SDKで回答を分析してスコアリング、という流れです。
実装中には要件の対話的な調整が行われました。認証機能の削除、質問数を3つに制限、最初の5タスクでUIが確認できるようにする、といった変更が加えられました。
完成したアプリで実際に面接を実施したところ、真面目に回答した場合のスコアが4/10、「test test test」と適当に答えた場合のスコアが8/10という結果になりました。
この結果についてセッション内で詳しい分析はありませんでしたが、採点用のプロンプトに改善余地があるように思いました。
感想
Kiroが作成するドキュメントはAntigravityのそれによく似ていると思います。(Kiroのほうが先行だとは思うが)
私はSpeckitを開発で使っていますが、Kiroのほうが「機能ごとのDesign docを作成する」という方式に寄せられていると思います。
Spec駆動開発も選択肢が増えてきたので、今後も比較検討していこうと思いました。
以上でした!







