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

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