Amazon Web Services ブログ

Kiro のご紹介 – プロトタイプからプロダクションまで、あなたと共に働く新しい Agentic IDE

本記事は米国時間 7 月 14 日に公開された「Introducing Kiro – A new agentic IDE that works alongside you from prototype to production」の日本語抄訳版です。Kiro の最新情報は、https://kiro.dev/ をご覧ください。

こんな経験はありませんか。何度もプロンプトを入力すると、動作するアプリケーションができあがる。楽しくて魔法のように感じます。しかし、プロダクション環境に移行するには、それだけでは不十分です。アプリケーションを構築する際、AI モデルはどのような前提を置いたのでしょうか?あなたはずっとエージェントをガイドしてきましたが、それらの決定は文書化されていません。要件は曖昧で、アプリケーションがそれらを満たしているかどうかわかりません。システムがどのように設計され、その設計があなたの環境とパフォーマンスにどう影響するかをすぐに理解できません。時には一歩下がって決定事項を整理することで、より良くて保守しやすいアプリケーションにたどり着くことがあります。それが Kiro が仕様駆動開発で支援することです。

コンセプトからプロダクションまで、AI エージェントとの作業を簡素化した開発者体験を通じて開発を支援する AI IDE(統合開発環境)、Kiro の発表を嬉しく思います。Kiro は Vibe Coding “も” 得意ですが、それをはるかに超えています。Kiro の強みは、スペック (spec) やフック (hook) などの機能を使って、これらのプロトタイプをプロダクションシステムに移行することです。

Kiro スペック (spec) は、機能を深く考える必要がある時、事前計画が必要なリファクタリング作業、システムの動作を理解したい時など、プロダクションに移行するために必要なほとんどの場面で有用な成果物です。開発を始める時、要件は通常不明確なので、開発者は計画と明確化のために仕様を使用します。仕様は同じ方法で AI エージェントをより良い実装に導くことができます。

Kiroフック (hook) は、あなたが見落としたことをキャッチしたり、作業中にバックグラウンドで定型業務を完了する経験豊富な開発者のように機能します。これらのイベント駆動による自動化は、ファイルの保存、作成、削除時、または手動トリガーでエージェントにバックグラウンドタスクを実行させます。

スペックとフックを使った開発

Kiro は仕様ワークフローを開発とより統合することで加速します。この例では、手作り品販売の e コマースアプリケーションに、ユーザーが各商品にフィードバックを残すためのレビューシステムを追加したいと思います。spec を使った開発の 3 ステップのプロセスを見てみましょう。

私たちが取り組んでいる e コマースアプリ

1. 単一プロンプトから要件へ

Kiro は単一プロンプトから要件を展開します。「製品のレビューシステムを追加」と入力すると、レビューの表示、作成、フィルタリング、評価というユーザーストーリーが生成されます。各ユーザーストーリーには、開発者が基本的なユーザーストーリーから構築する際に通常処理するエッジケースをカバーする EARS(Easy Approach to Requirements Syntax)記法の受け入れ基準が含まれます。これによりプロンプトの前提が明示的になり、Kiro が求めているものを構築していることがわかります。

Kiro の要件仕様

2. 要件に基づく技術設計

Kiro はコードベースと承認された仕様要件を分析して設計文書を生成します。データフロー図、TypeScript インターフェース、データベーススキーマ、API エンドポイントを作成します。例えば、レビューシステムの Review インターフェースなどです。これにより、通常開発を遅らせる要件の明確化に関する長いやり取りが不要になります。

Kiro のインターフェース、マーメイド図、データフロー図を含む設計仕様

3. タスクの実装

Kiro はタスクとサブタスクを生成し、依存関係に基づいて正しく順序付けし、各タスクを要件にリンクします。各タスクには、単体テスト、統合テスト、ローディング状態、モバイル対応、アクセシビリティ要件などの実装詳細が含まれます。これにより、完了したと思った後に不足部分を発見するのではなく、段階的に作業をチェックできます。

Kiro はタスクとサブタスクを自動生成し、それらを適切な順序で並べ、各タスクを要件に紐づけることで、抜け漏れがないようにすることで、全プロセスを簡素化します。Kiro は各タスクに対する単体テストの作成、ローディング状態の追加、商品とレビュー間の相互作用のための統合テスト、そしてレスポンシブデザインとアクセシビリティについても考慮しています。

タスクインターフェースでは、実行状況を示す進行インジケーターとともにタスクを一つずつトリガーできます。完了後は、完了状況をインラインで確認し、コード差分とエージェント実行履歴を表示して作業を監査できます。

Kiro スペックはあなたの進化するコードベースと同期し続けます。開発者はコードを作成し、Kiro に仕様の更新を依頼するか、手動で仕様を更新してタスクを更新することができます。これにより、開発者が実装中に元の成果物の更新を止めてしまうという一般的な問題を解決し、将来のメンテナンスを複雑にする文書の不一致を防ぎます。

4. フックでリリース前に問題を発見

コードをコミットする前に、ほとんどの開発者は頭の中でチェックリストを実行します。何かを壊していないか?テストは更新されているか?ドキュメントは最新か?これは健全ですが、実装には多くの手作業が必要になることがあります。

Kiro のエージェントフックは、あなたが見落としたことをキャッチするベテラン開発者のように機能します。フックはファイルの保存や作成時に実行されるイベント駆動自動化で、協力者にタスクを委任するようなものです。一度フックを設定すれば、Kiro が残りを処理します。いくつかの例をご紹介します。

  • React コンポーネントを保存すると、フックがテストファイルを更新します。
  • API エンドポイントを変更すると、フックが README ファイルを更新します。
  • コミットの準備ができると、セキュリティフックが資格情報の漏洩をスキャンします。

フックはチーム全体で一貫性を確保します。すべての人が同じ品質チェック、コード標準、セキュリティ検証の修正の恩恵を受けます。私たちのレビュー機能では、新しい React コンポーネントが単一責任の原則に従うことを確認したいと考えています。これにより、開発者が多くのことを行うコンポーネントを作成しないようにします。Kiro は私のプロンプトを受け取り、最適化されたシステムプロンプトを生成し、監視するリポジトリフォルダを選択します。このフックが Git にコミットされると、コーディング標準がチーム全体に適用されます。誰かが新しいコンポーネントを追加するたびに、エージェントは自動的にそれをガイドラインに照らして検証します。

ファイル保存時に実行されるフックを作成する

その他の充実した機能

Kiro スペックと Kiro フック以外にも、Kiro には AI コードエディターに期待されるすべての機能が含まれています。専門ツールを接続するための Model Context Protocol (MCP) サポート、プロジェクト全体で AI の動作を導くステアリングルール、ファイル、URL、ドキュメントのコンテキストプロバイダーを持つアドホックコーディングタスクのためのエージェントチャットなどです。Kiro は Code OSS をベースに構築されているため、VS Code の設定と Open VSX 互換プラグインを維持しながら IDE を使用できます。完全な AI コーディング体験に加えて、プロダクションに必要な基盤も提供します。

今後について

私たちのビジョンは、ソフトウェア製品の構築を困難にする根本的な課題を解決することです。チーム間の設計整合性の確保、競合する要件の解決、技術的負債の排除、コードレビューの厳格化、シニアエンジニアが退職した際のチームの知識の保持まで。人間と機械がソフトウェアを構築するために協調する方法は、まだ混乱しており断片的ですが、私たちはそれを変えるために取り組んでいます。仕様はその方向への大きな一歩です。

仕様駆動開発を体験する準備はできていますか?Kiro はプレビュー期間中は無料で、一部制限があります。実際のアプリケーションを構築するためにお試しいただき、Discord サーバーでご意見をお聞かせください。

開始するには、Kiro をダウンロードして Google や GitHub を含む 4 つのログイン方法のいずれかでサインインしてください。Mac、Windows、Linux と、最も人気のあるプログラミング言語をサポートしています。実践的なチュートリアルでは、仕様からデプロイまでの完全な機能の構築を体験いただくことができます。

ぜひ繋がりましょう。XLinkedInInstagram で @kirodotdev、Bluesky で @kiro.dev をタグ付けし、ハッシュタグ #builtwithkiro を使用して作成したものを共有してください。