> 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/maiagent-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="ja" の文書を使用
- 英語ユーザー：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/maiagent-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.
