社内にて、新人向けにプロンプトエンジニアリングの研修を実施しました。
その講師を務めるにあたってまとめた内容を公開します。
はじめに
生成AIや周辺技術について書いています。
ここでは、プロンプトエンジニアリングの手法について、実用的なものを平坦な言葉で、簡易なリファレンスとしてまとめています。
頻出するプロンプトエンジニアリング用語について、横文字や用語が多くて入ってこない、という方向けです。
内容は随時更新していく予定ですので、定期的にチェックしてみてください。
プロンプトエンジニアリングについて
「プロンプト(促す)+エンジニアリング(設計)」ですので、ひとことでいえば、
「生成AIを利用するときに、その入力プロンプトを工夫すること」
です。
何を促すように設計するのかといえば、
- 生成AIの出力の向上
- 出力される書式の制御
- 複雑な問題の解決
が一般的です。
ここからは生成AIの一般的な利用を前提とした手法を、違いが分かりやすいように概説していきます。
--1.ゼロショットプロンプティング--
「ショット」=「例」のこと。
一発で回答させる手法です。何のことはない「普通」の文章です。次に見る「フューショット」と対比させるために考えられた概念と思ってください。
--2.フューショットプロンプティング--
回答例を与えてから回答させる手法です。
例が多いほど精度は増すように思いますが、無意識ながら例がズレていた、という可能性があるのが弱点です。
--3.チェーンオブソートプロンプティング(CoT)--
「思考」の「連鎖」、つまり
考え方やプロセスを与えてから回答させる手法です。
出力の結果ではなく過程に目を向け、過程を明文化、それに沿って考えるよう促しています。
有名な決まり文句は「ステップバイステップで考えて」です。正直これを文末につければOKです。
--4.ツリーオブソートエンジニアリング(ToT)--
「思考」の「枝葉」、つまり
複数のアプローチに分岐させて考えるように依頼して回答させる手法です。
一回のプロンプトで完結させるのでなく、複数回のセッションを経て考えていくよう促しています。
出力させた回答を自己評価させ、より質の高い回答を出力させる用途でよく使われます。
--5.アルゴリズムオブソートエンジニアリング(AoT)--
やや変わり種ですが、過去に考案された思考フレームワーク、アルゴリズムを応用させる手法です。
例えば、特定要因図(フィッシュボーン図)、5W1Hなど。
出力の精度を上げるというよりは、文字数(トークン数)を短く済ませるために考えられました。
この考え方だと今まで紹介したプロンプト手法も、「○○エンジニアリングで考えて」とできることになるので便利です。
おわりに
プロンプトエンジニアリングの効果は、モデル性能の進化により移り変わっていくため、あまり手法自体に固執する必要はありません。
あくまでテクニックの一つの引き出しとして、参照いただければ幸いです。
参考文献
公式文献である「Prompt Engineering Guide」
買うと良い本 「ChatGPTを使い尽くす! 深津式プロンプト読本」
もっと知りたい人向け「LLMのプロンプトエンジニアリング」
もっと知りたい人向け2「生成AIのプロンプトエンジニアリング」