コンテンツに移動
アプリケーション開発

プロンプト エンジニアリングの能力を高めるためのヒント

2023年8月29日
https://storage.googleapis.com/gweb-cloudblog-publish/images/HC0127_Google_Prompt_Still-2.max-2500x2500.jpg
Google Cloud Japan Team

※この投稿は米国時間 2023 年 8 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。

AI を活用したツールがますます普及するなか、プロンプト エンジニアリングは開発者が習得すべきスキルになりつつあります。大規模言語モデル(LLM)などの生成基盤モデルでは、望ましい出力を生成するために、コンテキストに応じて具体的に、そして目的に合わせて自然言語で指示することが求められます。つまり開発者は、明確で簡潔、かつ有益な情報を提供するプロンプトを作成する必要があるということです。

このブログでは、より有能なプロンプト エンジニアになるための 6 つのベスト プラクティスを紹介します。このアドバイスを取り入れていただくと、よりパーソナライズされて精度が高く、なおかつコンテキストを認識したアプリケーションを作成できるようになります。では始めましょう。

ヒント #1: モデルの強みと弱みを理解する

AI モデルは進化するにつれてより複雑になるため、その機能と限界を理解することは開発者にとって不可欠です。AI モデルの強みと弱みを理解することで、開発者はミスを回避し、より安全で信頼性の高いアプリケーションを作成できます。

たとえば、ブルーベリーの画像を認識するようトレーニングされた AI モデルは、イチゴの画像を認識できない場合があります。なぜでしょうか。このモデルは、ブルーベリーの画像のデータセットでしかトレーニングされていないからです。開発者が、このモデルを使用してブルーベリーもイチゴも共に認識されることを想定したアプリケーションを構築しても、アプリケーションは解釈を誤る可能性があります。そうなると効果的な結果が得られず、ユーザー エクスペリエンスの低下につながります。

AI モデルにはバイアスがかかる可能性があるので、十分に注意してください。これは、現実の世界から収集されたデータに基づいて AI モデルがトレーニングされているためで、もともと社会階層に根ざしている不公平なパワーバランスを反映する場合があるからです。AI モデルのトレーニングに使用されるデータにバイアスがかかっていれば、モデルにもバイアスがかかります。そうしたモデルが意思決定に使用され、それが社会的バイアスを増長させることで人間に影響を与えるとなると、問題が生じかねません。データの公平性を保証して平等を促進し、AI テクノロジーの責任を確かなものにするには、このようなバイアスに対処することが重要です。プロンプト エンジニアは、より効果的なプロンプトを作成し、特定のモデルに対してどのようなプロンプトが可能であるかを推測できるように、トレーニングの限界やバイアスを認識しておく必要があります。

ヒント #2: できるだけ具体的に

AI モデルには、さまざまなプロンプトを理解する機能があります。たとえば、Google の PaLM 2 は、自然言語プロンプトや多言語テキスト、そして Python や JavaScript のようなプログラミング コードまで理解できます。AI モデルは非常に豊富な知識を抱えているものの、まだ完全ではなく、具体性に欠けるプロンプトだと間違って解釈してしまう恐れがあります。AI モデルが曖昧さを克服するためには、望ましい結果が得られるようプロンプトを調整することが重要です。

たとえば、ヴィーガン用にブルーベリー マフィンを 50 個作るとして、AI モデルにそのレシピを生成させたいとしましょう。「ブルーベリー マフィンのレシピを教えて」というプロンプトを作成しても、マフィンが 50 個必要であることはモデルには伝わりません。したがって、必要な材料の分量や、多くのマフィンを効率的に焼くためのヒントを教えてくれることはまずありません。モデルは、与えられたコンテキストからしか判断できません。より効果的なプロンプトは「50 人のお客様をもてなします。50 個のブルーベリー マフィンを焼くレシピを教えて」というものでしょう。モデルは、リクエストに適した具体的な要件を満たすレスポンスを生成する可能性が高くなります。

ヒント #3: コンテキストに応じたプロンプトを利用する

モデルがリクエストを深く理解できるように、プロンプトにコンテキスト情報を含めます。コンテキストに応じたプロンプトには、モデルに実行させたい特定のタスク、求めている出力のレプリカ、またはマーケターやエンジニアから高校教師まで模倣するペルソナを含めることができます。AI モデルに対してトーンと視点を明確にすることで、求めているトーンやスタイル、必要な専門知識のブループリントを与え、出力の質や適合性、有効性を向上させます。

ブルーベリー マフィンの場合は、状況のコンテキストを使用したプロンプトをモデルに対して作成することが重要です。モデルには、50 人分のレシピ生成という内容以上のコンテキストが必要になる場合があります。ヴィーガンに配慮したレシピを必要とする場合は、モデルに対し、熟練のヴィーガン シェフとしての回答を求めるプロンプトを作成してもよいでしょう。

コンテキストに応じたプロンプトを提供することで、可能な限りシームレスかつ効率的な AI インタラクションが実現します。モデルはリクエストをより迅速に理解して、精度を高めた適切なレスポンスを生成できるようになります。

ヒント #4: AI モデルに例を提供する

AI モデルに対してプロンプトを作成する場合、例を提供すると役立ちます。これは、プロンプトがモデルに対する指示として機能し、例を示すことにより、求められていることをモデルが理解しやすくなるためです。例を示してプロンプトを作成すると、次のようになります。「気に入っているレシピをいくつか提供するので、これをもとに新しいレシピを作成してください。」こうするとモデルは、このお菓子を作る人の技量とニーズを理解できるようになります。

ヒント #5: プロンプトとペルソナを試してみる

プロンプトをどのように作成するかが、モデルからの出力に影響します。さまざまなリクエストを創造的に模索することで、モデルがその答えをどのように比較検討するか、また自身の専門知識、見解、そして実体験を数十億ものパラメータを持つ大規模言語モデルの知力と融合させると何が起こるのか、すぐに理解できるようになります。

さまざまなキーワード、文の構成、プロンプトの長さを試して、最適な手法を見つけてください。「プロダクト エンジニア」や「カスタマー サービス担当者」といった職業的立場にある人々から、祖母のような世代の人々や有名シェフなどの著名人に至るまで、さまざまな立場の人になりきって、料理からコーディングまであらゆることを探索しましょう!

自身の専門知識と経験を多く取り入れたユニークで斬新なリクエストを作成することで、どのプロンプトが理想的な出力を提供してくれるかがわかります。プロンプトを「チューニング」してさらに洗練させることで、モデルの理解が深まり、次の出力のためのフレームワークが得られます。

ヒント #6: Chain-of-Thought プロンプトを試してみる

Chain-of-Thought プロンプトは、大規模言語モデル(LLM)の思考能力を向上させる手法です。これは、複雑な問題を細分化し、各段階での中間的な思考を提供するよう LLM に求めることで機能します。これにより LLM は問題への理解を深め、より精度の高い有益な回答を生成できるようになります。回答に対する開発者側の理解を助け、LLM が本当に問題を把握しているかどうか確かめることもできます。

まとめ

AI を活用したツールが普及しつつあるなか、プロンプト エンジニアリングは、さまざまな業界や組織で必要とされるであろうスキルです。次回 AI モデルとやり取りするときに、ここでお伝えした 5 つの重要なヒントを取り入れてみてください。望ましい正確な出力が生成できるでしょう。AI は永遠に発展し続け、人間が使用するたびに自ら改良を繰り返します。ですから知性にとっても機械にとっても、学びの旅には終わりがないということを心に留めておいてください。このブログが、プロンプトのスキルを向上させる一助となれば幸いです。


- スタッフ デベロッパー アドボケイト Priyanka Vergadia
- アソシエイト プロダクト マーケティング マネージャー Kaliah Williams

投稿先