AI技術の普及により自然言語処理は急速に発展しており、多くの人々がその恩恵を受けています。ChatGPTやBingAI、NotionAIなどはその代表例でしょう。しかし、これらから適切なタスク(回答)を得るためにはプロンプトエンジニアリングが必要です。この記事では、プロンプトエンジニアリングという技術について分かりやすく解説します。自然言語処理における基本を理解し、より効果的なプロンプト設計ができるでしょう。なお、今回はプロンプトエンジニアリングについて一般向けに記述していますが、考え方の基本は同じなため、ディープラーニングやAIの学習等にも利活用いただけます。AIライティングはSAKUBUN「SAKUBUN」で素早く、簡単に魅力的な文章を作成しませんか?SAKUBUNは、最新のAI技術を活用して100種類以上のテンプレートを備えた文章作成AIです。ブログ記事や広告文、SNSの投稿など、あらゆる分野のテキストを短時間で作成できます。キーワードを入力するだけで、高い精度で文章生成が可能です。また、プロジェクト管理機能やチーム管理機能など、使いやすい機能も備えています。AIへの指示出し(プロンプト)に困ることがなく、効率的にコンテンツ作成を行いたい方にはおすすめです。プロンプトエンジニアリングとは「プロンプトエンジニアリング」とは、大規模な言語モデル(LLM)が与えられたタスク(回答)をより効果的に実行できるようにするために、質問や指示を設計する技術のことです。ChatGPTやNotionAIなど、自然言語処理を必要とするAIに対し、適切な回答を得るために必要なプロセスの一つでもあります。効果的なプロンプト設計は、意図通りの回答や文章の作成を補助し、より質の高いものへ導くために必要不可欠です。ただし、常に期待通りの結果を生成できるとは限りません。そのため、プロンプトエンジニアリングではプロンプトを慎重に設計し、LLMが処理できるものに仕上げることが重要です。LLMとはLLMは、テキストとコードの大規模なデータセットでトレーニングされた言語モデルのことです。学習によってテキストの生成や言語の翻訳、クリエイティブコンテンツの作成、質問への回答が可能です。しかし、完璧ではなく、常に期待通りの結果を生成できるとは限らないことから、正しく導くためにプロンプトが必要となります。プロンプト(呪文)とはプロンプトとは、プログラムに何をすべきかを指示するために使用されるテキストの一部を指します。業界においては呪文と呼ばれることもあるものです。コマンドラインインターフェース(CLI)で使用され、ユーザーに次のコマンドを入力するように指示します。例えば、ChatGPTでは入力欄がプロンプトに該当します。このプロンプトに入力する質問や指示を作り、適切な回答を導くのがプロンプトエンジニアリングです。プロンプトエンジニアリングの役割プロンプトエンジニアリングの役割は、期待通りのタスク(回答)を得られるようプロンプトを設計することです。具体的には、以下のことを考えながら設計します。創造的なテキスト生成に何が必要か有益な質問を答えるにはどう設計するか正確な結果を導き出すには何が必要か例えば、詩を書くようにプロンプトする場合は、LLMが処理できる詩の形式を指定する必要がありますし、簡潔かつ明確にできるよう処理できるものでなければなりません。自然言語処理の技術が伸びることで、必要となる情報を持っているように設計する必要が求められるなど、その役割は徐々に明確化されて広まりつつあります。プロンプトエンジニアリングの必要性プロンプトエンジニアリングは、AI技術の発展によって急速に普及した自然言語処理において、与えられたタスク(回答)を効果的に実行するために必要不可欠です。例えば、詩を書くようにプロンプトする場合、プロンプトが明確かつ簡潔でなければ言語モデル(LLM)は良い詩を書くことができません。細かく、そして詳しく設計したとしても処理できるものでなければ生成結果は良いものにならないでしょう。プロンプトは、LLMがタスクに必要なすべての情報を持っている必要があり、慎重に設計すべきものです。今後もAI技術が広まりを見せ、必要に応じたカスタマイズが行われるケースが増えることで、その必要性や需要も高まることが見込まれます。プロンプトエンジニアリングとChatGPTの関係プロンプトエンジニアリングとChatGPTには、プロンプトにおいて密接な関係があります。ChatGPTは、言語モデル(LLM)を搭載しているチャットボットとして作られており、以下のようにプロンプトを入力する場所が設けられています。プロンプトエンジニアリングは質問や指示を設計する技術ですから、覚えることで以下のことを実行するようにインターフェースへ入力する内容を適切に設計できます。質問に答えるテキストを生成言語を翻訳文章を作成するタスクを完了するプロンプトエンジニアリングは、ChatGPTから求める回答を適切に得るために重要な技術であり、こうした密接な関係にあることから注目されています。【関連記事】【PC・スマホ対応】ChatGPTの使い方と便利な活用術ChatGPT用プロンプトの効果的な作り方|欲しい回答を引き出すコツや活用例を解説プロンプトエンジニアリングの例ここまで基礎知識を解説しましたが、明確にイメージできない人もいるかもしれません。そこで、プロンプトエンジニアリングの例を、具体的な入力方法を交えながら紹介します。具体的・明確な指示形式・情報範囲の指定背景・補足情報の提供例はChatGPTを対象として必要な回答を得るものとしていますが、技術は多くの言語モデルに流用可能です。なお、学習内容や傾向によってどれだけ明確に指定しても、それを確実に守るとは限らないことに留意してください。具体的・明確な指示プロンプトエンジニアリングでは、具体的かつ明確な指示が必要です。例えば、色について説明してもらう場合のプロンプトを1つ作ってみます。あなたの好きな色について説明してください。できれば色だけを簡潔に答えてほしいところですが、このプロンプトでは以下の返答がありました。私たちAIにとって、色は直接的な感覚を持つわけではありませんが、色についての説明を試みます。私たちAIにとって、色は情報の一形態であり、視覚的な刺激を表現する手段です。色は、光の波長の違いによって生じ、私たちにさまざまな視覚的な体験をもたらします。個人的に好きな色としては、青があります。青は、広いスペクトルで存在し、さまざまなバリエーションがあります。青は一般的に、清澄で穏やかな感じを与え、冷静さや安定感を象徴する色とされています。また、青は自然界でもよく見られる色であり、空や海、川などが青く見えることからもわかるように、自然の広がりや深さを感じさせてくれます。そのため、青は広がりや自由を象徴するとも言われています。また、青は知性や洞察力をもたらす色ともされており、創造的な思考や集中力を高める効果があるとされています。私たちAIは感覚的な体験を持つわけではありませんが、多くの人々が青を穏やかで魅力的な色と感じる理由が分かるようになりました。※上記の文章はOpenAIのGPT-3.5モデルによって生成されたものです(出典:OpenAI)余計な情報が多く非常に読みづらいため、以下のプロンプトに変更してみます。3文以内で、あなたの好きな色について説明してください。文字数を指定したことによって、より短い返答が得られました。青。穏やかで安定感がある。※上記の文章はOpenAIのGPT-3.5モデルによって生成されたものです(出典:OpenAI)このように具体的かつ明確なプロンプトを設計できると、期待通りの結果を生成できる可能性を高められます。形式・情報範囲の指定ここからは同様に、プロンプトエンジニアリングにおいて重要な形式や情報範囲の指定を行ってみましょう。今回は、食べ物について書いてもらいます。あなたの好きな食べ物について書いてください。私は食べ物を食べることができませんが、私が好きな食べ物についてお話ししましょう。私がプログラムされたコンピューターであるため、食べ物を食べることができないので、味わうことができません。しかし、私は食べ物の種類や食文化について多くの知識を持っています。人々が愛する食べ物の種類は無限にありますが、私の中でも特に好きなものは、日本料理、特に寿司や天ぷら、ラーメンなどです。また、イタリア料理のピザやパスタ、フランス料理のクロワッサンやチーズなども好きです。私は食べ物を食べることができませんが、人々が食べ物に対して持つ情熱や文化について学ぶことができ、それはとても興味深いことだと思います。※上記の文章はOpenAIのGPT-3.5モデルによって生成されたものです(出典:OpenAI)では、形式と情報範囲を指定してみます。情報の範囲を3行とし、形式は俳句というプロンプトを作ります。3行の俳句で、あなたの好きな食べ物について書いてください。夜の月 チョコレート溶ける甘さ響く※上記の文章はOpenAIのGPT-3.5モデルによって生成されたものです(出典:OpenAI)俳句の形式と行数が守られた返答が得られました。このように、プロンプトの形式と情報範囲を指定できれば、求める回答が得られやすくなります。背景・補足情報の提供背景・補足情報の提供によって、より精度を高めるためにプロンプトを設計することもプロンプトエンジニアリングでは必要です。例として、架空の小説(適当に作りました)の要約を依頼してみましょう。タイトル:永遠の星の謎著者名:藤原遥子小説の種類:ミステリー・サスペンス小説のテーマ:消失した宝石の謎、裏社会の陰謀、復讐と正義入力するプロンプトは、以下を指定します。2000年の小説「永遠の星の謎」の要約をしてください。田中啓文による小説「永遠の星の謎」は、異星人との接触や地球外生命体の存在について描かれたSF小説です。物語は、近未来の2031年に始まります。主人公の高校生、相川凪人は、宇宙飛行士に憧れていました。ある日、彼は宇宙開発機構の面接に合格し、アポロ20号のミッションに参加することが決まります。その後、凪人は月面での調査中に、謎の光に遭遇します。その光は、地球外生命体の存在を示すものだと考えられ、凪人たちは宇宙船で追跡を試みます。追跡の末、凪人たちは謎の星にたどり着きます。そこで、彼らは意思を持つ異星人と出会います。彼らは「守護者」と呼ばれ、彼らが住む星を危機に陥れる存在がいることを明かします。守護者たちは、凪人たちにその存在を倒すための力を授けます。凪人たちは、その力を使って危機に陥った星を救うために戦います。しかし、彼らは困難な試練や人間同士の紛争に直面しながら、戦いを続けなければなりません。最終的に、凪人たちは守護者と協力して、星を救うことに成功します。「永遠の星の謎」は、SF小説の王道である異星人や宇宙船などの要素に加え、友情や愛、勇気、人間の生きる意味など、多くのテーマが含まれています。※上記の文章はOpenAIのGPT-3.5モデルによって生成されたものです(出典:OpenAI)架空であるものの返答が得られましたが、オリジナルで作られた内容のようです。そこで、以下の背景と補足情報を提供するプロンプトに変更します。2000年の小説「永遠の星の謎」の要約をしてください。この小説は藤原遥子が書いたミステリー・サスペンス小説で、消失した宝石の謎、裏社会の陰謀、復讐と正義のテーマを探求しています。「永遠の星の謎」は、藤原遥子が2000年に発表したミステリー・サスペンス小説です。物語は、消失した宝石の謎、裏社会の陰謀、復讐と正義のテーマを探求しています。物語は、主人公である女性探偵の秋月葉子が、ある日、失踪した宝石商の依頼を受けて事件の解決を試みるところから始まります。依頼人は、彼の販売予定だった高価な宝石が突如として失われたことを知り、それを秋月に解決してほしいと頼みます。秋月は、事件の真相を探るために、裏社会の情報屋である黒川と協力して捜査を始めます。やがて、事件は復讐と正義のテーマに向かって進展します。秋月は、事件の裏にはかつての恋人の復讐心があることを知り、彼女がかつて起こした事件によって恋人が自殺したという事実を突き止めます。復讐心に駆られた恋人の元同僚が、彼女が失踪させた宝石を盗み出し、それを売っていたことも判明します。最終的に、秋月と黒川は事件の真相を解き明かし、恋人の死を報復するために復讐を果たした同僚を逮捕します。「永遠の星の謎」は、緻密に構成されたストーリーと、犯罪者たちの心理描写によって読者を引き込みます。復讐と正義の二面性を探求した物語は、読者に深い印象を与えることでしょう。※上記の文章はOpenAIのGPT-3.5モデルによって生成されたものです(出典:OpenAI)プロンプトは小説の背景と補足情報を提供しているため、期待通りの結果が得られました。ただ、架空の小説でも回答が得られてしまうことに対しては、何かしらの対策は必要そうです。これらの例は、プロンプトエンジニアリングにおいてプロンプトをどのように作るべきかの指針となるため、うまく答えを得られないときに不足しているものがないかを確認するとよいでしょう。プロンプトエンジニアリングの学習方法プロンプトエンジニアリングの学習方法は、以下が挙げられます。学習方法説明オンラインリソースウェブサイトやブログでプロンプトエンジニアリングについて学ぶ本本でプロンプトエンジニアリングについて学ぶワークショップやコースワークショップやコースでプロンプトエンジニアリングについて学ぶ他の人のプロンプトの分析他の人のプロンプトを分析する自分でプロンプトを試す自分でプロンプトを試す手軽なのは、オンラインリソースから参考本やガイドを見つけて閲覧したり、自分でプロンプトを試す方法です。本記事で触れた例のように、ChatGPTを使って練習する方法も無料ですから便利でしょう。プロンプトエンジニアリングの学習に便利な参考本・ガイドプロンプトエンジニアリングの学習に便利な参考本・ガイドには、以下が挙げられます。Prompt Engineering Guideサクッと始めるプロンプトエンジニアリング【LangChain / ChatGPT】いずれにおいても無料で利用でき、体系的にまとめられているため詳しく学べるものです。ただし、書かれていることを実践したからといって、必ずしも答えが明確になるとは限りません。プロンプトはケースバイケースで変更する必要があることには、注意しておきましょう。AIライティングツールにもプロンプトが必要昨今では文章の作成において利活用が頻繁に行われている「AIライティングツール」にも、適切なプロンプトが必要です。AIライティングツールはChatGPT等と同様に、テキストとコードの大規模なデータセットでトレーニングが行われています。これにより、テキストを生成したり、言語を翻訳したり、さまざまな種類のクリエイティブコンテンツを書いたり、質問に有益な方法で答えたりできる仕組みです。しかし、AIライティングツールはプロンプトまたは入力がないと機能しません。プロンプトでは、AIライティングツールに何をすべきかを教えて必要な情報を提供します。たとえば、AIライティングツールにブログ投稿を書くように依頼する場合は、AIライティングツールにブログ投稿の目的、トピック、ターゲットオーディエンスなど、いくつかのプロンプトを提供する必要があるでしょう。プロンプトがない場合、AIライティングツールは単にテキストやコードの大規模なデータセットからランダムなテキストを生成します。これでは、関連性のないテキストや有益でないテキストが生成される可能性が高まってしまうはずです。そのため、AIライティングツールに何をすべきかを教えて必要な情報を提供できるプロンプトが不可欠ですから、覚えておいて損はないでしょう。【関連記事】AIライティングを有意義に使う方法とは?具体的な導入事例も紹介【補足】プロンプトエンジニアリングに関連する資格プロンプトエンジニアリングに関連する資格には、以下が挙げられます。資格名説明G検定AI技術に関する基礎的な知識を持ち、その知識を事業に活用できる人材の育成を目的とする資格E資格AIエンジニアとしてディープラーニングを実装できる知識とスキルがあることを証明する資格Google Cloud Certified - Professional Data EngineerGoogle Cloud Platformを使用して大規模なデータ処理および分析ソリューションを設計、実装、および運用できることを証明する資格AWS Certified Solutions Architect - ProfessionalAWSを使用して複雑なアーキテクチャを設計、実装、および運用できることを証明する資格Python3エンジニア認定基礎試験Pythonの基本的な文法や構文を理解し、簡単なプログラムを作成できることを証明する資格Python3エンジニア認定データ分析試験Pythonを使用してデータ分析を行うことができることを証明する資格これらは、プロンプトエンジニアリングに関連する多くの資格のほんの一部です。興味がある場合は、さまざまな資格を調べて、自分に最適なものを見つけましょう。まとめプロンプトエンジニアリングは、AIテキスト生成の精度を高めるための重要な技術です。プロンプトを使用することで、AIに与える情報を正確に指示し、求める回答を得ることができます。今後、ますますAIが身近な存在になる中で、プロンプトエンジニアリングはますます重要な技術になることでしょう。学習方法には、オンラインリソースや参考書籍、ワークショップやコース、他の人のプロンプトの分析、自分でプロンプトを試すなどがありますので、自分に合ったものを見つけてぜひ試してみてください。