Amazon Web Services ブログ

Kiro の AI エージェントフックで開発ワークフローを自動化する

本記事は米国時間 2025 年 7 月 16 日に公開された Automate Your Development Workflow with Kiro’s AI Agent Hooks を翻訳したものです。

ソフトウェアプロジェクトが成長するにつれ、ドキュメント、テスト、コードの可読性、パフォーマンスを同期させ続けることはますます難しくなります。Kiro のエージェントフックは、こうした重要な作業をバックグラウンドで自動的に処理し、コーディング中の集中を保ちながら、毎回高品質なコードを出荷できるように支援します。

エージェント型 IDE である Kiro は、複雑なワークフローを簡素化する新しい手段としてエージェントフックを導入しました。これらのカスタム AI 駆動のトリガーは、コーディング活動にリアルタイムで反応し、テストの更新、ドキュメントの同期、コードベース全体でのコーディング規約の適用といった作業を処理します。

Kiro のエージェントフックは、受動的な AI 支援から能動的な AI 統合への根本的な転換を示しており、開発環境がニーズを予測して自動的に動く知的なパートナーへと進化します。

本記事では、Kiro のエージェントフックのセットアップ方法と使用方法を紹介し、これらのフックが開発ワークフローをどのように変革できるかを示す実践例を解説します。

Kiro のエージェントフックとは?

Kiro のエージェントフックは、ワークスペースのイベントを AI 駆動のアクションに接続するインテリジェントな自動化ルールです。開発環境における「if-then」ロジックのようなもので、自然言語 AI がコードやコンテキストを理解して動作します。つまり、Kiro のフックは、ワークスペースのアクティビティと Kiro に組み込まれた強力なエージェント機能をつなぐ橋渡しです。

フックは 2 つの主要コンポーネントから成ります:

  • トリガー : フックを起動するイベント(ファイルの保存、編集、作成、削除など)

  • アクション : 自動的に実行される AI 駆動の応答(コード生成、ファイル更新、ドキュメント作成など)

主な利点

タスクにユーザーの指導や専門知識が必要な場合、Kiro はマルチモーダルなエージェントチャットを通じて制御を維持します。Kiro のエージェントはコードを超えた思考を促し、難しいエンジニアリング課題を自信を持って解決できるように支援します。エージェントフックには従来の自動化を超える数多くの利点があります。

  • 自然言語による設定: 複雑なスクリプトではなく平易な英語でフックを定義可能

  • コンテキスト認識 AI: コードベースの構造を理解し、知的な判断を迅速に実行

  • リアルタイム実行: 作業と同時にアクションが発生し、開発の流れを維持

  • 協調的: エージェントフックをバージョン管理を通じてチームと共有可能

  • カスタマイズ可能: ワークフローやコーディングパターンに合わせて調整可能

最初のエージェントフックを設定する

クイックスタート手順

TypeScript プロジェクトのユニットテストをコードと同期させ続けるフックを作成してみましょう。

  1. フックパネルを開く: アクティビティバーの Kiro アイコンをクリックし、サイドバーから「Agent Hooks」を選択

  2. フックを作成: パネルの「+」ボタンをクリックし、

    • 希望するフックを自然言語で記述する

    • または既存のテンプレートから選択する

図 1: Kiro フックパネルのインターフェース。自然言語入力フィールドを使ったフック作成とサンプルプロンプトの表示

  1. オプションを設定: タイトル、説明、イベントタイプ、ファイルパターン、プロンプトを確認・調整

図 2: ユーザー入力に基づいて作成されたフック設定を表示する Kiro フックパネルのインターフェース

  1. フックを作成: フックを作成すると IDE のフックパネルに表示され、.kiro/hooks ディレクトリに対応する設定ファイルが生成されます。

{
  "name": "TypeScript Test Updater",
  "description": "Monitors changes to TypeScript source files and updates corresponding test files with tests for new functions or methods",
  "version": "1",
  "when": {
    "type": "fileEdited",
    "patterns": [
      "**/*.ts",
      "!**/*.test.ts",
      "!**/*.spec.ts",
      "!**/node_modules/**"
    ]
  },
  "then": {
    "type": "askAgent",
    "prompt": "I noticed you've edited a TypeScript file. I'll analyze the changes and update the corresponding test file.

1. First, I'll identify any new functions or methods added to the source file
2. Then I'll locate or create the corresponding test file (either .test.ts or .spec.ts in the same directory)
3. I'll generate appropriate test cases for the new functions/methods
4. I'll ensure the tests follow the project's existing testing patterns and conventions

Here are my suggested test updates based on your changes:"
  }
}

フック設定オプション

一般オプション

  • name: フック名

  • description: フックの説明

トリガーオプション

  • when
    • type:
      • fileEdit: ファイル変更の監視
      • fileCreate: 新規ファイル作成に応答
      • fileDelete: ファイル削除イベントの処理
      • userTriggered: 手動トリガー
    • patterns: GLOB パターンでファイルやディレクトリ構造を指定

アクションオプション

  • then
    • type:

      • askAgent: AIエージェントに完全なコンテキストを含むカスタムプロンプトを送信する

    • prompt: フック起動時に Kiro に取らせたいアクションを記述

フックの管理

Kiro のフックパネルでは以下が可能です。

  • フックの有効化/無効化

  • 設定の編集

  • フックの削除

図 3: アクティブなフックと設定オプションを表示する Kiro フックパネルのインターフェース

また、.kiro/hooks ディレクトリの設定ファイルを直接編集することもできます。

実際の利用例

  • テスト同期: ソースコードの変更に合わせてユニットテストを更新

  • ドキュメント更新: 新機能追加時に README を自動更新

  • 国際化サポート: ドキュメントを英語との間で翻訳

  • Git アシスタント: Git diff に基づく changelog 生成、コミットメッセージ補助

  • コンプライアンスチェック: 標準への準拠を自動確認

  • スタイル統一: フォーマットやコーディング規約を自動適用

例 1: 自動テスト生成

シナリオ: Python アプリケーションを開発しており、テストをコンポーネントと常に同期させたい。

フックの説明 :

You are a test-driven development assistant. The user has modified a Python source file.
Your task is to:
1. Analyze the changes in the source file
2. Identify any new functions, methods, or classes that were added
3. Update or create the corresponding test file (same filename but with test_ prefix)
4. Add appropriate test cases for the new functionality
5. Ensure test coverage for the new code while maintaining existing tests, Focus on writing practical, meaningful tests that verify the behavior of the new code. 
Use the existing testing patterns in the project if available. If using unit test, add new test methods to the appropriate test class. If using pytest, add new test functions.

監視対象のファイルパス

*.py: all the python files
!test_*.py: exclude the files that start with test_ and ends with .py

何が起きるか  : Python ファイルを変更するたびに、Kiro が変更をレビューし、テストファイルを更新して新しい機能の包括的なカバレッジを維持します

図 4: Python ファイルの変更後にテストファイルを自動的に更新する Kiro エージェントフック

Example 2: ドキュメント同期

シナリオ : API ドキュメントをコード変更と常に一致させたい。

フックの説明 :

Monitor all my typescript files and review the API changes in workspace and update the corresponding documentation in docs/api/. Include new endpoints, parameter changes, and response formats. Maintain consistent documentation style.

監視対象のパス : 

**/*.ts, **/*.tsx: all the files with ts and tsx extension.

結果 : API ドキュメントがコード変更を自動的に反映し、ドキュメントが古くなるという一般的な問題を解消します。

Kiro エージェントフックのベストプラクティス

以下は、Kiro のエージェントフックを始める際のヒント、コツ、ベストプラクティスです。

シンプルに始める

ソースコード変更時にテストを更新するといった基本的なファイル間の関係から始めてください。すぐに価値を実感でき、慣れてきたらより複雑なワークフローへ発展できます。

説明的なプロンプトを使用する

フックプロンプトに多くのコンテキストを提供するほど、AI が意図を正確に理解します。

// Good
"Update the test file to cover the new authentication method, including edge cases for invalid tokens and expired sessions"

// Better
"Review the authentication changes in this file and update tests/auth.test.js to include comprehensive tests for the new authentication method.
Cover success cases, invalid token scenarios, expired session handling, and ensure all tests follow our existing test patterns using Jest and supertest."

ワークスペースのコンテキストを活用する

プロジェクトのドキュメント、コーディング規約、パターンをフックプロンプトで参照して一貫性を維持します。

// Good
"Update or create new test files to cover the new functions, make sure to include multiple tests for each function to cover different paths."

// Better
"Update or create new test files to cover the new functions, make sure to include multiple tests for each function to cover different paths.
Look at the existing unit tests and follow the same format and use the same testing libraries used, read the package.json file to understand how we initiate the unit tests."

監視と改善

チャット履歴を利用してフックの動作を確認し、結果に基づいてプロンプトを改善してください。

図 5: 過去のフック実行を表示するチャット履歴

チームコラボレーション

フックをバージョン管理にコミットしてチームと共有できます。新しく作成したフックは .kiro/hooks ディレクトリに保存されるため、すぐに共有可能です。変更をプッシュすれば、チームメイトがプルしてすぐに利用できます。これは、チームとともに成長する自動化レシピ集を共有するようなものです。

自動化の未来はフックにある

Kiro のエージェントフックは、日常的な開発作業に知的な自動化をもたらし、繰り返し作業を処理することで創造的な問題解決に集中できるようにします。フォーマットの好みからデプロイ手順まで、コーディングパターンを学習し、プロジェクト全体で一貫性を維持するスマートアシスタントのように機能します。自然言語による設定で高度な自動化を誰でも利用でき、AI 駆動のアクションは知的で文脈に沿った変更をガイドします。

個人開発でも時差のあるチーム開発でも、Kiro のエージェントフックは自然にワークフローに適合します。チームは自動化レシピをコードのように共有・バージョン管理でき、プロジェクトに合わせた時間節約ツールのライブラリを拡張していけます。コードフォーマットの標準化やテスト実行の自動化といった基本から始め、慣れるにつれて複雑なワークフローへと拡張することで、スムーズで効率的な開発サイクルを実現できます。

ぜひ試してみませんか?Kiro は無料で始められ、ドキュメントには最初のフックを作成するために必要なすべての情報が揃っています。私たちは、より良いコードを効率的に書くために支援します。

XLinkedInInstagram では @kirodotdev、Bluesky では @kiro.dev をタグ付けし、ハッシュタグ #builtwithkiro を使って成果をシェアしましょう。