Amazon Web Services ブログ
Kiroを使ったペアプログラミングのすすめ
こんにちは! AWS でソリューションアーキテクトをしている菅原です。
本ブログは Kiroweeeeeeek ( X: #kiroweeeeeeek ) の第 4 日目です。昨日のブログは吉村さんの「Kiro を組織で利用するためのセキュリティとガバナンス」という内容でした。平日だけの予定でしたが、皆様からの人気も高く休日も投稿をすることになっています。
先日、AWS のアジアパシフィックの社員による、社内ハッカソンが行われました。ハッカソンでプロダクトを作るにあたり、Kiro を使ったペアプログラミングを試行しました。この記事では、プレビュー以来 Kiro を使い続けてきた経験と、ハッカソンでの試行を通じて見えてきた、Kiro を活用したペアプログラミングの可能性とそのノウハウを共有します。
AI コーディング時代の新しい課題
AI コーディングツールの登場により、コード生成のスピードは劇的に向上しました。AI のコーディング速度は人間の処理能力を遥かに超え、今や開発のボトルネックは人間の考える時間や品質になっています。
ハッカソンの準備段階で、私たちはこの課題に直面していました。3 日間という限られた時間の中で、時間をかけるべきは独創的なアイデアとその実現方法の考案という、人間にしかできないことです。AI が生成する大量のドキュメントを効率的にレビューし、チーム全体で理解を共有する時間はなるべく短縮する必要がありました。そこで思いついたのが、Kiro の画面を 2 人で見ながら、リアルタイムで議論し、レビューを進めるというアプローチでした。これにより、人間の思考を整理し素早くレビューすることができ、AI が提案した文章やコードを何も見ずに承認するといった人間のサボりによる品質の低下も防ぐことができました。
AWS が提唱する開発方法論「AI 駆動開発ライフサイクル (AI-DLC)」も、AI と複数人が一緒に開発やレビューをする「モブエラボレーション」「モブコンストラクション」という方法で人間と AI の調和をとっています。今回は 2 人によるハッカソンのため、AI-DLC とは全く異なるアプローチで開発しましたが、コンセプトを参考にしています。
Tips1: Kiro によるホワイトボーディングの読み取り
ハッカソンの初日、私たちはまず会議室に集まり、ホワイトボードを使ってアイデアを整理することから始めました。マーカーを使いながら、システムの全体像や主要な機能について議論を重ねました。この段階では、完璧な図を描くことよりも、思考を自由に展開し、お互いの理解を深めることを優先しました。ホワイトボーディングの最中、技術的な疑問点が浮かんだ際には、その場で Kiro のチャットに質問を投げかけました。AWS Knowledge MCP Serverなどのツールを活用することで、AWS の最新のドキュメントや Web を参照しながら、議論を深めることができました。
議論がひと段落したところで、ホワイトボードに書かれた内容をスマートフォンで撮影しました。そして、その写真を Kiro に読み込ませました。Kiro は画像認識機能を持っているため、手書きの図や文字を理解し、テキストとして文字起こしすることができます。これを元に人間がレビューを行い、システムの概要を作成し、後続の Kiro の Spec 機能を活用する際の土台としました。
ここで重要なのは、いきなり Spec を生成するのではなく、まずホワイトボードと KIiro による思考の整理をしたことです。ホワイトボードの内容は、議論の流れや思考の断片が混在しており、そのまま Spec にするには整理が必要でした。文字起こしされたテキストを 2 人で確認しながら、「この部分は要件として明確にすべき」「この図は設計フェーズで詳細化する」といった判断を行いました。
Tips2: 仕様駆動開発とペアレビューの相性
Kiro の最大の特徴は「仕様駆動開発」です。今回の開発では、ホワイトボーディングで整理したアイデアを、Kiro の画像認識機能を使って文字起こしし、それをベースに要件定義を作成しました。Kiro は、私たちの自由な発想を構造化された仕様書に変換してくれました。ここからが重要なポイントです。生成された仕様書を 2 人で画面を見ながらレビューすることで、以下のような効果が得られました。
一つ目は、認知負荷の分散です。一人が設計の妥当性を追いながら、もう一人が仕様との適合性をチェックします。このように役割を自然に分担することで、より深いレビューが可能になりました。お互いが同じ部屋にいることにより、承認が適当にならなかったのも良かったポイントです。二つ目は、即座のフィードバックループです。疑問点や改善案をその場で議論し、すぐにKiroに修正を依頼できます。これにより、仕様の精度が飛躍的に向上しました。
Tips3: ペアレビューを加速するKiroの機能群
ハッカソンを通じて、ペアレビューに特に有効だったKiroの機能をいくつか発見しました。
Agent Hooks:日英ドキュメント翻訳
ハッカソンでは、最終的に英語でプレゼンテーションを行う必要がありました。Kiro を使えば、日本語で書いた仕様書や設計書を、Agent Hooks を用いて英語に翻訳できます。Kiro の Agent Hooks は、AI 駆動のアクションをトリガーにして事前定義されたエージェントアクションを自動的に実行するツールです。Agent Hooks については詳しくは、「Kiro の AI エージェントフックで開発ワークフローを自動化する」をご覧ください。
Agent Hooks により、私たちは、日本語でドキュメント作成をしながら、並行して英語版のドキュメントも自動で手に入れることができました。2 人でレビューする際、「ドキュメントの更新を忘れていないか」という確認作業が不要になり、本質的な設計や実装の議論に集中できました。
Git 統合:変更履歴の可視化
Kiroは、Visual Studio Code ベースであるため、Git との統合も優れています。ペアレビュー中に、「この変更は誰がいつ行ったのか」「前回のレビューからどこが変わったのか」を即座に確認できました。特に、Spec ファイルの変更履歴を追うことで、要件や設計の変遷を理解しやすくなりました。
MCPツール:外部知識の統合
Model Context Protocol(MCP)は、Kiroの拡張性を支える重要な機能です。私たちは、さまざまな MCP サーバーを設定し、開発の効率を上げていきました。使用した MCP の一部をご紹介します。
- AWS Knowledge MCP Server
- AWS Terraform MCP Server
- 検索サービス MCP サーバー
- 社内のドキュメント管理ツールとの統合 MCP サーバー
Kiro と MCP について詳しくは「Kiro と Model Context Protocol (MCP) で開発生産性を解き放つ」をご覧ください。
Agent Steering:プロジェクト固有のルール適用
Agent Steeringは、プロジェクト全体に適用されるガイドラインやルールを定義する機能です。ハッカソンでは、チームのコーディング規約やアーキテクチャの原則を Steering Rule として設定しました。これにより、Kiroが生成するコードや設計が、常にチームの方針に沿ったものになりました。
グループでのSteering 機能の活用方法は、別のブログで詳しくお伝えする予定です。
Tips4: ペアによるテストとデバッグ
開発の後半では、テストとデバッグのフェーズに入りました。Kiro は実装コードだけでなく、テストコードも自動生成してくれます。しかし、テストの品質を担保するためには、人間によるレビューが欠かせません。今回もペアでの行動をおこなっています。生成されたテストケースを 2 人で画面を見ながらレビューしました。「このパターンのテストが足りないのではないか」「この異常系のテストは必要だ」といった議論を重ね、テストの質を高めていきました。
実際にテストを実行すると、いくつかの失敗が発生しました。ここからがデバッグのフェーズです。エラーログを Kiroに解析させ、2 人で見ながら、問題の原因を特定していきました。デバッグは、従来の開発でも一人で行うと時間がかかる作業でした。しかし、Kiro を使いペアで取り組むことで、問題の切り分けが格段に速くなりました。一人が行き詰まっても、もう一人が別の視点から問題を見ることで、解決の糸口が見つかります。
まとめ: Kiro を使った新しい開発スタイルへ!
ハッカソンを終えて、Kiro を使ったペアプログラミングには、単なる効率化以上の価値があると感じました。それは、認知負荷を下げながら、より深い思考を可能にする開発手法だということです。
AI が生成する大量の情報を一人で処理するのは、認知的に負担が大きいものです。しかし、2人で役割を分担しながらレビューすることで、この負担を軽減できます。さらに、議論を通じて、単独では気づかなかった視点や改善案が生まれます。Kiro の仕様駆動開発は、この手法と非常に相性が良いと言えます。要件、設計、実装という明確なフェーズ分けにより、レビューの焦点が定まります。各フェーズで何を確認すべきかが明確なため、議論が散漫になりません。Agent Hooks、MCP、Steering といった機能は、この開発スタイルを強力にサポートしてくれます。
AI コーディングツールの進化により、開発のボトルネックは「コードを書くこと」から「生成されたものをレビューし、品質を担保すること」へと移行しつつあります。Kiro を使ったペアレビューは、この新しい課題に対する一つの解答だと考えています。
もちろん、すべてのプロジェクトでペアレビューが最適とは限りません。しかし、複雑な要件や、高い品質が求められるプロジェクトでは、試してみる価値があります。Kiro は、単なるコーディングアシスタントではなく、チームでの協働を支援するツールとしても、大きな可能性を秘めています。みなさんもぜひ Kiro を用いたより良い発手法を模索し、#kiroweeeeeeek に共有してください!
最後に最終的に 3 日間でできたアプリと、生成した Spec の一部をお見せします!





