> For the complete documentation index, see [llms.txt](https://docs.maiagent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maiagent.ai/tech/ja/advanced-genai-tech/guardrails.md).

# AI ガードレール

MaiAgent の AI 安全対策について、顧客が設定できる Hook メッセージインターセプト（個人情報のマスキング、コンテンツ安全性の分類など）と、MaiAgent が設定する ICAP コンテンツ検証および AWS Bedrock Guardrails、それぞれの適用箇所と制限を説明します。

MaiAgent は、コンテンツが大規模言語モデルに出入りする経路上で、複数の保護機能を提供します。これらはシステムによって強制的に実行され、モデルの「自制」に依存しません。このページでは、各機能を誰が設定するか、どこで作用するか、どのような場面に適しているかを説明します。管理画面での操作手順はユーザーマニュアルを参照してください。

## 機能の概要 <a href="#overview" id="overview"></a>

| 機能                                                                      | 設定できる人                      | 適用箇所                                           | 適した場面                                                                    |
| ----------------------------------------------------------------------- | --------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------ |
| [Hook メッセージインターセプト](#hook)                                              | 「Hook 権限」を持つメンバーが管理画面で設定します | コンテンツをモデルに送信する前、AI の回答を送信する前                   | 個人情報のマスキング、プロンプトインジェクションや不適切なコンテンツの遮断、機密語句の検出、回答のチェック                    |
| [ICAP コンテンツ検証](/tech/ja/advanced-genai-tech/icap-content-validation.md) | MaiAgent が組織の要件に応じて設定します    | 会話メッセージと添付ファイル、ナレッジベースのファイル（範囲は該当ページを参照してください） | 既存の ICAP ウイルス対策／DLP サービスを持ち、既存のセキュリティ管理に組み込む必要がある企業                      |
| [AWS Bedrock Guardrails](#aws-bedrock-guardrails)                       | MaiAgent のみが Agent に設定できます  | ユーザー入力、AI の回答                                  | Bedrock Guardrails のポリシー（コンテンツフィルタリング、拒否するトピック、個人情報のマスキング、根拠のチェック）が必要な場面 |

この 3 つの機能は、それぞれ個別に設定・実行されます。共通のポリシー層や、統一された「遮断／警告／許可」のルール表はありません。Hook はコンテンツを書き換えたり遮断したりし、Bedrock Guardrails は自身のポリシーに従って遮断またはマスキングし、ICAP はスキャン結果に応じてファイルを許可または拒否します。複数の機能を有効にしている場合、コンテンツはそれぞれのチェックを通過します。いずれかの機能が遮断した場合、モデルやユーザーには送信されません。また、プラットフォームはサードパーティーの実行時プロンプトインジェクション対策製品（WAF や AI ファイアウォールなど）を統合していません。このような制御が必要な場合は、ユーザーと MaiAgent の間のネットワーク層に配置するか、Hook のプロンプトインジェクション検出を使用してください。

{% hint style="warning" %}
**システムプロンプトはセキュリティ制御ではありません。** システムプロンプトは Agent の口調や回答範囲を導くことができますが、モデルに送信するテキストにすぎません。モデルが誘導されて従わない場合があり、すでに検索された文章も遮断できません。特定のコンテンツが「確実に」モデルに入らない、または回答に現れないようにするには、このページの機能を使用してください。ユーザーが検索できる文書を制限するには、[Query Metadata](/tech/ja/identity-and-access/zhi-shi-guan-li-quan-xian-query-metadata-cha-xun-yuan-zi-liao-zong-lan.md) を使用してください。システムプロンプトの書き方は、ユーザーマニュアルの [システムプロンプト設計ガイド](https://docs.maiagent.ai/build/agent/system-prompt) を参照してください。
{% endhint %}

## Hook メッセージインターセプト <a href="#hook" id="hook"></a>

Hook は顧客が自分で設定できる保護層です。テンプレートから Hook を作成し、パラメーターを調整してから Agent に適用します。1 つの Agent に複数の Hook を適用でき、順番に実行されます。

**利用条件**：プラットフォームで Hook 機能が有効になっており、組織に Hook の利用権がある必要があります（エンタープライズプランには自動的に付与されるほか、MaiAgent が個別に有効化することもあります）。管理画面に Hook メニューが表示されない場合は、MaiAgent の担当者にお問い合わせください。

### 適用箇所と処置 <a href="#hook-trigger-points" id="hook-trigger-points"></a>

| タイミング           | チェックするコンテンツ                                              |
| --------------- | -------------------------------------------------------- |
| コンテンツをモデルに送信する前 | ユーザーメッセージ、添付ファイルの内容、ナレッジベースから検索された文章、Agent モードでのツールの返却結果 |
| AI の回答を送信する前    | Agent が生成した回答                                            |

処置には、**書き換え**（例えば、個人情報をマスキングしてから送信します）と **遮断**（そのコンテンツを遮断し、カスタムメッセージを返します）の 2 種類があります。添付ファイルの内容、ナレッジベースの文章、ツールの結果が遮断された場合、その部分だけがモデルに送信されず、会話は中断されません。

### 検出方法 <a href="#hook-detection" id="hook-detection"></a>

| 方法             | 説明                                                                             | データの送信先                  |
| -------------- | ------------------------------------------------------------------------------ | ------------------------ |
| ルール照合          | Email、携帯電話番号、個人識別番号、クレジットカード番号、指定した禁止語句などを、形式やキーワードで照合します                      | MaiAgent プラットフォーム内で処理します |
| 大規模言語モデルによる判定  | 選択したモデルを使い、プロンプトインジェクション攻撃かどうか、回答に根拠が欠けているかなどを判定します                            | 選択したモデルに送信します            |
| 個人情報検出サービス     | 名前や住所など、固定形式のない個人情報を検出します。現在は Google Cloud DLP を提供しています                        | 検出サービスに送信します             |
| コンテンツ安全性分類サービス | ヘイト、ハラスメント、性的コンテンツ、暴力、自傷、違法行為、脱獄攻撃などのカテゴリで判定します。現在は OpenAI Moderation を提供しています | 分類サービスに送信します             |

個人情報検出とコンテンツ安全性分類では、スキャンした文字数に応じてクレジットが消費されます（1,000 文字単位）。利用可能なテンプレート、各テンプレートのパラメーター、各インターセプトの記録については、ユーザーマニュアルの [Hook メッセージインターセプト](https://docs.maiagent.ai/build/hook)、[Hook の追加と設定](https://docs.maiagent.ai/build/hook/setup)、[Hook 実行記録](https://docs.maiagent.ai/build/hook/execution-logs) を参照してください。

## AWS Bedrock Guardrails <a href="#aws-bedrock-guardrails" id="aws-bedrock-guardrails"></a>

AWS Bedrock Guardrails は AWS が提供する保護サービスです。MaiAgent は個別の Agent に Guardrail（ID とバージョン）を指定できます。その後、その Agent の会話は指定された Guardrail のチェックを受けます。

* **ユーザー入力**：モデルに送信する前にチェックします。遮断ルールに該当すると、Guardrail に設定された遮断メッセージを直接返します。
* **AI の回答**：送信する前に、質問や検索された文章とあわせてチェックします。遮断ルールに該当すると遮断メッセージに置き換え、マスキングルールに該当するとマスキング後の内容を返します。

利用上の制限：

* **MaiAgent のみが設定できます**：管理画面には設定項目がありません。Guardrail は、MaiAgent プラットフォームが呼び出す AWS 環境に作成する必要があります。顧客自身の AWS アカウントに作成した Guardrail は直接適用できません。必要な場合は MaiAgent の担当者にお問い合わせください。
* **回答は逐次ストリーミングされません**：Guardrail を適用した Agent は、チェック完了後に回答全体を一度に送信します。
* AWS Bedrock に接続できる必要があります。オフラインのオンプレミス環境では利用できません。

AWS が不要な場合は、自分で設定できる [Hook](#hook) を優先して使用することをお勧めします。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.maiagent.ai/tech/ja/advanced-genai-tech/guardrails.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
