ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【Kiro】Agent Hook を業務で利用できないか考えてみる

この記事を共有する

目次

はじめに

こんにちは、パーソル&サーバーワークスの Endo です。
今回は Kiro IDE を使って Kiro Agent Hook を業務で何か利用できないか考えていきたいと思います。

Kiro Agent Hook

Kiro の Agent Hook については、公式ドキュメント で以下のように定義されております。

  • エージェントフックは、IDEで特定のイベントが発生した際に、事前定義されたエージェントプロンプトまたはシェルコマンドを実行する自動トリガーです。
  • 定型的なタスクの実行を手動で指示するのではなく、フックは次のようなイベントへの自動応答を設定します。

cron のように定期実行を行うようなタスクは設定できませんが、何かのイベントをトリガーとした定常タスクを自動化することができます。

構成要素

Kiro Agent Hook の構成要素には、トリガーアクション があります。
それぞれ、AWS 公式ブログ では以下のように定義されています。

  • トリガー : フックを起動するイベント(ファイルの保存、編集、作成、削除など)
  • アクション : 自動的に実行される AI 駆動の応答(コード生成、ファイル更新、ドキュメント作成など)

それぞれを少し詳細に見ていきたいと思います。

トリガー

トリガーとなるイベントタイプとその例を以下の表にまとめました。
公式ドキュメント に詳細が記載されていますので、こちらもご参照ください。

イベントタイプ 発生タイミング
File Deleted ファイルが削除されたとき Button.tsx を削除
File Edited ファイルが保存されたとき index.js を編集して保存
File Created 新しいファイルが作成されたとき new-feature.ts を新規作成
Prompt Submit エージェントにメッセージを送信したとき チャットで「コードをレビューして」と送信
Agent Stop エージェントの実行が完了したとき エージェントがタスクを修了
Manual Trigger ユーザーが手動でフックを実行したとき UI からフックボタンをクリック

アクション実行(Action executes)

トリガーによって実行されるアクションを定義することができます。
アクションには、Agent Prompt action と、Shell Command action がサポートされており、それぞれ以下のように使い分けられます。
Agent Prompt action の中にコマンドを入れることも可能です。

アクションタイプ 説明
Agent Prompt Kiro に送信されるプロンプトを定義 保存されたファイルのコードをチェックして
Shell Command 実行されるシェルコマンドを定義 npm test

やってみた

アプリケーションの開発を業務で行わない場合、この Agent Hook をどのように業務に活かせるのかを検討した結果、AWS リソース作成用のテンプレートファイル(TerraformやCloudFormation)が保存されたら、自動で構文チェックとフォーマットを実行する Agent Hook があったら良いのでは、と考えました。

実際に Agent Hook を作って動きを見ていきたいと思います。

Agent Hook の作成

今回は CloudFormation テンプレートをチェックする Agent Hook を作ってみます。
Kiro IDE を起動し、左メニューの AGENT HOOKS 欄の + を押下します。
Create an agent hook 画面が表示されるので、Describe a hook using natural language 欄に、今回作成したい Hook の概要となる「CloudFormationテンプレート保存時に自動で構文チェックを実行」を入力して実行します。

AgentHook_1.png

実行すると、チャットパネルが自動で開き、Kiro によって Agent Hook が自動的に作成されます。

AgentHook_2.png

作成された Hook を確認して、必要に応じて内容を修正します。

AgentHook_3.png

最終的に、以下の内容で設定しました。

  • Title:CloudFormation構文チェック
  • Description:CloudFormationテンプレート保存時に自動で構文チェックを実行
  • Event:File Saved
  • File path(s) to watch: *.yaml*.yml*.json
  • Action:Ask Kiro
  • Instructions for Kiro agent:編集されたファイルがCloudFormationテンプレートの場合、aws cloudformation validate-templateを実行し、構文エラーがあれば修正提案してください

Agent Hook の起動確認

それでは、実際に CloudFormation テンプレートファイルを作成、保存して動きを見ていきます。
今回、AWS 公式ドキュメントの ECS 用テンプレート を、一部のパラメータを意図的に変更し、Agent による修正の提案が行われるようにしました。
修正内容は以下のとおりです。

  • Parameter の Type を String で指定するところを Number とし、Default 値を String 形式のままとする
  • 必須パラメータを定義ごと削除する

ファイルを保存すると、自動的に新しいセッションが起動して Hook が実行されます。

AgentHook_4.png

処理を進めると、以下のように修正箇所が表示され、私が意図的に変更した箇所が正しい形式に修正されました。

AgentHook_5.png

本ワークスペースでは Steering の設定などを行っていないため、自動で Kiro によってファイルが修正されてしまいましたが、勝手に修正されないようにルールを記載することをお勧めします。

おわりに

本記事がどなたかの参考になりましたら幸いです。

この記事は私が書きました

S.Endo

記事一覧

コーヒーインストラクター検定2級を所持しているエンジニアです。コーヒーを飲みながら仕事をしています。

S.Endo

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。