# EMQX Agents テンプレートの使用

EMQX Agents は、一般的な MQTT 自動化シナリオ向けに組み込みのテンプレートを提供しています。テンプレートはそのまま使用することも、チャット開始前に指示内容をカスタマイズしてからエージェントをデプロイすることも可能です。

::: tip

組み込みテンプレートは読み取り専用です。新規作成、直接編集、削除はできません。テンプレートを使用する際にのみ指示内容をカスタマイズできます。

テンプレート使用時に指示内容をカスタマイズすると、その変更は新しいチャットとワークスペースにのみ適用され、元のテンプレートは変更されません。

:::

## 前提条件

テンプレートを使用する前に：

- 稼働中の EMQX Agents デプロイメントへのアクセス権を取得してください。
- 構築したい動作に必要なコネクターを追加し、認可してください。詳細は [Connectors](./connectors.md) を参照してください。

## テンプレートの参照

EMQX Agents デプロイメントの左側ナビゲーションメニューで **Templates** をクリックします。Templates ページには、デプロイメントで利用可能な組み込みテンプレートが表示されます。各テンプレートカードには名前、簡単な説明、テンプレートで使用されるサービスのアイコンが表示されます。

![agents_templates_list](./_assets/agents_templates_list.png)

テンプレートカードをクリックすると詳細ページが開きます。テンプレートを使用する前に以下の情報を確認してください：

- **Instructions**：エージェントが各一致イベントに対して実行する動作
- **Trigger**：イベントソースとトリガー設定（例：MQTT トピックフィルターや QoS レベル）
- **Tools**：エージェントが利用可能なツールやサービス連携

## テンプレートの使用とカスタマイズ

1. テンプレート詳細ページで **Use Template** をクリックします。
2. **Use Template** パネルで **Instructions for new chat** を確認します。
3. [任意] 編集アイコンをクリックして、作成したいエージェントの指示内容をカスタマイズします。
4. テンプレートで定義されている場合は、必要な変数を入力します。
5. 必要なコネクターを選択します。利用可能なフィールドは、テンプレートで使用されるサービス（EMQX Broker、EMQX Tables、Slack など）によって異なります。
6. **Start Chat** をクリックします。

![agents_use_template](./_assets/agents_use_template.png)

EMQX Agents はテンプレートから新しいチャットとワークスペースを作成します。新しいワークスペースは、テンプレートベースのチャットに提出された指示、変数、コネクターを使用します。元のテンプレートは変更されません。

## テンプレート動作のカスタマイズ

テンプレートの指示内容をカスタマイズすると、EMQX Agents は新しいチャット内のエージェント設定および関連コンテンツを要求された動作に合わせて更新します。これらの変更は元のテンプレートには影響しません。

カスタマイズした動作で変数やコネクターが不要になった場合、EMQX Agents はその要件を削除します。必要な変数やコネクターが不足している場合は、Builder がチャット内で入力を求めます。

例えば、テンプレートを Slack 通知送信から MQTT メッセージのパブリッシュに変更した場合、新しいチャットでは Slack チャンネルや Slack コネクターは不要になります。EMQX Broker コネクターやターゲットトピックが不足している場合は、Builder が入力を求めます。

## エージェントの検証とデプロイ

EMQX Agents は生成されたエージェント定義を検証してからデプロイを有効にします。必要な情報が不足している場合は、Builder がチャット内で入力を求めます。

検証が成功したら：

1. 生成されたエージェントの動作を確認します。
2. **Deploy Agent** をクリックします。
3. **Deploy Agent** ダイアログで生成された **Agent Name** と **Description** を確認または編集します。
4. **Deploy Agent** をクリックします。
5. **Agents** ページにエージェントが表示され、**Running** ステータスになることを確認します。

![agents_template_deploy_proposal](./_assets/agents_template_deploy_proposal.png)

## 次のステップ

- [チャット内でエージェントを洗練する](./chats.md#refine-the-agent-definition)
- [エージェントの管理](./agents.md)
- [コネクターの管理](./connectors.md)
