トピックと範囲の制限
AI の対象を特定の分野に限定し、脱線や余談を避けます。
「トピックと範囲の制限」はCoddyKit上の無料AI Prompt Engineeringレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Prompt Engineering学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Prompt Engineeringコースには全4レッスンが含まれています。
範囲が重要な理由
AIモデルは、役立つ包括的な回答をするように訓練されています。制約を設けないと、特定の用途には必要ない背景、前提、代替案、注意事項まで含めることがよくあります。
プロンプトのスコープ制限は、トピック、分野、視点、または考慮事項の集合など、定義された境界内にとどまるようモデルに指示します。これがないと、広い意味では正しいものの、直接的には役立てにくい回答になりがちです。
Xだけに集中する
最も直接的なスコープ指定のパターンは、「Xだけに集中する」です。
- 「セキュリティへの影響だけに集中し、パフォーマンスについては説明しないでください。」
- 「オンボーディングのプロセスだけを扱い、製品の全機能については扱わないでください。」
- 「オープンソースのツールだけを説明してください。商用製品には触れないでください。」
このパターンは、Xが明確に定義された限定的なカテゴリである場合に最も効果的です。「重要なことに集中してください」のように焦点が曖昧な指示は、主観的すぎて役に立ちません。
Yに言及しない
除外の制約は、扱ってほしくない特定のトピックを取り除きます。
- 「価格や費用について言及しないでください。」
- 「2008年の金融危機への言及を一切避けてください。」
- 「このアプローチの制限について説明しないでください。」
- 「政党への言及を一切含めないでください。」
除外の制約は、モデルが自然に含めるであろう内容をあらかじめ外したい場合に役立ちます。ブランドセーフなコンテンツや、コンプライアンスに関わるコンテンツでは特に重要です。
Zの話題の範囲にとどまる
分野を限定する制約は、モデルを特定の分野やコンテキストの範囲内にとどめます。
- 「モバイルアプリ開発の話題に限定してください。」
- 「回答を小規模小売事業者の状況に限定してください。」
- 「Python 3.10以降の範囲内に収めてください。」
- 「回答ではEUの規制に関する内容だけを扱ってください。」
分野の範囲を限定することは、特定の業界向けアプリケーションでモデルを使う場合に特に重要です(たとえば、料理アシスタントが医療上の助言をしてはいけない場合などです)。
競合他社についての説明を除外する
競合他社の除外は、マーケティングや製品コンテンツでよく求められる要件です。
- 「競合製品の名前を挙げたり、比較したりしないでください。」
- 「自社製品の強みに集中してください。競争環境については言及しないでください。」
- 「他のCRMツールとの比較を一切避けてください。」
このスコープ制限は、AIが生成するコンテンツをブランドセーフに保つために重要です。インターネット上のデータで訓練されたモデルは競合他社について知っているため、明示的に制限しないと競合他社に言及します。
視点に関するスコープ制限
トピックだけでなく、モデルが取る視点も制限できます。
- 「リモートワークに賛成する主張だけを示し、反論は含めないでください。」
- 「初めて住宅を購入する人の視点だけから分析してください。」
- 「技術的な実装に集中し、ビジネスや戦略上の考慮事項については説明しないでください。」
視点の制限は、特定の目的のために部分的な分析が必要な場合に役立ちます。たとえば、討論の準備資料、特定の関係者向けのレポート、一面的な説得文などです。
システムプロンプトでのスコープ制限
スコープを継続的に制限する必要があるアプリケーションでは、その制限をシステムプロンプトに記述してください。これにより、ユーザーが意図せず、または意図的にモデルを想定された分野の外へ誘導することを防げます。
import openai
client = openai.OpenAI(api_key='sk-...')
system_prompt = '''You are a customer support assistant for Acme SaaS, a project management tool.
Scope restrictions:
- Answer only questions related to Acme SaaS features, pricing, and account management
- Do not discuss competitor products by name
- Do not give legal, financial, or medical advice
- If a question is outside your scope, say: "I can only help with Acme SaaS questions. For that topic, please consult an appropriate professional."
'''
def support_chat(user_message):
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': system_prompt},
{'role': 'user', 'content': user_message}
]
)
return response.choices[0].message.contentスコープ制限が失敗するパターン
スコープ制限が常に完全に守られるとは限りません。よくある失敗のパターンは次のとおりです。
- 逸脱 — 回答の前半ではスコープ内にとどまるものの、その後に範囲外へ外れる
- 暗黙的な包含 — 明示的な言及は制限したものの、モデルが制限対象の内容を暗に示す
- 境界が曖昧 — スコープの定義が十分に正確でないため、モデルが一貫して適用できない
3つすべてに共通する対策は、スコープの境界をより明示的かつ具体的にすることです。「話題から外れないでください」とだけ指示するのではなく、対象に含めるものと含めないものを2つの独立したリストにして、正確に列挙してください。
肯定的なスコープ指定と否定的なスコープ指定
スコープは、含めるもの(包含)または除外するもの(非包含)として指定できます。どちらも役立ち、組み合わせて使うこともできます。
肯定的(包含): 「次の内容だけを扱ってください:機能の説明、料金プラン、統合オプション。」
否定的(除外): 「次の内容は含めないでください:会社の沿革、チームのプロフィール、技術アーキテクチャの詳細。」
複雑なスコープ要件には、両方を使ってください。対象範囲のリストと対象外のリストを明示的に定義します。この二重の境界は、どちらか一方の指定だけを使うより堅牢です。
時間的スコープの制約
時間的スコープの制約は、モデルが注目すべき期間を限定します。
- 「2020年から現在までの出来事だけを扱ってください。」
- 「技術の歴史的な発展ではなく、現在の状態に焦点を当ててください。」
- 「2022年以降の発展は無視してください。読者はまだそれらを知らないためです。」
こうした制約は、背景知識が限られた読者向けに文章を書く場合や、歴史的な背景が実用的で現在に焦点を当てた回答の妨げになる場合に役立ちます。ただし、モデルには知識のカットオフによる制限があり、ごく最近の出来事については正確さに影響する可能性があります。
粒度のスコープ:概要レベルと詳細
スコープによって、粒度や深さも制御できます。
- 「概要だけを説明してください。技術的な実装の詳細には踏み込まないでください。」
- 「実装の具体的な内容に焦点を当ててください。概念的な背景は省略してください。」
- 「戦略レベルにとどめてください。戦術的な詳細はこの文書の対象外です。」
粒度のスコープの制約は、階層化されたドキュメントを作成する場合に特に役立ちます。たとえば、経営層向けとエンジニア向けにそれぞれ別の版を用意し、互いのレベルに入り込まず、それぞれに適したレベルを保つ必要がある場合です。
理解度チェック:スコープの制約
料理アシスタントアプリケーション向けのプロンプトを書いています。このアシスタントは、レシピ、食材、調理技術、キッチン用品について支援する必要があります。栄養に関する助言、医学的な食事指導、食物アレルギーに関する警告を提供したり、食べ物以外の話題を扱ったりしてはいけません。
このスコープを最も適切に定義するシステムプロンプトはどれですか。
まとめ:トピックとスコープの制約
スコープの制約は、対象に含めるものと含めないものを定義することで、AIの出力を絞り込みます。基本的なパターンは、Xだけに焦点を当てる、Yに言及しない、Zの領域内にとどめる、視点を限定する、の4つです。
最も堅牢なスコープの定義は、肯定と否定の両方の表現を組み合わせ、曖昧な用語ではなく明示的なリストを使い、継続的に使うアプリケーションでは制約をシステムプロンプトに記述します。
次のレッスンでは、スタイルレベルで制約を適用し、モデルが何を言うかだけでなく、どのように言うかを制御する方法を学びます。
よくある質問
「トピックと範囲の制限」レッスンは無料ですか?
はい。「トピックと範囲の制限」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Prompt Engineeringコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Prompt Engineeringコースには全4レッスンが含まれています。
「トピックと範囲の制限」で何を学びますか?
AI の対象を特定の分野に限定し、脱線や余談を避けます。 ブラウザで直接実行するハンズオンコードでAI Prompt Engineeringを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Prompt Engineeringを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Prompt Engineeringは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「トピックと範囲の制限」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Prompt Engineeringレッスンでコードを書いて実行できますか?
はい。すべてのAI Prompt Engineeringレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 単語数と長さの制限
- トピックと範囲の制限
- コンテンツのスタイルに関する制約
- 複数の制約を組み合わせる