Role Prompting
役割付与
やくわりふよ
Definition
Role prompting is a technique that assigns a role or persona (e.g., "You are a reviewer") to encourage answers in a desired tone and perspective. It can improve consistency and relevance.
同じ質問でも「あなたは新人エンジニアです」と「あなたはシニアアーキテクトです」では、LLMの回答の深さや視点がまるで変わります。役割付与(Role Prompting)とは、LLMに特定のペルソナ・専門性・視点を設定し、その立場から回答させるプロンプト手法です。
なぜ役割が出力を変えるのか
LLMは膨大なテキストデータから学習しており、医師の書いた文章、弁護士の書いた文章、教師の書いた文章などをそれぞれ大量に読み込んでいます。「あなたは〇〇です」と役割を与えると、モデルはその職業や立場に関連する語彙・思考パターン・説明スタイルを優先的に使用するようになります。役割の指定は、モデルの膨大な知識のなかから特定の「引き出し」を開ける鍵のようなものです。
効果的な役割の設定方法
単に「あなたはエンジニアです」と書くだけでは効果が限定的です。より効果を高めるには、経験年数、専門分野、対象読者を含めて具体的に設定します。「あなたはクラウドインフラに10年の経験を持つSREエンジニアで、後輩への技術指導を担当しています」のように詳細にするほど、回答のトーンと内容が安定します。また、「常にセキュリティの観点からリスクを指摘すること」のように、役割に期待する具体的な行動を追記すると一層効果的です。
活用パターン
役割付与の代表的な活用パターンは多岐にわたります。専門家の視点を借りるパターンでは、法律文書のレビューに「企業法務の弁護士」を、医療情報の整理に「臨床医」の役割を設定します。対象読者に合わせるパターンでは、「小学生に教える先生」と設定して技術概念を平易に説明させます。批判的レビューのパターンでは、「厳格なコードレビュアー」を設定して、見落としがちなバグやアンチパターンを指摘させます。
注意点と限界
役割付与は出力のスタイルと焦点を変える手法であり、モデルが持っていない知識を生み出すわけではありません。存在しない法律や架空の医学知識を「専門家として」自信満々に回答するリスクもあります。特に医療・法律・金融などの専門分野では、役割付与による回答を鵜呑みにせず、必ず事実確認を行う必要があります。また、複数の矛盾する役割を同時に設定すると、出力が不安定になる点にも注意が必要です。
システムプロンプトとの組み合わせ
実務では、役割付与はシステムプロンプトに記述するのが一般的です。システムプロンプトで役割を定義しておけば、会話の途中でユーザーが異なる話題を振っても一貫した人格と視点が維持されます。「役割をどう設定するか」は、AIアシスタントの品質設計において最初に検討すべき項目の一つです。