Prompt Enrichment
プロンプトエンリッチメントが入力拡張を自動化し、AIの精度を向上させる仕組みを学びます。より賢いビジョンタスクのために、この技術をUltralytics YOLO26で使用する方法を発見しましょう。
プロンプトエンリッチメントとは、人工知能 (AI) モデルに入力する前に、ユーザーの初期入力に関連コンテキスト、特定の指示、または補助データを自動的に付加するプロセスです。この手法は、人間と機械の対話を最適化するインテリジェントなミドルウェアレイヤーとして機能し、大規模言語モデル (LLM) やコンピュータビジョンシステムが包括的なクエリを受け取れるようにします。過去の好み、位置情報、技術的制約など、ユーザーが省略する可能性のある詳細情報を注入することで、プロンプトエンリッチメントは、ユーザーが詳細な指示を作成する専門家でなくても、モデル出力の精度とパーソナライゼーションを大幅に向上させます。
Link to this sectionエンリッチメントのメカニズム#
プロンプトエンリッチメントの核心的な機能は、人間の曖昧な意図と、モデルが最適なパフォーマンスを発揮するために必要とする正確でデータ豊富な入力との間のギャップを埋めることです。クエリを受信すると、システムはそれを分析し、ナレッジグラフや構造化データベースから必要な背景情報を取得します。この取得されたデータはプログラムによってフォーマットされ、元のプロンプトに付加されます。
例えば、自然言語処理 (NLP) のワークフローにおいて、「状態はどうなっていますか?」という単純な質問はコンテキストとして不十分です。エンリッチメントシステムはアクティブなセッションを特定し、トランザクションデータベースから最新の注文番号を取得して、プロンプトを「ユーザーが現在配送中の注文 #998 について尋ねています。このステータスに基づいて配送状況を提供してください」のように書き換えます。このプロセスでは、意味的に関連するコンテキストを迅速に見つけて注入するために、ベクトルデータベースがよく使用されます。
Link to this section実社会での応用#
プロンプトエンリッチメントは、さまざまな業界で堅牢な生成AIアプリケーションを展開するために不可欠であり、テキストベースおよび視覚ベースの両方のシステムを強化します。
-
コンテキスト認識型カスタマーサポート: 自動化されたヘルプデスクでは、チャットボットがエンリッチメントを使用して、顧客の購入履歴や技術環境にアクセスします。ユーザーにデバイスのバージョンを尋ねる代わりに、システムはアカウントメタデータからそれを取得し、プロンプトに注入します。これにより、AIエージェントは即座にデバイス固有のトラブルシューティング手順を提供できるようになり、カスタマーエクスペリエンスを大幅に向上させます。
-
動的なコンピュータビジョン設定: セキュリティ運用において、ユーザーは単に「ナイトモード」設定を切り替えるだけかもしれません。舞台裏では、プロンプトエンリッチメントがこの高レベルな意図を、YOLO-Worldのようなオープンボキャブラリー検出器のための特定のオブジェクトクラスに変換します。システムは「懐中電灯」、「不審な動き」、「許可されていない人物」を具体的にスキャンするようにプロンプトを充実させ、モデルが物体検出の焦点を動的に適応できるようにします。
Link to this section例:動的クラスエンリッチメント#
以下の Python の例では、ultralytics パッケージを使用したプロンプトエンリッチメントの概念を示しています。ここでは、ユーザーの高レベルな意図が、モデルがスキャン対象とする特定の記述的なクラスのリストへとプログラム的にエンリッチされています。
from ultralytics import YOLO
def run_enriched_inference(user_mode):
"""Enriches a simple user mode into specific detection prompts."""
# Load a YOLO-World model capable of open-vocabulary detection
model = YOLO("yolov8s-world.pt")
# Enrichment Logic: Map simple user intent to detailed class prompts
context_map = {
"site_safety": ["hard hat", "safety vest", "gloves"],
"traffic": ["car", "bus", "traffic light", "pedestrian"],
}
# Inject the enriched context into the model
enriched_classes = context_map.get(user_mode, ["object"])
model.set_classes(enriched_classes)
# The model now looks for the specific enriched terms
print(f"Mode: {user_mode} -> Enriched Prompt: {enriched_classes}")
run_enriched_inference("site_safety")Link to this sectionプロンプトエンリッチメントと関連概念の比較#
効果的な機械学習運用 (MLOps) を実装するには、プロンプトエンリッチメントと類似の用語を区別することが役立ちます。
- 検索拡張生成 (RAG): RAGは、エンリッチメントの特定の手法です。これは、モデルの応答を根拠付けるために外部コーパスから関連文書を取得するメカニズムのみを指します。エンリッチメントは、RAGを含むより広範な概念であり、複雑な意味検索を必ずしも実行することなく、静的なセッションデータ、ユーザーメタデータ、またはシステム時刻を注入することもカバーします。
- プロンプトエンジニアリング: これは、効果的なプロンプトを設計する手作業の技術です。エンリッチメントは、プロンプトエンジニアリングの原則を実行時に動的に適用する自動化されたプロセスです。
- プロンプトチューニング: これは、学習中に「ソフトプロンプト」(学習可能なテンソル)を最適化するパラメータ効率的なファインチューニング (PEFT)の手法です。プロンプトエンリッチメントは完全にリアルタイム推論中に行われ、モデルの重みを変更することはありません。
- Few-Shot学習: これには、モデルにタスクを教えるためにプロンプト内に例を提供することが含まれます。エンリッチメントシステムは、多くの場合、タスクタイプに基づいてこれらのFew-Shotの例を動的に注入し、両方の概念を効果的に組み合わせます。
Link to this section現代のAIシステムにおける関連性#
Ultralytics YOLO26 や GPT-4 のようなモデルの能力が高まるにつれ、ボトルネックは入力の品質に移行することが多くなっています。プロンプトエンリッチメントは、モデルに事実に基づいた提供データを根拠付けることで、LLMにおけるハルシネーションを軽減します。コンピュータビジョン (CV) においては、システムに送られるテキストプロンプトを変更するだけで、再学習することなく新しい環境に即座に適応できる柔軟なゼロショット学習検出システムを実現します。この柔軟性は、テキストと画像の両方を推論できるスケーラブルなマルチモーダルAIソリューションを構築するために不可欠です。これらのシステムの根拠付けに使用されるデータセットを管理しようとするユーザーは、Ultralytics Platform のようなツールを使用して、情報を効果的に整理およびアノテーションすることがよくあります。






