1. 主要ページへ移動
  2. メニューへ移動
  3. ページ下へ移動

QES ブログ

記事公開日

【Kiro設定編】KiroのAgent Hooksを使ってみた!

  • このエントリーをはてなブックマークに追加

この記事のポイント

この記事では、自律型AIエージェント「Kiro」の「Agent Hook」機能を用いて、ドキュメント更新を自動化する方法を紹介しています。

  • Agent Hooksによる自動化:
    ファイルの保存や編集などのアクションをトリガーにして、AIに特定のタスク(ドキュメント作成など)を自動実行させる仕組みを解説します。
  • 自然言語での簡単設定:
    複雑な設定ファイルを書かなくても、チャット形式で「Pythonファイル保存時にREADMEを追記して」と依頼するだけでHookを作成してくれます。
  • 実際の動作検証:
    Hookを設定することで、コードを書くだけで自動的にREADME.mdが生成・更新される様子を、Hookなしの場合と比較して実証します。

こんにちは!DXソリューション営業本部の菊池です。

開発中のドキュメント更新、面倒で後回しにしてしまいませんか?
今回は、そんな悩みを解決するKiroの「Agent Hooks」についてご紹介します。

Kiroの概要については下記ブログをご覧ください。

Agent Hooksとは?

Agent Hooksとは、ユーザーが特定の行為を行うことをトリガーとして、AI Agentが自動でアクションを行う仕組みのことです。

  • トリガー:Hookを起動するイベント(ファイル保存、ファイル新規作成など)
  • アクション:Hookに設定されたAI Agentが行う作業(コード生成、ファイル更新、ドキュメント作成など)

Hookのメリット

最大のメリットは作業の自動化です。
例えば、アプリケーションに新規機能を追加した際、README自動更新用のHookを設定しておけば、作業者はソースコードの編集のみに集中し、ドキュメントの更新はAIに任せることができます。

Hookの設定手順

では、実際に「Pythonファイルが編集されたときにREADMEに編集内容を追加する」Hookを設定してみましょう。
前提条件として、Kiroがインストールされているものとします。

1. 設定画面の起動

Kiroを起動し、左側メニューのKiroアイコンをクリックします。

Kiro基本画面

AGENT HOOKSにカーソルを合わせると表示される、Open Kiro Hook UIを選択します。

Open Kiro Hook UIを選択

Kiro Hookの設定画面が開きます。

Kiro Hook設定画面

各項目の意味は以下の通りです。

  • 1. Event occurs:イベント発生時(ファイル削除、プロンプト送信時など)にHookがトリガーされることの説明です。
  • 2. Action executes:イベント発生時にアクション(スクリプト実行やエージェントへのプロンプト送信)が実行されることの説明です。
  • 3. Context acquired:コンテキストを読み取り、読み取った情報を元に応答してくれることの説明です。

2. Hookの作成

画面下部のDescribe a hook using natural languageという入力欄に、AIに任せたい動作を入力します。
ここに入力した自然言語を元に、Kiroが自動的にHook設定を生成してくれます。

今回は以下の内容を入力します。

.py形式のファイルが保存されたときに、編集内容を読み取り、READMEに編集分を追記してください。

入力すると右上の マークが選択できるようになるのでクリックします。

すると、新しいチャットセッションが開き、Kiroが自動的にHookの作成を行います。

Hook作成中の様子

3. 設定内容の確認

作成されたHookの内容を確認してみましょう。

作成されたHook設定

Title

作成したフックの名前が設定されています。

Description

作成したHookの説明文が設定されています。

Event

イベント選択肢

何のアクションをトリガーとするかが設定されています。
今回はファイル保存時と指定したため、File Savedが選択されています。
他にも「File Created(ファイル作成時)」や「File Deleted(ファイル削除時)」などを選択可能です。

File Path(s) to watch

Eventを検知するファイルパスを指定しています。
今回は.py形式と指定したので、*.py となっています。
これにより、ファイル名に関係なく、拡張子が.pyのファイルが保存されたときにHookが起動します。

Instructions for Kiro agent

Hook起動時にKiro agentに投げるプロンプトが設定されています。

※全ての項目は手動で編集できるため、もし意図と違う設定になっていたら手動で修正を行いましょう。

動作確認:README自動更新

設定が完了したので検証を行います。
Kiroに「コマンドプロンプトで動作する簡単な電卓を作成して。パイソン形式でお願いします。」と依頼してみます。

Hookなしの場合

Hookを設定せずに依頼をした場合、calculator.py のみが作成されました。

Hookなしの場合の生成結果

Hookありの場合

Hookを設定した状態で依頼すると、calculator.py と同時に README.mdが作成されました。

Hookありの場合の生成結果

生成途中にHook欄を確認してみると、ロード中の表記になっており、Hookがバックグラウンドで動いていることがわかります。

Hook動作中の表示

Hookをクリックすると、別のセッションでREADMEを作成している様子を確認できました。

裏で動作するHookのセッション

生成されたREADMEの内容

自動生成されたREADMEは、以下のようにプログラムの機能や使用方法、変更履歴まで記述されていました。
しかし、1点だけ問題として、更新履歴の日付が1年前になっていました。
今回はKiroが自動で作成したHookをそのまま使用しましたが、手動で内容を修正することで、この点は改善できると思います。

# 簡単な電卓プログラム

基本的な四則演算をサポートするPython製の電卓アプリケーションです。

## 機能

- **足し算**: 2つの数値の加算
- **引き算**: 2つの数値の減算  
- **掛け算**: 2つの数値の乗算
- **割り算**: 2つの数値の除算(ゼロ除算エラー処理付き)
- **対話式インターフェース**: メニュー形式での操作選択
- **エラーハンドリング**: 無効な入力や例外処理

## 使用方法

```bash
python calculator.py
```

プログラムを実行すると、以下のメニューが表示されます:

```
=== 簡単な電卓 ===
操作を選択してください:
1. 足し算
2. 引き算
3. 掛け算
4. 割り算
5. 終了
```

1-4の数字を選択して計算を実行し、5で終了します。

## ファイル構成

- `calculator.py`: メインプログラムファイル

## 実装された機能

### 基本演算関数
- `add(x, y)`: 足し算
- `subtract(x, y)`: 引き算
- `multiply(x, y)`: 掛け算
- `divide(x, y)`: 割り算(ゼロ除算チェック付き)

### メイン機能
- `calculator()`: 対話式電卓のメイン関数
- ユーザー入力の検証
- エラーハンドリング(ValueError, KeyboardInterrupt)
- 継続的な計算セッション

## エラー処理

- ゼロ除算の防止
- 無効な数値入力の検出
- キーボード割り込み(Ctrl+C)への対応
- 無効なメニュー選択の処理

## 変更履歴

### 2024-12-25
- 初回作成: 基本的な四則演算電卓プログラムを実装
- 対話式メニューシステムの追加
- 包括的なエラーハンドリングの実装
- 日本語インターフェースでの実装

まとめ

今回はKiroにAgent Hookを設定し、ドキュメント作成を自動化する方法をご紹介しました。
Agent Hooksは、自然言語で簡単に作成でき、開発者のちょっとした手間をなくしてくれます。
ぜひ、身近な雑務をAgent Hooksで自動化し、効果を実感してみてください!



もし「このサービスについて知りたい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください。 複雑な内容に関するお問い合わせの場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>

<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>

※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

  • このエントリーをはてなブックマークに追加

お問い合わせ

Contact

ご質問やご相談、サービスに関する詳細など、何でもお気軽にご連絡ください。下記のお問い合わせフォームよりお気軽に送信ください。

お問い合わせ

資料ダウンロード

Download

当社のサービスに関する詳細情報を掲載した資料を、下記のページよりダウンロードいただけます。より深く理解していただける内容となっております。ぜひご活用ください。

資料ダウンロード