Prompt Engineering
AIとコンピュータビジョンのためのプロンプトエンジニアリングを習得します。LLMやUltralytics YOLO26のようなマルチモーダルモデルに対して入力を最適化し、優れた結果を達成する方法を学びましょう。
プロンプトエンジニアリングは、人工知能 (AI) モデルをガイドして、正確かつ適切で高品質な出力を生成させるために、入力テキストを設計、改良、最適化する戦略的プロセスです。GPT-4のような大規模言語モデル (LLM) の登場とともに注目を集めたこの分野は、テキスト、画像、ビデオなど、さまざまなモダリティにわたる生成AI システムと対話するための重要なスキルへと進化しました。再学習を通じて基礎となるモデルウェイト を変更するのではなく、プロンプトエンジニアリングは、システムが最も理解しやすい形でタスクを構築することでモデルの既存知識を活用し、人間の意図とマシンの実行との間のギャップを埋めます。
Link to this section効果的なプロンプティングのメカニズム#
プロンプトエンジニアリングは、その核心において、基盤モデル がコンテキストと命令をどのように処理するかを理解することに依存しています。適切に構築されたプロンプトは、明示的な制約、望ましい出力形式(JSON やMarkdownなど)、および関連する背景情報を提供することで、曖昧さを軽減します。熟練した実践者は、フューショット学習 のような手法を活用します。これでは、ユーザーがプロンプト内にいくつかの入力と出力のペア例を提供することで、望ましいパターンを実証します。
もう一つの強力な戦略は思考の連鎖プロンプティング (chain-of-thought prompting) です。これは、モデルに複雑な推論タスクを中間ステップに分解するように促すものです。これにより、論理重視のクエリにおけるパフォーマンスが大幅に向上します。さらに、モデルが一度に処理できるテキスト量の制限であるコンテキストウィンドウ の使用を最適化することは、長期的な対話において一貫性を維持するために不可欠です。OpenAIのプロンプト設計ガイド などの外部リソースは、エッジケースに効果的に対応するための反復的な改良の重要性を強調しています。
Link to this sectionコンピュータビジョンにおける関連性#
While often associated with text, prompt engineering is increasingly vital in Computer Vision (CV). Modern multi-modal models and open-vocabulary detectors, such as YOLO-World, allow users to define detection targets using natural language processing (NLP) rather than pre-defined numerical class IDs.
この文脈において、「プロンプト」とはオブジェクトのテキスト説明(例:「赤いヘルメットをかぶった人」)です。ゼロショット学習 として知られるこの機能により、システムは視覚的特徴とセマンティック埋め込みの間に学習済みの関連付けを活用することで、明示的に学習していないオブジェクトを検出できます。クラスが固定されている高速な本番環境では、開発者は最終的にプロンプトベースのモデルから YOLO26 のような効率的で再学習済みのモデルへ移行するかもしれませんが、ラピッドプロトタイピングと柔軟性の点ではプロンプトエンジニアリングが鍵となります。
Link to this section実社会での応用#
プロンプトエンジニアリングは、柔軟でインテリジェントな自動化を実現することで、多様な業界で価値を生み出します。
- 動的な視覚分析: 小売におけるAI では、店舗マネージャーがプロンプトベースのビジョンモデルを使用して、技術的な介入なしに特定のアイテムを検索します。ある日は「空の棚」を追跡し、翌日は「置き間違えられた商品」を追跡するようにシステムにプロンプトを指示できます。この柔軟性により、企業は物体検出 システムを季節のトレンドに即座に適応させることができます。
- Automated Content Creation: Marketing teams rely on detailed prompts to guide text-to-image generators like Stable Diffusion or Midjourney. By engineering prompts that specify lighting, artistic style, and composition, designers can rapidly generate visual assets.
- インテリジェントな知識検索: カスタマーサポートでは、エンジニアが検証済みの企業データのみを使用してクエリに回答するようにチャットボット に指示する「システムプロンプト」を設計します。これは検索拡張生成 (RAG) の主要なコンポーネントであり、AIが役立つパーソナリティを維持しつつ、LLMにおけるハルシネーション を回避することを保証します。
Link to this sectionUltralyticsによる実装#
次の例は、ultralytics パッケージを使用してプロンプトエンジニアリングがプログラム的にどのように適用されるかを示しています。ここでは、テキストプロンプトを受け入れて検索対象のオブジェクトを動的に定義する YOLO-World モデルを使用しており、固定クラスリストを使用する YOLO26 のような標準的なモデルと対照的です。
from ultralytics import YOLO
# Load a YOLO-World model capable of interpreting text prompts
model = YOLO("yolov8s-world.pt")
# Apply prompt engineering to define custom classes dynamically
# The model maps these text descriptions to visual features
model.set_classes(["person in safety vest", "forklift", "blue hardhat"])
# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Show results - the model only detects objects matching the prompts
results[0].show()Link to this section関連概念の区別#
Ultralytics Platform を通じてAIソリューションを効果的にデプロイするには、プロンプトエンジニアリングを同様の最適化手法と区別することが重要です。
- プロンプトエンジニアリング vs. プロンプトチューニング: プロンプトエンジニアリングには、自然言語入力を手動で作成することが含まれます。対照的に、プロンプトチューニングは、トレーニングフェーズ中に「ソフトプロンプト」(連続ベクトル埋め込み)を学習するパラメータ効率の高いファインチューニング (PEFT) メソッドです。これらのソフトプロンプトは、人間のユーザーからは見えない数学的な最適化です。
- プロンプトエンジニアリング vs. ファインチューニング: ファインチューニングは、特定のトレーニングデータセット を使用してモデルのウェイトを恒久的に更新し、タスクに特化させます。プロンプトエンジニアリングはモデル自体を変更せず、リアルタイム推論 中に入力を最適化するだけです。
- プロンプトエンジニアリング vs. プロンプトインジェクション: エンジニアリングが建設的であるのに対し、プロンプトインジェクションは、悪意のある入力によってモデルが安全性の制約を無視するように操作されるセキュリティ上の脆弱性です。AI安全性 を確保するには、そのような敵対的なプロンプトに対する強力な防御が必要です。






