マイクロンのテクノロジー用語集

Prompt engineering(プロンプトエンジニアリング)

放射状のぼやけた明るい光

生成AIは、人工知能の一分野として存在感を高めており、多くの人にとって生成AIチャットボットは日常的に使用するテクノロジーになりつつあります。プロンプトエンジニアリングとは、人間が生成AIとやり取りする際に、モデルが内容を正確に理解し、効果的に応答できるようクエリを作成・調整するプロセスです。この手法により、AIシステムから正確で関連性の高い情報を得られるようになります。

プロンプトエンジニアリングとは?

プロンプトエンジニアリングの定義:プロンプトエンジニアリングとは、人工知能(AI)ツールが情報を正確に解釈・処理し、最適な結果を生成できるように、入力内容を作成・調整する手法です。

プロンプトエンジニアリングにより、あらゆるAIツールの有効性を大幅に高めることができます。こうした人工知能ツールに追加の背景情報を提供することで、より効果的で正確な出力が得られます。

ユーザーが生成AIモデルに簡単なクエリやプロンプトを入力した場合は、得られる出力もシンプルなものになります。一方、詳細で複雑なクエリを入力すると、モデルは通常、詳細で有益な回答を出力します。

プロンプトエンジニアリングがなければ、モデルがクエリを理解し、十分に応答することができないため、詳細な回答を得ることはできません。

生成AIツールの他の微調整方法と同様に、ツールが学習し適応できるようにするには、創造性とテストの両方を組み合わせることが重要です。プロンプトエンジニアリングでは、AIツールに最も適したフレーズ、記号、単語を使用します。

プロンプトエンジニアリングはどのように機能しますか?

生成AIモデルは、語調や文脈を含む基本的な言語を理解できるように、ディープラーニングアーキテクチャーに基づいて学習し、構築されています。AIツールの出力を整え、クエリに対して十分な回答が得られるようにするのがプロンプトエンジニアリングです。

ユーザーが文脈や明確さを欠いたプロンプトを入力した場合でも、プロンプトエンジニアリングによって生成AIツールの有用性を高めることができます。たとえば、ユーザーが「ノートパソコンはどこで買えますか」というプロンプトを入力した場合、ツール内のプロンプトエンジニアリング処理では、そのプロンプトをより具体的な文脈で捉えます。

プロンプトエンジニアリングを経ると、このプロンプトは「このユーザーはノートパソコンを購入しようとしています。家電量販店の販売員として、X地域で購入できるノートパソコンをまとめてリストアップしてください」といった意味合いの指示に整えられます。

プロンプトエンジニアリングによる補足的な文脈がなければ、生成AIツールのユーザーエクスペリエンスやツールの全体的な性能は低下してしまいます。

効果的なプロンプトを作成するには、次の要素を考慮する必要があります。

  • タスクを特定する:「購入可能なノートパソコンの一覧を表示してください」のように、AIに何をしてほしいのかを明確に伝えます。
  • 文脈を提供する:「このノートパソコンは仕事用です」のように、AIが状況を理解できるよう背景情報を提供します。
  • ペルソナを指定する:「家電量販店の販売員として」のように、AIが担う役割を定義します。
  • トーンを設定する:「親しみやすく、かつプロフェッショナルに提案してください」のように、回答にふさわしいトーンを指定します。
  • 例を示す:「Dell XPS 13やMacBook Airのようなノートパソコンを提案してください」のように、AIの参考になる例を提示します。
  • 形式を指定する:「情報を箇条書きで記載してください」のように、回答の表記の仕方を指定します。

こうした要素を取り入れることで、プロンプトエンジニアリングは、より正確で関連性が高く、ユーザーにとって使いやすい回答を生成AIツールに出力させることができます。

プロンプトエンジニアリングの歴史とはどのようなものですか?

プロンプトエンジニアリングは生成AIの発展途上の分野であり、生成AI自体も比較的新しいテクノロジーです。人工知能の他の分野に比べると歴史は短いものの、この短期間でプロンプトエンジニアリングがもたらした影響は非常に大きなものです。

  • 2017年、トランスフォーマーの登場:自然言語処理(NLP)におけるトランスフォーマーの登場は、AI分野のあり方を大きく変え、新たな可能性を切り拓きました。このモデルは大規模なデータセットで事前学習できるため、そうした大規模データセットをもとに有用な成果を生み出すAIツールの需要が高まりました。
  • 2018年、プロンプトエンジニアリングの検証:研究者たちから、NLPにおける従来のタスクを、文脈を付加したうえで質問応答形式で扱えるのではないか、という声が聞かれるようになりました。この発想により、歴史に関する質問や簡単な翻訳など、AIツールにきわめて基本的な質問を投げかけるという使い方が広まりました。
  • 2021年、当時最大規模のプロンプトエンジニアリング検証:ある研究者グループは、事前学習済みモデルに12種類のNLPタスクを実行させる検証を行いました。このタスクを解くには、モデルがプロンプトに対して正確に回答する必要がありました。
  • 2023年、プロンプトエンジニアリングの最盛期:2023年までに、テキストからテキストを生成するプロンプトデータベースや、テキストから画像を生成するプロンプトデータベースが数多く公開され、一般に利用できるようになりました。こうしたツールはますます広く使われるようになっており、ChatGPTはその一例です。

プロンプトエンジニアリングの種類には主にどのようなものがありますか?

プロンプトエンジニアリングには、生成AIモデルに学習させ、特定のユースケースに適したスキルを身につけさせるための独自の手法があります。

  • ゼロショット学習では、事前学習や文脈を与えずにモデルにクエリを処理させ、文脈なしでAIの出力を評価します。
  • ワンショット学習では、モデルに例や文脈情報を1つ与え、適切な出力を生成しやすくします。
  • フューショット学習では、AIモデルに少数の例と文脈の手がかりを与え、文脈の把握やパターン認識を促します。
  • 思考連鎖プロンプティングでは、AIモデルに段階的な思考プロセスを示し、クエリに対して包括的で人間らしい視点を持たせます。
  • 反復プロンプティングでは、プロンプトを入力した後、最初の出力に基づいてプロンプトを調整していきます。
  • ネガティブプロンプティングでは、何を生成するかではなく、何を生成しないかをAIモデルに指示します。

プロンプトエンジニアリングはどのように活用されていますか?

プロンプトエンジニアリングは、人工知能ツールの支援に特化した手法であり、AIツールの機能を高め、その動作に影響を与えることを目的としています。AIツールが最適な結果を生成できるように、入力内容、つまりプロンプトを設計・調整することを目的とする手法です。このプロセスでは、AIが正確に解釈し、適切に応答できるように、背景情報を提供し、クエリを組み立てます。これにより、関連性が高く有用な出力を得られるようになります。

プロンプトエンジニアとは、この手法を専門とする人を指します。プロンプトエンジニアは、対象分野とAIの能力の両方を深く理解しており、AIが正確で意味のある回答を生成できるよう促す効果的なプロンプトを作成します。特に医療や法律のように複雑で慎重な対応が求められる分野では、AIシステムの効率性と信頼性を最大限に高めるうえで、プロンプトエンジニアが重要な役割を果たします。こうした分野では、プロンプトエンジニアリングによって文脈を与えたうえで、AIシステムにデータの要約や、医療処置、法的助言の支援を行わせることができます。

プロンプトエンジニアリングは、サイバーセキュリティ対策にも活用できます。シミュレーション環境で脅威をより包括的に再現できるようAIツールを調整することで、対策に役立てることができます。この活用により、ソフトウェア開発者はより徹底したテスト環境を得られるため、開発段階でいちだんとセキュリティ対策を強化できます。

プロンプトエンジニアリングが非常に重要となる分野の一つが、批判的思考の強化です。生成AIツールが発展し、より包括的な回答を返せるようになるうえで、プロンプトエンジニアリングは批判的思考のプロセスを取り入れる助けとなります。こうした批判的思考がなければ、AIツールはプロンプトを分析して曖昧さを取り除いたり要件を明確化したりできないため、回答の信頼性が下がります。

よくある質問

プロンプトエンジニアリングに関するよくある質問

プロンプトエンジニアリングの要は、AIツールが継続的に改善し、ユーザーのクエリに対して明確で根拠のある回答を提供できるよう、追加の文脈や学習の手がかりを与えることにあります。

プロンプトエンジニアリングは追加の文脈を提供し、AIモデルが理解しやすい形で言語を解釈できるようにします。これによりAIツールがプロンプトに対して的確な回答を返せるようになり、AIモデルの信頼性を向上できるようになります。

プロンプトエンジニアリングは、AIツールの入力と出力の両方に役立ちます。プロンプトを、ツールや大規模言語モデルにとってより理解しやすいものにします。また、ツールの出力を調整しつつユーザーにとって簡潔で有用な回答にする際にも役立ちます。