What Is Prompt Engineering? A Guide.

Michael Chen | Senior Writer | August 29, 2025

誰でも大きな言語モデルを入力できます。問題は、LLMの結果の出力が意図した目標を達成するか、質問に答えるかです。これは、入力がどの程度適切に作成されたかによって大きく異なります。つまり、迅速なエンジニアリングが導入されます。優れたクエリーは、LLMがプロジェクトに必要なものを正確に生成する確率を大幅に高めます。また、将来のプロジェクトで発生する可能性のある副次的なメリットも生じます。

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

プロンプト・エンジニアリングとは、生成AIモデルが目的の出力を生成できるように指示(プロンプト)を作成することです。このプロセスでは、反復的な取組みを使用して、様々な形式、フレーズ、LLMから他のシステムへの関数コール、およびAIプロンプトの追加変数要素の実行を改善します。目標は、LLMに最適な特異性とコンテキストを提供することです。

次に、プロンプト・エンジニアリングの最も重要な要素を示します。

  • フォーマット: LLMの開発およびトレーニング方法のため、プロンプトのフォーマットおよび構造は出力にとって重要です。最適な出力は、モデルで使用されるLLMの優先書式の理解から始まります。
  • ファンクション・コール: 外部ソースからのデータを組み込むと、出力の品質と精度が向上します。プロンプトでは、動的データ・フェッチのファンクション・コールが起動され、必要なデータにアクセスできるかぎり結果が返されます。
  • 特定性: プロンプト・フレーズのあいまいさは、不正確、誤った方向、または無意味であっても、無意味な回答を生み出す可能性があります。単語選択の特定性に重点を置くと、出力回答の品質と深さが向上します。単純に言えば、「私は犬が欲しい」と「私は幼い子供に訓練され、良い3歳未満の救助犬が欲しい」というのは違う。
  • ユーザー・オーディエンス: プロンプトは、オーディエンスの認識を統合したときに最も正確な結果を生成します。高度な技術者は、学生や子供とは大きく異なるため、出力がトーンと詳細の両方に対するオーディエンスの期待を満たすように、プロンプトに反映する必要があります。

プロンプト・エンジニアリングという用語は、結果を達成するためにプロンプトを改善する一般的な科学を反映していますが、アプリケーション開発プロセスのステップとしても機能します。プロンプト・エンジニアは、エンド・ユーザー入力をモデルにブリッジするアプリケーション内で、ユーザーに表示されないテンプレートおよびスクリプト(ベース・プロンプトと呼ばれる)を作成します。基本プロンプトの目的は、プロジェクトのリソース制限内で作業しながら、照会をブリッジするスケーラブルで自動化された方法を提供することです。AIとMLの機能とスケーラブルなリソースを本質的にサポートするインフラストラクチャは、これらのタイプのプロジェクトを簡素化および最適化できます。

主なポイント

  • プロンプト・エンジニアリングとは、AIモデルからより正確な出力を得るためのプロンプトの作成、評価および改善のプロセスです。
  • プロンプトを改善する要因には、LLMの優先形式、言語の特定性、オーディエンスの期待を適切に特定し、外部データの関数コールを行うことが含まれます。
  • アプリ開発プロセスにおいて、プロンプト・エンジニアは、アプリのLLMで曖昧なユーザー入力を埋めるために、正確な出力に必要な要素に対応するベース・テンプレートを作成します。
  • アプリケーション開発は、基盤となるインフラストラクチャによってAIおよびMLサービスが提供される場合に最適に機能するため、エンジニアは手元のタスクに集中できます。

プロンプト・エンジニアリングの説明

AI業界は2つのコンテキストで迅速なエンジニアリングと考えています。2番目の定義は1番目のコンテキストの拡張です。最初の定義は、実際のスキル・セット自体を指します。つまり、AIプロンプトを作成して調整し、最も望ましい出力を明示する機能です。試行錯誤のプロセスは、プロンプト・エンジニアの実験(形式、単語の選択、APIを介して外部にプルされた関数コールなどの追加のコンテキスト・データ、およびその他の変数)として、目的の出力を実現するために行われます。最も人気のある標準AIモデルを熟知したプロンプト・エンジニアは、強力な結果をもたらす特定のフォーマットを理解する可能性が高くなります。さらに、プロンプト・エンジニアは、多くの場合、迅速な建設履歴を追跡し、サンドボックス実験スペースを提供し、プロンプトのA/Bテストを提供するツールを使用します。

迅速なエンジニアにとって有用な品質は、プロジェクトのトピックにおける強力な知識です。これは役割にとって絶対的な要件ではありません。迅速なエンジニアは、文脈を理解するのではなく、技術的なAIの専門知識を活用することができます。しかし、全体的な目的を少し理解してプロジェクトを開始することで、プロンプト・エンジニアは出力をより効率的に検証し、正確性と効率性を確保できます。

しかし、すべてのユーザーがアプリを使用するときに、プロンプト・エンジニアの戦略を知ることは不可能です。プロンプト・エンジニアリングの2番目の定義は、戦略的に作成されたベース・プロンプトをアプリの開発サイクルに統合することです。このベース・プロンプトは目に見えないテンプレートのプロンプト・エンジニアの専門知識を提供します。ユーザーが入力問合せを入力すると、そのデータは完全に冷静になるのではなく、基本プロンプトを拡張します。これは、AIを活用したアプリケーション開発の成功の重要な部分です。これは、確立された出力標準を提供しながら、ユーザー機能の柔軟性を最大限に高めるのに役立ちます。

プロンプト・エンジニアリングが重要な理由

プロンプト・エンジニアリングは、リソース、労力、ユーザー・エクスペリエンスなど、全面的にAIイニシアチブの効率を最大化するため、重要です。品質プロンプトは、クエリ処理コストを削減し、ユーザー満足度を向上させます。これにより、開発サイクル中に追加の時間とリソースが必要になったとしても、迅速なエンジニアリングはアプリケーション開発者にとって価値のある投資となります。

より詳細なレベルでは、プロンプト・エンジニアリングは、開発者にとって次のリスクを改善するのに役立ちます。

  • 開発者バイアス: プロンプト・エンジニアリングのコンテキストでは、バイアスは、プロンプトを作成しているエンジニアによる視点、仮定またはプリファレンスの意図的または意図的でない導入を指し、AIモデルの出力を歪める可能性があります。この問題を回避するために、プロンプト・エンジニアリング・プロセスは、アルゴリズム、トレーニング・データおよび出力結果を様々な観点から調べるためのスペースを提供できます。これは、プロンプト生成時に追加の内部レビューを提供したり、ユーザー自身のバイアスを相殺または対処できる方法でベース・プロンプトを作成したりすることで、バイアスの防止に役立ちます。
  • 予期しないリソース・ドレイン: 試行錯誤のプロセス中に、プロンプト・エンジニアは、関連する出力を提供するために必要なコンテキスト情報(ユーザー履歴、内部データベース、外部システムなど)を決定できます。強力なベース・プロンプトに必要なデータを識別することで、開発者は、開発サイクルに入りすぎないうちに、リソースに対する実際的な(内部データへのアクセスを得る)影響および技術的な(APIを介した関数コールからのリソース排出)影響を調べることができます。
  • 未確認の境界とパラメータ: プロンプト・エンジニアリングは、開発チーム全体が関連する境界と制限を確立するのに役立つ別の検査レイヤーを提供します。これには、コンテキスト保持とリソース使用のパラメータ、ユーザー・インタラクションとソフトウェア認識の境界、およびフォーマットやセマンティクスなどの入力パラメータに関する予期しない問題が含まれます。
  • 予測不可能なユーザー問合せ: 入力の基盤を設定するベース・プロンプトを作成することで、ユーザー入力が曖昧で一般的な場合でも、プロンプト・エンジニアリングは問合せの品質基準を提供できます。

プロンプトエンジニアリングの仕組み

プロンプト・エンジニアは通常、成功するプロンプトを確立する試行錯誤プロセスを開始する前に、プロジェクトの考慮事項から始めてから、最終的にアプリケーションに統合します。

次に、このプロセスの通常動作の概要を示します。

1.モデルとアプリケーションの目的と対象者を理解する: 技術的なステップが発生する前に、エンジニアは通常、プロジェクトの状況に応じたニュアンスを検討します。オーディエンスの人口統計、モデルの複雑さ、業界や予想される知識などの変数に基づいた結果に対する期待は、効果的な迅速な生成のために理解する必要があります。この知識がなければ、技術的に正確な出力でさえ、オーディエンスのニーズに対応できない可能性があります。

2.調査すべき問題や質問を理解する: 状況のより広いコンテキストが確立されると、エンジニアは特定の問題にドリルダウンできます。考慮される要因には、目的の目標、詳細レベル、予想されるフォローアップ、使用されるステップまたはセグメント、さらなるデータに対する潜在的な関数コールが含まれます。

3.LLMの傾向と好みを理解する: 個々のLLMには、フォーマット、セマンティクス、複雑さの独自のクォークが付属しています。その他の要因には、モデルの基礎となるインフラストラクチャに関連するリソース制限が含まれます。

4.初期プロンプトの作成: 前述のすべてのステップでは、コンテキスト、目的、オーディエンスおよび初期プロンプトを作成するための制限に関する十分な情報を確立する必要があります。

5.結果の評価: プロンプトが使用されたら、出力を正常に評価する必要があります。その成功をどのように評価するかは、プロジェクトの目標によって異なります。精度は最重要ですが、個々の状況では、トーン、音声、長さ、詳細レベル、および保持メモリを使用した継続的なエンゲージメントに重点を置くこともできます。

6.必要に応じて調整: プロンプトの調整には、言語の調整、コンテキストの追加、APIコールを介した関数の統合などが含まれます。プロンプト・エンジニアは、絞込みプロセスを支援するために様々なツールを使用することもできます。このようなツールは、プロンプト履歴を記録したり、A/Bテストで結果を表示したり、迅速な絞込みのために出力分析を管理したりできます。

7.エクスポート可能性のテスト: エクスポート可能性には、2つの組織的な利点があります。異なるLLMに対してプロンプトをテストすることで、開発チームは1つのLLMがプロジェクトに適していることがわかる場合があります。さらに、プロンプト・エンジニアは、コンテキストに依存しないプロンプト部分を調べて、他のプロジェクトで使用するためにエクスポートできるかどうかを確認できます。

8.導入のためのAIモデルへの統合: 開発チームは、ベース・プロンプトを適切に作成することで、プロジェクト内の自動化とスケーラビリティのための統合を開始できます。できれば、パフォーマンスを最適化するためのマネージドAI/MLサービスを備えたクラウド・インフラストラクチャで開始できます。これにより、ユーザー入力によって拡張できる実効ベース・プロンプトを持つという目標が生成されます。

天気アプリのアシスタントの例を考えてみます。基本プロンプトでは、個人がクエリーを入力する前に次の情報を識別できます。

  • デバイスIPアドレスから取得された場所
  • IPアドレスによっても決定される時刻
  • 人口統計、ユーザーのアプリケーション・プロファイルから取得
  • トラフィックや屋外アクティビティなど、要求される一般的なタイプのデータの検索履歴
  • 答えの組み立てのための適用の目的
  • アプリのトーン、単語の選択

これらのすべての部分は、ベースプロンプトを使用して配置し、より正確性とパーソナライズ、適切なトーンと言語を提供する出力のユーザーの質問と統合できます。

プロンプト・エンジニアリングの利点

プロンプト・エンジニアリングは、より具体的で正確な結果の主なメリットを生み出します。その実現方法は、2つの異なる形態のプロンプト・エンジニアリング(プロンプト・エンジニアリングの実際の熟練した慣行と、公開問合せのベース・テンプレートとしてのモデルへの統合の両方)によって異なります。

次に、プロンプト・エンジニアリング全体の最も一般的な利点の一部を示します。

  • 最適化されたAI出力と効率: 大規模な言語モデルは、あらゆる一般的な入力やクエリに対応できますが、改善や余分な労力が必要なため、リソースを浪費することがよくあります。スキル・セットとして、プロンプト・エンジニアリングは汎用プロンプトをバイパスして、より正確なレスポンスを取得します。AIモデルに統合されると、プロンプト・エンジニアリングは、クエリを行う人の部分に労力をかけることなく、関連する方向をユーザーに指示し、詳細を効率的に色付けします。
  • 柔軟性とカスタマイズの強化: 適切に実行すると、プロンプト・エンジニアリング・アプローチの最初のステップによって、プロジェクトの柔軟性とカスタマイズ性が向上します。ドメイン・ニュートラルなコンテキストを構築することで、迅速なエンジニアリング作業を他のアプリケーションやモデルにインポートできます。ドメイン・ニュートラルなコンテキストの例としては、ユーザーの人口統計データ、時間や季節のデータ、アプリの機能とトーンの識別などがあります。これらの要素は、ほぼすべてのモデルと連携しながら、曖昧で一般的な出力を削減できます。
  • ユーザー・エクスペリエンスと満足度の向上: 多くの場合、人はLLMやアプリケーションにアプローチし、希望する応答を返す方法で要求を明確化することはできません。食料品店に行く例を考えてみよう。迅速なエンジニアリングがなければ、店内を歩いて入り口に立って、「お腹がすいている」と言うようなものです。このシナリオでは、プロンプト・エンジニアリングによって、予算、プリファレンス、機能などのものに基づいてその要求を絞り込んで、適切な通路へと導きます。モデルに組み込まれると、プロンプト・エンジニアリングはユーザーと目標をより迅速に理解できるようになり、より正確な結果で全体的なエクスペリエンスが向上します。

迅速なエンジニアリングの課題

科学として、迅速なエンジニアリングは比較的若い。プラクティショナーには、コンテンツ生成、要約、翻訳、コード・アシストなどのタスクにAIを活用した機能を追加するためのプロンプトを作成するソフトウェア開発者、カスタマ・サービス・チャットボットなどのシステムを作成しようとする技術コミュニケーション担当者、非常に具体的で専門的なユース・ケースのプロンプトの設計、テストおよび最適化に焦点を当てた専門のプロンプト・エンジニアリング・プロフェッショナルが含まれます。

迅速なエンジニアリングを行う人々が直面する最も一般的な課題は次のとおりです。

  • 特定性と創造性のバランスをとる: プロンプト・エンジニアリングの目標は、生産量やリソースを低下させることなく、創造的な自由をサポートすることです。それを達成することは難しいバランスです。食料品店のアナロジーに戻ると、不均衡な迅速なエンジニアリングは、冷凍スパゲッティの単一の選択肢を持つ飢えたユーザーに反応するようなものです。特定性は効率性を確保するのに役立ちますが、LLMには正確で高品質な結果を提供するために適切な柔軟性が必要です。
  • あいまいさの管理: アプリケーションまたはAIモデルがあいまいな結果を生成すると、ユーザーに大きな負担がかかり、人間が問合せを繰り返し調整する必要があるほど、プロセスで使用されるリソースが増えます。スキル・セットとして、プロンプト・エンジニアリングの重要な側面は、結果の曖昧さを最小限に抑えることです。課題は、結果にあまりにも多くの制限を作成せずに、プロンプトをファインチューニングして特異性の標準を確立することです。
  • モデルの制限への適応: アプリの目的と機能によっては、そのモデルに非常に具体的なオーディエンスとトーンを念頭に置くことができます。プロンプト・エンジニアにとって、この既知の方向性によって、開始までの道のりが容易になります。ただし、予期しない入力や多様な入力を組み込む能力が制限された出力を構築して、トラップに陥る可能性もあります。アプリ開発者は、プロンプトエンジニアと協力して、受け入れ可能な範囲の入力について話し合い、クリエイティブなクエリとアプリの特定の機能のバランスを取ることができるベースプロンプトテンプレートを選択できます。
  • 反復的な改良: プロンプト・エンジニアは、効果的なプロンプトが1つであると仮定して完了するという罠に陥る可能性があります。しかし、AIモデルは継続的に学習し、アプリは継続的に開発されているため、すぐに効果的なプロンプトが古くなる可能性があります。プロンプトを構築したら、エンジニアは環境の動的な性質に適応するために意識を持って前進する必要があります。プロンプトがアプリのワークフローに統合されている場合、継続的な改善と評価は、品質出力の提供を支援するために特に重要です。
  • コンテキスト保持: アプリの開発プロセス中に、チーム全体が機能とパフォーマンスのバランスを取る方法を検討する必要があります。ユーザー・エクスペリエンスの観点からは、コンテキストの保持が正確な出力を作成する鍵となります。ただし、保持の各層はより多くのリソースを消費するため、開発チームとそのプロンプト・エンジニアが直面する課題は、確立された内部プロンプトに含める必要があるコンテキストと、後続のプロンプトで外部ユーザーが必要とする内容を理解することです。モデルの制限と同様に、基盤となるインフラストラクチャの選択、およびAIプロジェクトの組込みサポートを提供する機能により、リソースを大幅に最適化して、コンテキスト保持を検討する際の柔軟性を高めることができます。
  • 長い複雑な問合せの処理: 最終的に、AIモデルはきわめて複雑な問合せを処理できる可能性があります。現時点では、そのほとんどができません。通常、出力が無効になる転換点が存在します。開発者は、プロンプト・エンジニアリングを使用して、キー・コンテキストを事前にロードし、パラメータを割り当てることで、この種類の結果に関連する変数を減らすことができます。
  • ユーザー・インテント連携: プロンプト・エンジニアリングは効率性を高め、ヘッド・スタートを提供できますが、間違った方向を指している場合はどうなりますか。特定性は、プロンプト・エンジニアリング出力の重要な機能ですが、それが機能している場合にのみ機能します。したがって、開発チームは、プロンプト・エンジニアリングがそれほど具体的ではないことを確認して、ユーザーの真の意図を回避する必要があります。

これらのリソース制限やその他のリソース制限に対処するために、多くの企業は、AIをサポートするようにチューニングされた組込みのマネージド・サービスを使用して、LLMをクラウド・インフラストラクチャにデプロイします。

迅速なエンジニアリングに必要なスキル

迅速なエンジニアリングの概念は、過去10年間で最前線に来ているため、進化する役割のままです。プロンプト・エンジニアを成功させるには、コア・スキル・セットと、その機能がより大きなアルゴリズム・トレーニングおよびアプリケーション開発プロセスに適合する場所を理解する必要があります。

その中核となるプロンプト・エンジニアリングには、強力なコミュニケーション・スキル、主題の専門知識、プログラミング能力の融合が必要です。AIモデルから必要な応答を明示するために必要な正確な言語、セマンティックおよび文法構造があり、エンジニアは組織のLLMで使用される基礎となるロジックおよびパターンも理解する必要があります。さらに、生成された出力の正確性と関連性を評価できる必要があります。

開発ワークフローに統合すると、プロンプト・エンジニアのスキル・セットにより技術的な知識が得られます。たとえば、APIや関数コールがどのように機能するかを理解し、標準プログラミング言語でのコンピテンシを理解するなど、プロンプトで外部リクエストを行う必要がある場合があるためです。さらに、技術的な背景により、プロンプト・エンジニアは様々なプロンプト戦略の計算コストを検討できるため、パフォーマンスとコスト効率のバランスをとることができます。

プロンプト・エンジニアリングのユース・ケース

プロンプト・エンジニアリングは、AIリソースの使用効率とユーザー満足度の両方を向上させるための重要なツールです。基本プロンプトをアプリのワークフローに統合することで、人間が曖昧な入力を提供する場合でも、アプリはより適切で正確な結果を生成できます。

次に、プロンプト・エンジニアリングが特定のユースケースにメリットをもたらす方法の一部を示します。

  • 教育: AIモデルには教室やラボで複数の用途があり、プロンプト・エンジニアリングはパーソナライズされた効果的なパスを作成するのに役立ちます。リアルタイムの情報で質問に回答するように調整されたプロンプトを使用して、学生エクスペリエンスを向上させるためにカスタム・デジタル・アシスタントを実装している大学を考えてみます。学校では、AIを使用してパーソナライズされた学習計画を策定し、学生目標やレッスンの計画からデータを引き出すプロンプトを使用して、以前のレコードやクラスに対して関数呼び出しを行うことができます。または、チューター・アプリ開発者がプロンプトをエンジニアリングして、学生の年齢およびスキル・レベルごとに回答が適切になるようにします。
  • 財務: アプリケーションは、レポート生成、市場動向分析、カスタマー・サービスなど、財務の内部面と顧客面の両方の側面を支援できます。これらのいずれの場合も、プロンプト・エンジニアリングは、ユーザーのヘッド・スタートで構築できます。内部レポートの場合、プロンプトは関数コールから外部市場データまたは内部メトリックにデータをソーシングできます。カスタマ・サービスの場合、プロンプトは顧客の履歴および時間、季節、照会のタイプなどの外部要因からデータを取得する場合があります。内部的には、不正防止作業に役立つようにプロンプトを調整できます。
  • ヘルスケア: AIは、医療状態の診断、患者記録の要約、医療レポートの生成を支援します。これらのシステムは、医療従事者をサポートすることもできます。これらすべてを達成するために、プロンプトは、患者または開業医の聴衆の適切なトーンを反映するように設計され、追加の記録、従業員システム、および最新の関連する医学研究への外部関数呼び出しを介して必要なコンテキストを引き出すことができます。
  • 製造: 製造企業は、サプライチェーンのステータス追跡、品質管理、顧客セルフサービス・ツールなど、さまざまな機能をサポートするためにAIを採用しています。これらの各ユース・ケースでは、様々なオーディエンスのニーズに対応するために、内部および外部のソースにアクセスする必要があります。たとえば、生産スケジュールを最適化するために、サプライヤー・ステータス、ツール・ライフサイクル・データ、配送に影響を及ぼす可能性のあるリアルタイムの問題(休日や悪天候など)などの要素において、確立された内部締め切りと要因を使用するよりも先に進むようにプロンプトを設計できます。
  • マーケティング: デジタル・マーケティング・キャンペーンは多くのデータを生成します。AIによって生成されたマーケティング・コンテンツは、このデータを活用するように設計されたプロンプトから大きなメリットを得ます。エンジニアは、ブランドを参照するソーシャル・メディアの投稿など、プルインするベース・プロンプトを準備できます。エンゲージメントを最適化するために、広告キャンペーンは特定のユーザー・センチメントおよび人口統計データをターゲットにできます。
  • 不動産: 不動産業界は、公共販売記録、金利、財務トレンド、さらには天候や季節のデータなど、幅広いソースからインプットを受けます。しかし、業界向けアプリは、1つのことに集中する傾向があります。1つは、家を探す人たちと適切な財産を照合することです。一方、不動産会社には、AIが支援できる人事管理の課題があります。プロンプト・エンジニアリングは、現在のニーズとデータに基づいてアプリケーションを適切な方向を指し示し、ベース・プロンプトで適切な関数コールを準備して、ユーザーが必要なものを提供できます。
  • 小売: AI対応のショッピング・アシスタント・アプリケーションは、推奨をパーソナライズし、顧客ワークフローに自動化を追加することで、顧客満足度とコンバージョン率を向上させることができます。これらの改善を推進するデータの多くは、購入、検索、サービス履歴などの顧客データから取得されます。カスタマー・ペルソナを積極的に使用し、適切なデータを取得するベース・プロンプトを構築することで、チャットボットやその他のアプリは買い物客のエンゲージメントを向上させることができます。
  • 旅行: AIを利用した旅行アプリは、迅速なエンジニアリングのおかげで、パーソナライズされたレコメンデーションと旅程を改善できます。たとえば、ユーザーが計画された旅行中にレストランの予約を求めた場合、プロンプトは、子供が関わっているかどうかなど、ユーザー履歴の一般的な場所や要因を超えて、料理、テーブルの可用性、コストをファンクション・コールできます。これらはすべて、結果をドリルダウンすることで達成できる要素ですが、プロンプト・エンジニアリングは、より迅速で正確な出力を提供しながら、クエリのワークロードを容易にするためのヘッド・スタートを提供できます。また、適切に設計されたプロンプトにより、AIを活用したデジタル・アシスタントは、顧客とスタッフの両方が時間に敏感な質問に答えるのに役立ちます。

プロンプト・エンジニアリング手法

さまざまな迅速なエンジニアリング技術には、長所と短所があります。プロジェクトに適したプロジェクトの決定は、目標、処理能力、基盤となるサポート・インフラストラクチャ、使用中のLLM、オーディエンス、その他の独自のパラメータによって異なります。

次に、現在使用されている最も一般的なプロンプト・エンジニアリング手法の一部を示します。

  • 思考の連鎖: 最終目標に向けた中間ステップを特定してリストするようにLLMに指示することは、正確性と透明性を向上させる手段です。思考連鎖技術は、ハウツー・ステップ・リストのサンプルを含むステップをリストするようにモデルに要求するか、選択の推論を求めながら複数選択オプションを提供することでトリガーできます。
  • 方向刺激: プロンプトでヒントと方向を提供することで、LLMの出力を改善できます。指向性刺激プロンプトは、基本質問に続くテキストで一般的な質問に特定の手がかり、パラメータおよびコンテキストを提供することによって機能します。「ヒント」という単語と詳細のリストを追加することで、ソーシャルメディアの投稿がコンテキストを提供するためのハッシュタグを追加する方法と同様に、これらの項目を組み込み、より質の高い結果を生成するように出力を設定できます。
  • 最小から最大: これには、プロンプトをサブ問題に分割し、定義された順序で実行する必要があります。最少から最少のプロンプトは、詳細なレベルでプロンプトを表示するという考えの連鎖のアプローチに似ていますが、中間ステップを利用して徐々に回答を構築することで、実行の複雑さが増します。思考連鎖プロンプトと同様に、最小から最大のプロンプトが最も効果的に複雑な問題に適用され、一連の単純で順次的なサブ問題に分類できます。
  • Maieutic: これには、モデルを推論に反映するようにガイドすることによって回答を基礎とする、段階的なオープンエンドのプロンプトが含まれます。Maieutic prompting is based on the Socratic method of Dialogue、 which usually begins with an open-ended question、 then drills down further at the reasoning behind each answer.メーユティックのプロンプトは、通常、オープンエンドの質問から始まり、それぞれの答えの背後にある推論でさらに掘り下げます。実際には、これは質問から開始し、モデルにその答えをより深く説明するように依頼することで実現されます。
  • セルフ・リファイン: LLMの出力の段階的な改善は、改善を求めながら前の回答をモデルに戻すことで実現できます。セルフ・リファイン・プロンプトは反復的な手法であり、モデルに微調整や追加の可能性について出力を再評価する機会を提供します。これは、コード生成などの特定のソリューションを最適化することが目標である問題を検討するのに最適です。これは命令ベースの手法であるため、エンジニアは、モデルに回答を保持して反復的に構築する機能とリソースがあることを確認する必要があります。
  • 順次: これには、ワークフローまたはアウトラインを完了する手段として、一連の関連ステップおよび順次ステップが含まれます。順次プロンプトは、指示や手順などの特定の順序が関係する場合、および特定のトピックに対するより広範なアプローチから開始する場合は、満足のいくポイントが達成されるまで、回答をガイド付き対話として構築します。順次プロンプトは、「ステップ1」や「パート2」など、順序を示す明確なキーワードによって認識されます。

プロンプト・エンジニアリングのベスト・プラクティス

プロンプト・エンジニアは、多くの場合、異なるレベルのコンピュート・リソースを持つ異なるLLMプラットフォーム間で、異なる目標を持つ多くの異なるプロジェクトに取り組んでいます。それでも、可能なかぎり最適な出力を実現するための一般的な考慮事項がいくつかあります。

1. LLMの「パーソナリティ」を考えてみましょう
幻覚など、すべてのLLMの標準的な制限に加えて、各プラットフォームには長所と短所があります。たとえば、現在、GPT-4はテキストとイメージの両方をサポートできますが、多くの計算リソースを使用します。BERTはオープンソースであり、強力な理解力を提供しますが、特定のタスクの微調整にはより多くの労力が必要です。各LLMには、入力用の独自の優先形式およびセマンティクスもあり、モデルは常に進化しています。現在、プロジェクトで機能しているものは、6か月または1年以内に機能しない可能性があります。

2. 精度と簡潔さのバランス
あいまいなオープンエンドのプロンプトは、曖昧な結果や反復的な結果を出力するモデルをリードします。特定性は、技術的および実用的な要素の両方を含む、優れた迅速なエンジニアリングの鍵です。技術面では、正確なプロンプトは、LLMとアプリの優先フォーマットと既知のパラメータを考慮します。実用的な面では、ターゲット・オーディエンス、アプリケーション/モデル機能、予想される背景知識、正確な指示、および要求されたポイントや例の数などの適切なサンプルやパラメータが含まれます。

3. コンテキスト上の手がかりを追加する
複雑なクエリでは、コンテキストがすべての違いを生む可能性があるため、プロンプト・エンジニアはプロンプトの通知に注意を払い、リクエストのフレーミングの理由を提供します。質問: 「今日はいい天気ですか?」AIのプロンプトを作成する際に、プロンプト・エンジニアは「良い」の定義が主観的であることを認識します。プロンプトにコンテキストを戦略的に追加することで、エンジニアはより有用なレスポンスを要求できます。たとえば、AIに質問するだけではなく、コンテキストを含めるようにプロンプトを構成できます。

  • ユーザーの制約: 人は喘息に苦しんでいるか、花粉アレルギーがありますか? エンジニアは、現地の状況や特定の健康上の懸念を考慮するようにAIをプログラミングすることがあります。
  • ユーザーの意図: 雨を望んでいる農家か、外出のために晴れた日を望んでいる学生ですか? AIは、季節的およびアクティビティベースのコンテキストを提供できます。
  • 時間的および地理的特異性: 国、市区町村、季節および曜日は何ですか?

コンテキストを戦略的に提供することで、LLMはより有用でパーソナライズされた応答を生成できます。プロンプト・エンジニアは、このコンテキストの一部を事前に生成できるAPIを介して様々な外部関数コールを識別することを選択できます。

4. 反復テストと改良
プロンプト・エンジニアリングは試行錯誤のプロセスです。幸いなことに、実践者は、プロンプト履歴、異なるLLMのサンドボックス環境、パフォーマンス評価と提案、A/Bテストなどの要素を提供することで、反復テストと改良をサポートできる様々なツールにアクセスできます。プロンプト管理ツールを使用することで、絞込みがより効率的でトレース可能になり、最適化されたプロンプトへのパスのより包括的なビューが可能になります。この可視性により、繰返し可能な中立コンテキスト・ベース・プロンプトをエクスポートするための基盤を構築することもできます。

プロンプト・エンジニアリングの未来

迅速なエンジニアリングの進化の道筋は、AIとLLMの技術的な進歩と結びついている可能性が高い。ほとんどのプロンプト・エンジニアは、LLMの理解が拡大し続けるにつれて、プロンプトがますます洗練され、より詳細な情報、特異性、およびコンテキスト情報を含めることができるようになることを期待しています。現在、LLMは、長い複雑なプロンプトが無意味な出力になるような分岐点を持つ傾向があります。

プロンプトの複雑さが増すタンジェントは、迅速な適応能力です。つまり、AIエンジニアは、LLMが会話のコンテキスト、履歴および仕様に基づいて自己適応できるプロンプトを生成する方法を検討しています。同様に、開発者はLLMを複数のタイプの入力で機能させようとしています。完璧な世界では、LLMは、テキスト、オーディオ、および画像のマルチモーダル入力を使用して出力を作成できます。

そのバージョンは現在、取得拡張生成(RAG)の形式で存在します。RAGは、より正確な出力をもたらすより深いコンテキストの提供に努めるという点で、プロンプト・エンジニアリングの一般的な目的と重複しています。ただし、RAGは、プロンプト内の手がかりに基づいて、自己伝播データ取得によって実行されます。完璧な世界では、プロンプト・エンジニアはベース・プロンプトを構築し、RAGはより関連性の高いデータの取得を通じてさらにコンテキストを追加し、その結果、非常に正確な出力を実現します。RAGツールは、ベクトル・データベースを使用して高速検索を行い、十分な処理能力が与えられた場合に最適に機能します。クラウド・プロバイダーがAIおよび機械学習プロジェクトに関するこれらの問題やその他の問題に対処するにつれて、これらのサービスの固有の機能とスケーラブルな設計により、LLMの機能をサポートするより優れた基盤が提供されます。

オラクルが可能にすること

Oracle Cloud Infrastructure(OCI)生成AIはマネージド・サービスを提供し、複数のLLMの選択肢、スケーラブルなリソース、エンタープライズ・グレードのセキュリティへのアクセスを心配することなく、エンジニアがクエリを試す時間を節約できます。OCIのチャット・エクスペリエンスは、CohereモデルとMetaモデルとの即時利用可能なインターフェースを提供し、データをプライベートに保ちます。

プロンプトエンジニアは、パートトランスレーター、パート探偵、パートコーダーであり、その創造性と言語スキルを使用して正確な単語と指示を作成し、非常に複雑なLLMから望ましい結果を導き出します。プロンプトの作成はユニークな人間のスキルであり、フレーズを微調整すると、AIの応答が一般的、さらには幻覚的、天才に変わります。

適切に作られたプロンプトは、AIの成功の鍵ではありません。投資を最大限に活用するためのヒントや戦術については、新しいeBookをご覧ください。

プロンプト・エンジニアリングのFAQ

AIにおける迅速なエンジニアリングとは

プロンプト・エンジニアリングとは、AIの2つの異なる要素を指します。1つ目は、プロンプト・エンジニアリングのスキル・セットです。これは、入力プロンプトを改良して、最も正確で最適な結果を得るプロセスです。2つ目は、反復可能で自動化されたスケーラブルなベース・プロンプトのAIワークフローへの統合です。このワークフローは、ユーザーがあいまいな問合せのみを提供する場合でも、出力の生成を支援するためにプロンプト・エンジニアによって作成されています。

プロンプト・エンジニアリングはAIモデルの出力をどのように改善しますか?

プロンプト・エンジニアリングがない場合、AIモデルの出力は、一般的な基本問合せに対する非常に一般的なレスポンスのみを提供することがよくあります。プロンプト・エンジニアは、試行錯誤プロセスに従事して、単語の選択、形式、関数コールおよびその他の要素で構成されるパターンを識別し、これをベース・プロンプトとしてアプリケーションに統合することで、あいまいなユーザー問合せにも詳細なレスポンスを提供できます。

迅速なエンジニアリングに一般的に使用されるツールは何ですか?

プロンプト・エンジニアがジョブをより適切かつ迅速に実行できるようにするツールを使用すると、管理ツールを提供しながら、詳細な分析、プロンプト履歴と評価、A/Bテストおよび連鎖を使用して結果を検査できます。プロンプト・ツールは、様々なコアAIモデルおよび出力をサポートしています。テキストのみのものもあれば、イメージおよびテキストをサポートするものもあります。

プロンプトエンジニアリングと従来のプログラミングの違いは何ですか?

従来のプログラミングは、特定のコード形式に従った厳格なルール・セットで動作し、すべてを繰り返し対応します。プロンプトエンジニアリングは、同じような入出力フローに従いますが、はるかに緩いパスにあります。プロンプト・エンジニアリング入力は自然言語を使用しますが、特定のAIモデルが好むフォーマットやセマンティクスに準拠する場合にも最適です。この無限の性質のため、コードの改良やデバッグとは対照的に、試行錯誤による言語の微調整により、迅速なエンジニアリングで変更を加速できます。ただし、これらの変更により、繰返し可能なコード・プロセスで検出された正確な結果が得られない場合があります。