> 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/ai-agents/system-prompt.md).

# ロール指示

最終更新：2025-11-14

## 概要

役割指示（System Prompt）は、AI アシスタントの動作と回答スタイルを定義する中核的な設定です。役割指示を綿密に設計することで、AI アシスタントに特定の役割を担わせ、特定のルールに従わせ、ビジネスニーズに合った方法で質問に回答させることができます。

AI アシスタントの役割の説明と指示を記載します。これには、回答時に従うべきルールや SOP などが含まれます。毎回の回答で守る必要があるルールと考えることができます。重要な部分だけを記載してください。役割指示が多すぎると、AI が過剰なルールを処理しきれず、ルールに従わなくなる可能性があります。大量のデータや、関連する質問があった場合にのみ取得する必要があるデータは、ナレッジベースに保存してください。

## Metadata の処理メカニズム

### Metadata とは

Metadata（メタデータ）とは、ナレッジベースのドキュメントを説明する付加情報です。たとえば、以下があります。

* ドキュメントの分類
* 作成日
* 作成者情報
* 権限ラベル
* その他のカスタム属性

RAG（検索拡張生成）システムでは、Metadata は重要な役割を果たし、AI アシスタントがナレッジベースのコンテンツをより正確に絞り込んで使用するのに役立ちます。

### Metadata 除外ロジックの最適化

MaiAgent プラットフォームでは Metadata の処理ロジックを最適化し、システムがメタデータをより正確に処理できるようにしています。

#### 最適化の内容

**重複した除外ロジックの削除**

以前のバージョンでは、システムが特定の Metadata key を重複して確認・除外し、不要なパフォーマンス負荷が生じる可能性がありました。新しいバージョンでは、この重複したロジックを削除し、以下を実現しています。

* **処理効率の向上**：重複した確認手順を削減します
* **ロジックの明確化**：同じ除外ルールの重複実行を防ぎます
* **保守性の向上**：コード構造を簡潔にします

**影響範囲**

この最適化は主にシステム内部の Metadata 処理フローに影響します。ユーザーにとっては、以下のようになります。

* ✅ Metadata の絞り込み機能は正常に動作します
* ✅ 検索パフォーマンスが改善されます
* ✅ 回答の正確性は維持されます
* ✅ 既存の設定を変更する必要はありません

### 役割指示での Metadata の利用

#### 基本的な使用方法

役割指示では、AI アシスタントに Metadata の使用方法を指示できます。

```
あなたはプロフェッショナルなカスタマーサービスアシスタントです。質問に回答する際は、以下に従ってください。
1. 「official」カテゴリとしてマークされたドキュメントを優先して使用します
2. 公式ドキュメントが見つからない場合は、「community」カテゴリを参照します
3. 回答には、必ず情報源のカテゴリを明記します
```

#### Metadata の高度な利用

**権限管理**

```
ユーザーの権限レベルに応じて、該当するドキュメントのみを使用してください。
- VIP 顧客：すべてのドキュメントを参照できます
- 一般顧客：「public」とマークされたドキュメントのみ参照できます
- 新規顧客：「basic」カテゴリのドキュメントのみ参照できます
```

**鮮度の管理**

```
質問に回答する際は、以下のルールに従ってください。
1. 直近 3 か月以内に更新されたドキュメントを優先して使用します
2. 古いドキュメントを使用する場合は、最新情報の確認が必要な可能性があることを回答内で説明します
3. 「archived」とマークされたドキュメントは無視します
```

**多言語対応**

```
ユーザーの言語設定に基づいてドキュメントを選択してください。
- 繁体字中国語のユーザー：lang="zh-TW" のドキュメントを使用します
- 英語のユーザー：lang="en" のドキュメントを使用します
- 対応する言語がない場合は、デフォルトの言語を使用し、その旨を説明します
```

## Metadata のベストプラクティス

### 1. 明確な Metadata 構造を定義する

標準化された Metadata スキーマを作成します。

```json
{
  "category": "product-info",
  "language": "zh-TW",
  "access_level": "public",
  "last_updated": "2025-11-14",
  "status": "active"
}
```

### 2. 役割指示で Metadata の使用ルールを明確に説明する

```
# ドキュメントの使用ルール

## 優先順位
1. status = "active" かつ access_level がユーザーの権限と一致すること
2. category が質問のトピックと一致すること
3. last_updated が直近 6 か月以内であること

## 除外ルール
- status = "draft" のドキュメントは無視します
- access_level がユーザーの権限を上回るドキュメントは無視します
```

### 3. Metadata の設定を定期的に確認する

* Metadata の分類が実際の利用要件に合っているか確認します
* 使用されていない Metadata key がないか確認します
* Metadata が検索パフォーマンスに与える影響を評価します

## 技術的な詳細

### Metadata の処理フロー

```
1. ユーザーが質問します
   ↓
2. システムが質問を解析し、重要な情報を抽出します
   ↓
3. Metadata に基づいて候補ドキュメントを絞り込みます
   ↓
4. 検索システムが最も関連性の高いドキュメントの一部を見つけます
   ↓
5. LLM が役割指示と検索結果に基づいて回答を生成します
```

### パフォーマンス上の考慮事項

* **インデックス作成**：ファイルのアップロード時に Metadata のインデックスが作成されます
* **クエリ効率**：単純な Metadata の絞り込みは通常、ミリ秒単位で完了します
* **複雑なクエリ**：複数条件による Metadata の絞り込みには、時間がかかる場合があります

### システム上の制限

* 各ドキュメントの Metadata key は 20 個以内を推奨します
* Metadata value には短い文字列または数値を使用することを推奨します
* Metadata に大量のテキストコンテンツを保存しないでください

## 役割指示の例

<mark style="color:orange;">あなたはプロフェッショナルな XXX AI アシスタントです。</mark>

\ <mark style="color:blue;">すべきこと（回答の強化）：</mark>

1. <mark style="color:blue;">明確で正確かつ役立つ回答を提供します</mark>
2. <mark style="color:blue;">親しみやすくプロフェッショナルな対話姿勢を保ちます</mark>
3. <mark style="color:blue;">ユーザーの言語で回答し、日本語のユーザーには日本語を使用します</mark>
4. <mark style="color:blue;">有害または不適切なアドバイスは提供しません</mark>
5. <mark style="color:blue;">ユーザーのプライバシーを尊重し、機密情報を漏らしません</mark>
6. <mark style="color:blue;">正しい日本語で回答します</mark>
7. <mark style="color:blue;">コンテキストに応じて回答の詳細度を調整します</mark>
8. <mark style="color:blue;">必要に応じて追加の提案や関連情報を提供します</mark>
9. <mark style="color:blue;">回答する前に、ユーザーから明確な情報が提供されているか確認し、明確になってから回答します</mark>
10. <mark style="color:blue;">必要に応じて例を使用し、複雑な概念を説明します</mark>

<mark style="color:red;">すべきでないこと（回答の制限）：</mark>

1. <mark style="color:red;">誤った情報や未確認の主張を広めません</mark>
2. <mark style="color:red;">偏見または差別的な発言をしません</mark>
3. <mark style="color:red;">違法または不適切なコンテンツについて議論しません</mark>
4. <mark style="color:red;">実在の人物であるかのように振る舞いません</mark>
5. <mark style="color:red;">AI アシスタントの能力範囲を超えません</mark>
6. <mark style="color:red;">ナレッジベースの範囲外の質問には、「申し訳ありませんが、現在この質問には回答できません」と回答します</mark>

## 役割指示テンプレート

```yaml
# Persona
（AI アシスタントの役割を説明します）

# Context
（タスクの背景を説明します）

# Task
## Input
（提供されるデータを説明します）

## Output
（出力内容を説明します。形式やトーンを含め、Template を提供することもできます）

<template>
...
</template>

# Instructions
（タスクの手順を説明します）

1. ...
2. ...
3. ...
...

# Example
（出力例を 1～3 個記載します）

<example>
...
</example>

<example>
...
</example>

...

# Constraints
（出力の制限を説明します）

1. ...
2. ...
3. ...
...
```

## 関連リソース

* [役割指示の設計ガイド](https://docs.maiagent.ai/build/system-prompt)
* [ドキュメント管理：タグとメタデータ](https://docs.maiagent.ai/km/tags-and-metadata)
* [メタデータのクエリ](https://docs.maiagent.ai/org/querymetadata)

{% hint style="info" %}
[役割指示を生成する AI ツール](https://chat.maiagent.ai/web-chats/4b67b140-db5f-40dc-bce3-f2217e9574bd)
{% endhint %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.maiagent.ai/tech/ja/ai-agents/system-prompt.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
