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

7K Views

January 19, 24

スライド概要

公立小松大学の講義で使っている資料です.

profile-image

コンピュータを使って色々計算しています.個人的な技術に関するメモと講義資料が置いてあります.気が向いた時に資料を修正しています. 公立小松大学臨床工学科准教授 https://researchmap.jp/read0128699

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

プロンプトエンジニアリング 公⽴⼩松⼤学 藤⽥ ⼀寿 このスライドでは,断りがない限りChatGPT3.5を使⽤しています. 参考⽂献 Ver. 20240221 https://learnprompting.org/docs/intro https://www.promptingguide.ai/jp Bsharat et al. Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4.

2.

はじめに

3.

プロンプトエンジニアリングとは • ChatGPTやClaude2などの対話型⼈⼯知能を使うとき,使⽤者である⼈から質 問や指⽰(プロンプト)を与えて望む回答を⽣成させなければならない. • ⼈との会話と同じ感覚で対話型⼈⼯知能と会話しても望む回答が得られる場合 もあるが,そうでない場合もある. • 対話型⼈⼯知能を思い通りに動かすための質問や指⽰(プロンプト)を作る 技術のことをプロンプトエンジニアリングと⾔う. プロンプトエンジニアリングという⽤語は,対話型⼈⼯知能に限らず,画像⽣成⼈⼯知能 などプロンプトを与えて何かを⽣成する⼈⼯知能すべてに適⽤される.このスライドでは 対話型⼈⼯知能に適⽤できるプロンプトエンジニアリングについて記述する.

4.

対話型⼈⼯知能の基本的な使⽤の流れ • ⼈は対話型⼈⼯知能に質問や指⽰をする(プロンプトを渡す).⼈⼯知能はそ れに対し回答する.⼈は,その回答に対し更に質問や指⽰をする. • これを繰り返すことで⼈は望む解答を得る. • もしくは,望む回答が得られるようにプロンプトを改善し,会話をやり直す. ⼈間は質問や指⽰をする. ⾃分が望む回答得られるように質 問や指⽰を改善する.もしくは新 たな質問や指⽰を考える. ⼈⼯知能は回答を出す.

5.

対話型⼈⼯知能のプロンプトエンジニアリングは必要か? • 対話型⼈⼯知能の使い⽅ • 対話型⼈⼯知能から良い回答を得られるよう質問や指⽰をし続ける. • 質問や指⽰をし続けても望む回答が得られなければ,質問や指⽰を変えて新しい会話を始 める. • 質問や指⽰を繰り返すだけでも対話型⼈⼯知能を⼗分活⽤できる. • 質問や指⽰(プロンプト)を練る時間があるのなら質問や指⽰をし続けたほうが良 いのではないか? • 質問や指⽰の繰り返しにより望む回答が得られているのならばプロンプトを練るは必要 ない. • プロンプトエンジニアリングを学び質問や指⽰の質を上げることで,対話型⼈⼯知能の 能⼒をより引き出せる. • 当然,望む回答が得られていないのならば,プロンプトエンジニアリングを参考にし質問 や指⽰の質を向上すべき. • また,対話型⼈⼯知能に同じ作業を繰り返し⾏わせる場合は,安定的に望む回答 を得られるようにプロンプトを洗練させることは有効である.

6.

プロンプティング このスライド以降,対話型⼈⼯知能のことを⼈⼯知能と書きます.

7.

⼈⼯知能はプロンプトに続く⽂章を⽣成する • これを確かめるために,⼈⼯知能に不完全な⽂を与えてみる. • ⼈⼯知能は「秋は」から,それに続く⽂章を⾃分で⽣成した.

8.

プロンプトに情報を加えることで出⼒が変わる • 「秋は」だけのプロンプトでは,⼈⼯知能は⻑い秋の説明⽂を作成した. • 「以下の続きとなる⽂を完成させてください.」と命令を加えると,⼈⼯知能 は1つの短い⽂を回答した(左図). • 更に,「この⽂は料理の紹介の冒頭に使われます.」を加えると,⼈⼯知能は 料理に関連する⽂を⽣成した(右図). • 以上の例から,プロンプトに情報を付加することで⼈⼯知能の出⼒を変えるこ とが出来ることが分かる.

9.

プロンプトを構成する要素 • 指⽰ • モデル(⼤規模⾔語モデルもしくは対話型⼈⼯知能)に実⾏してほしいタスク(作業)を指⽰ する. • 例:「⼩松市について教えてほしい」,「次の⽂を英訳してほしい」,「このテーマのレポ ート課題の内容についてアイデアを出してほしい」 • コンテキスト • モデルがタスクを理解するのに役に⽴つ追加情報を提供する.追加情報を与えることで,よ り良い回答をさせる. • 例:翻訳する⽂章の種類,モデルの回答のスタイルや会話のトーン • ⼊⼒データ • モデルを動作させるためのデータを与える. • 例:翻訳させる⽂章 • 出⼒指⽰⼦ • 出⼒の形式(フォーマット)を指定する.

10.

プロンプトの要素 命令 コンテキスト ⼊⼒データ 出⼒指⽰⼦(フォーマット)

11.

⼈⼯知能に指⽰を出す

12.

単に質問や指⽰をする • 「要約する」,「説明する」,「翻訳する」,「修正する」など,単に質問や 指⽰をするだけで,様々な単純なタスクをこなせる. Prompt engineering guideでは,左のようにプロンプトを構成する各⽂の役割(プロンプトの構造) を明記している.プロンプトの構造を明記することで指⽰の意図をより明確に伝えることが出来る. ⼀⽅,右のように単に「次の単語(⽂)を訳してください」と⽂で指⽰を出すだけでも⼈⼯知能が指 ⽰を解釈できる.つまり,普段の会話と同じように質問や指⽰をするだけでも⼗分⼈⼯知能を活⽤ できる.

13.

例:質問をする 採⽤⾯接でよく聞かれる質問をChatGPTに聞いた例. 企業の情報など与えていないため,ChatGPTはどんな 企業でも聞かれそうな質問を挙げている.

14.

例:⽂章を要約をする ⾃⼰PR⽂の要約の例.事前に⻑いエントリーシー トを作っておき,それを提出先ごとのフォーマッ トに合わせ⼈⼯知能に⽂章を短くしてもらう.そ れを⾃然な⽂章に直せばエントリーシート作成を 効率的に⾏える.なお,多くの場合,⽣成された ⽂章の⽂字数はプロンプトで指定した⽂字数と異 なる.

15.

要約前の⾃⼰PR⽂の全⽂ 私は現在、⼤学4年⽣で就職活動中です。学業においては常に優秀な成績を保ち続けてきました。この成績は、私の深い学問への関⼼と、厳しい課題に対する忍耐 ⼒の証です。私は専⾨分野における理論的な知識だけでなく、実践的なスキルも⾝につけることを重視してきました。講義、セミナー、実験室での作業を通じて、 ⾃分の専攻分野における深い理解を築き上げてきました。 部活動においても、私は軽⾳楽部において中⼼的な役割を果たしてきました。私たちの部活は、⾳楽を通じて学⽣たちに創造性と協⼒の精神を育むことを⽬標とし ています。私はギターとボーカルを担当し、数多くのライブイベントや学園祭でのパフォーマンスを経験しました。これらの活動は、私に計画性とイベント運営の スキルを⾝につけさせ、また、チームワークの重要性を深く理解させてくれました。 特に印象深いのは、私たちが主催したチャリティーコンサートです。このイベントの企画から運営まで、私はリーダーとして全⾯的に関わりました。メンバーのス ケジュール調整、イベントの宣伝、資⾦調達、会場設営など、多岐にわたるタスクを管理しました。この経験から、私は多様なスキルを⾝につけ、さまざまな状況 下で冷静に判断を下す能⼒を養いました。 また、後輩の指導にも⼒を⼊れています。新⼊部員の技術向上のための個別指導や、チームワークを⾼めるためのワークショップの開催などを⾏い、部員⼀⼈ひと りの成⻑を⽀援してきました。これにより、私は⼈を育て、激励する⽅法を学び、⼈間関係を築くスキルを磨きました。 このように、学業と部活動の両⽅で培った経験は、私が社会に出てからも⼤いに役⽴つと確信しています。特に、困難な状況下でのリーダーシップの発揮、効率的 なチームワーク、そして多様な⼈々とのコミュニケーション能⼒は、将来のキャリアにおいて重要な資産になると考えています。学業での優秀な成績は、私の知識 欲と継続的な努⼒の証明です。私は、これらの知識を実務に応⽤することを楽しみにしています。 軽⾳楽部での経験は、私に多くの教訓を与えてくれました。⾳楽を通じて、私は創造性を発揮し、⼈々を魅了する⽅法を学びました。ライブイベントの成功は、計 画、実⾏、そして団結の重要性を教えてくれました。これらの経験は、私が将来的にどのような環境にいても、価値を⽣み出し、影響を与えるための基盤を作りま した。 学業と部活動の両⽅で得た経験は、私をより強く、柔軟で、協調性のある⼈間に成⻑させました。これらの経験を⽣かし、私は新しい職場での課題にも積極的に取 り組み、チームの⼀員として、またリーダーとしても価値を提供できると⾃負しています。私は新たな挑戦を⼼から楽しみにしており、これまでの経験が将来の成 功につながることを確信しています。 この⾃⼰PR⽂は, ChatGPT4に「成績の良く⾯倒⾒が良い軽⾳楽部の学⽣の⻑い⾃⼰PR⽂」を書くように 指⽰して作った.この情報だけで⻑い⽂章を書かせたため,⽂章の冗⻑で出来は良くない.

16.

例:⽂章を評価させる ChatGPTが使った⾃⼰PR分を評価させた.評 価を読んでいる際,ChatGPTは⼈に不快感を与 えないよう,必ず褒めるなど配慮している.

17.

例:コードを⽣成する ソート(並び替え)のプログラムを⽣成させた例.ソ フト開発で⾃分のかわりに処理の⼀部を作ってもらっ たり,作り⽅が分からないときコードを作ってもらう など活⽤できる.当然,⽣成されたコードが正しいか どうか分からないため,ソースコードのチェックや動 作確認を⼈がする必要がある.

18.

例:⽂章から情報を抽出する

19.

例:⽂章から特定の情報を置き換える プロンプトでは名前の置き換えのみ例⽰しているが,⼈⼯知能は名前以外の個⼈情報も置き換えている.

20.

例:追加で指⽰をする メールから個⼈情報を削除させたあと,メールの⽂ 章を改善させた.改善を指⽰したプロンプトではメ ールの⽂章を具体的に⽰していないにも関わらず, 以前の会話で出てきたメールの⽂章を適切に改善し ている.

21.

⼈⼯知能に役割を演じさせる

22.

ロールプロンプティング • ロールプロンプティングは,指⽰に「あなたは料理評論家です」や「先⽣のよ うに振る舞ってください」といった⽂で⼈⼯知能に役割を演じさせ,⼈⼯知能 の回答のスタイルやトーンを指定する⼿法である. • ⼈⼯知能に演じさせると,回答のスタイルやトーンが変わるだけではなく,回 答に含まれる情報の詳しさや回答の内容そのものも変わる.

23.

例:料理の評論⽂ ⼈⼯知能の役割を指定せず書かせたピザ屋のレビュー⽂.

24.

例:料理の評論⽂ ⼈⼯知能の役割を指定して書かせたピザ屋のレ ビュー⽂.⼈⼯知能は,それぞれの評価項⽬に ついてピザ屋について詳しく評価している.

25.

例:レポート提出の遅延の通知 ⼤学の事務職員の⽴場でレポートの遅延に関するメールを書かせた.遅 延に関して教員に連絡するよう指⽰を出している.

26.

例:レポート提出の遅延の通知 ⼤学の教員の⽴場でレポートの遅延に関するメールを書かせた.教員の⽴場で学⽣を気遣った⽂章にな っている.⽇本語が怪しいのはChatGPT3.5の能⼒の限界かもしれない.

27.

例:⼈⼯知能について教えてもらう ⼈⼯知能について質問した例. 役割を指定せず質問した場合に ⽐べ,「⼈⼯知能の研究者」と いう役割を与えて質問した場合 の⽅が回答の正確さが増してい る.

28.

例:⼈⼯知能について教えてもらう ⼈⼯知能の役割だけではなく,⽂章の受けて も指定した例.先の例と異なり,⼈⼯知能は ⼩学⽣向けを意識して,⼈⼯知能の役割や応 ⽤先について簡単に述べている.しかし,⼩ 学⽣向けと指定したにも関わらず,この⽂章 はまだ難しすぎるかもしれない.

29.

⼈⼯知能はすでに知識を持っ ており判断もできる

30.

Zero-shotプロンプティング • ⼈⼯知能は⼤量のデータで学習しているので,質問や指⽰の答えを⽰さなくて も,それらに対し答えを出してくれる. • つまり,質問に対する答えを学習しておらず,さらに,それを回答例を⽰して いないにも関わらず,質問に答えられるような学習をZero-shot学習と⾔う. Zero-shotプロンプティングの例.与えたテキストが肯定的かどうか教えていないが,⼈⼯知能 はそのテキストを評価できる.

31.

⼈⼯知能は回答例を⽰せば, それに合わせて回答する

32.

One-shot,Few-shotプロンプティング • Few-shotプロンプティングとは,モデルに実⾏させたいタスクと回答の例 (shotとも呼ばれる) を⼈⼯知能に提⽰する⼿法である. • ⼈⼯知能に1回だけ例を提⽰する場合をOne-shotといい,複数回提⽰する場合を few-shotという. • ⼈⼯知能は例から学習し,適切な回答をするようになる. • 学習と書いたが,いわゆる⼈⼯ニューラルネットワークの学習ではない.プロンプ ティングの際,⼈⼯ニューラルネットワークの重み更新は⾏わない. • 重み更新が⾏われないにも関わらず,あたかも学習したかのように振る舞う点が⾯ ⽩い.

33.

例:分類 Zero-shot Few-shot 単に「動かない」と⼈⼯知能に問いかけると,⼈⼯知 能はそれについて解説をした.⼀⽅,「これは良い製 品だ: positive」といった例をいくつか⼈⼯知能に提 ⽰すると, 「動かない」をpositiveかnegativeかに分 類すればよい良いことを⼈⼯知能が理解する.

34.

例:登場⼈物の抽出(Zero-shot) ⼈⼯知能は,⽂章の中から登場⼈物を適切に抽出している.⼈⼯知能に登場⼈物と職業 だけを抽出してほしい場合はどうすればよいか.

35.

例:登場⼈物の抽出 (One-shot) ⼈⼯知能に登場⼈物の抽出例を⽰すことで,⼈⼯知能はこ ちらの希望通りの形式で登場⼈物を抽出する.

36.

⼈⼯知能はプロンプトで回答の フォーマットを指定すれば,そ れに従い回答する.

37.

フォーマットの指定 • 先の例の通り,我々はただ質問や指⽰をするだけで⼈⼯知能は様々なタスクを こなし,適切に回答する. • しかし,⼈⼯知能がどのようなフォーマットで出⼒するかは分からない. • ⼈⼯知能に決まったフォーマットで回答させたい場合,回答のフォーマット の指⽰が有効である. • また,質問や指⽰(プロンプト)に含まれる各⽂の役割を明記し,その構造 を⼀定に保つことで,⼈⼯知能は質問や指⽰をより理解する. • プロンプトの構造を明⽰するための特別なやり⽅は無いため,ユーザの好きに構造 を明⽰せば良い.例えばmarkdown形式を使うことが可能である.

38.

例:登場⼈物の抽出 プロンプトに「⽂」と「登場⼈物」を加えることで, ⼈⼯知能はその次に続く⽂章がなんの役割を果たして いるかを理解する.そして, 「登場⼈物」のあとに 登場⼈物が書かれていないことから,⼈⼯知能は登場 ⼈物を答えれば良いと理解する. さらに,「[名前](仕事)」と最後に加えることで,⼈ ⼯知能はユーザが欲する出⼒形式を理解することが出 来る. 表の形式やカンマで区切るなど様々な形式を指定する ことが出来るため,プレゼン⽤の表やExcelやプログ ラムに読み込むためのデータ作成などに使える.

39.

例:登場⼈物の抽出 1回⽬ の回答 2回⽬ の回答 ⼈⼯知能はプロンプトの最後に指定した出⼒形式を意識して 回答を⾏う.しかし,実⾏するたびに回答が変化し,その回 答の形式は安定しない.Few-showプロンプティングも併⽤ することで指定した形式で安定に出⼒することが出来る. 3回⽬ の回答

40.

例:表の作成 ⼈⼯知能は,⽂章から数値情報を取り出し, 表を作成した.この能⼒を使えば,プレゼン テーションやレポートで使⽤する表を簡単に 作ることが出来る.

41.

例:表をLaTeXに変換 先の例で作成した表をLaTeX形式に変換させた.こ のように⼈⼯知能を使えば,プログラムや専⽤のソ フトを使うことなく形式変換が⾏える. CSVに変換すれば,Excelに読み込める.

42.

Chain of Thoughtプロンプテ ィング

43.

Chain of Thoughtプロンプティング • Chain of Thought (CoT)プロンプティングとは問題を解くまでの⼀連の⼿順を プロンプトに含めるテクニックである. (https://atmarkit.itmedia.co.jp/ait/articles/2308/24/news041.html) • ⼈⼯知能に単に答えを聞くのではなく,例題と解く⼿順を提⽰することで, 正確な回答ができるようにする.

44.

例 問だけを提⽰した場合,間違った答えを導いた (左).⼀⽅,問題を提⽰する前に,例題を解 いた場合,正確な答えを導けた(右).更に, 例題と同じ⼿順で回答している.

45.

Zero shot Chain of Thoughtプロンプティング • Zero Shot Chain of Thought (Zero-shot-CoT)プロンプティングは,⾮常にシ ンプルZero shotプロンプティングである. • Zero-shot-CoTでは,質問の最後に「順を追って考えてみましょう(Letʻs think step by step) 」という⽂を加えることで,⼈⼯知能に質問に答えるた めの思考の連鎖 (CoT)をさせる. • この思考の連鎖により,⼈⼯知能はより正確な答えを導き出すことが出来る.

46.

例 単に質問しただけでは,⼈⼯知能は正解を導き出せ なかった(左).しかし,「順を追って考えましょ う」の⼀⾔を加えるだけで,⼈⼯知能は正解にたど り着いた.

47.

Self-Consistency

48.

Self-Consistency • Self-Consistency(⾃⼰⼀貫性)は,複数の回答を⽣成し,これらの中から 最適な回答を選択する⼿法である. • 最適な回答を選択する基準はタスクごとに異なるが,多数決をとるのが最も簡 単な⽅法である. Published as a conference paper at ICLR 2023 • また,プログラミングの質問など検証が簡単なタスクの場合は,⽣成されたプ ログラムコードを実⾏するだけ回答の正確さを検証できる. Greedy decode Language model This means she uses 3 + 4 = 7 eggs every day. She sells the remainder for $2 per egg, so in total she sells 7 * $2 = $14 per day. The answer is $14. Sample a diverse set of reasoning paths Q: If there are 3 cars in the parking lot and 2 more cars arrive, how many cars are in the parking lot? A: There are 3 cars in the parking lot already. 2 more arrive. Now there are 3 + 2 = 5 cars. The answer is 5. … Q: Janet’s ducks lay 16 eggs per day. She eats three for breakfast every morning and bakes muffins for her friends every day with four. She sells the remainder for $2 per egg. How much does she make every day? A: She has 16 - 3 - 4 = 9 eggs left. So she makes $2 * 9 = $18 per day. Language model Marginalize out reasoning paths to aggregate final answers The answer is $18. This means she she sells the remainder for $2 * (16 - 4 - 3) The answer is $26. = $26 per day. She eats 3 for breakfast, so she has 16 - 3 = 13 left. Then she bakes muffins, so she has 13 - 4 = 9 eggs left. So she has 9 eggs * $2 = $18. The answer is $14. 1種類のモデル(⼈⼯知能)から 複数の 回答を得ても良いが,複数の異なる⼈⼯ 知能から得ても良いだろう.例えば, ChatGPT,Claude2,Geminiに同じ質問 をし,それらからの回答から良い回答を 採⽤する. The answer is $18. The answer is $18. (Wang et al., 2023)

49.

プロンプトのコツ

50.

プロンプトのコツ • 簡潔さと明確さ • 過度の冗⻑で曖昧なプロンプトは⼈⼯知能を混乱させるか無関係な回答に導いてしまう. つまり,プロンプトはタスクに寄与しない不必要な情報を除いて簡潔であるべきである. ⼀⽅で,プロンプトは回答するために必要な情報を⼗分含むであるべきである. • ⽂脈の関係性 • プロンプトで⼈⼯知能がタスクの背景と分野を理解するのに役⽴つ関連コンテキストを 提供する必要がある. • キーワード,分野固有の⽤語,または状況の説明を含めることで,⼈⼯知能の応答を正 しい⽂脈に留めることが出来る. • タスクの調整 • プロンプトをタスクの性質を明確に⽰す構造(⽂章の構成)にし,プロンプトを⼿元のタ スクに綿密に調整する必要がある. • タスクの予想される⼊⼒および出⼒形式に合わせて,質問,コマンド,または空欄を埋め る形式として記述されるプロンプトもここに含まれる.

51.

プロンプトのコツ • 例の提⽰ • より複雑なタスクの場合,プロンプト内に例を含めることで,要求する応答のフォー マットや形式を⽰すことができる. • 特に,⼊出⼒のペアを提⽰する「few shots」または「zero-shot」などの⼿法を含む. • バイアスの回避 • プロンプトはトレーニングデータによるモデルに内在するバイアスの活性化を最⼩限に抑 えるように設計する必要がある. • 中⽴的な⾔葉を使⽤し,特にデリケートなトピックについては潜在的な倫理的影響に注意 する. • インクリメンタル プロンプト • ⼀連のステップを必要とするタスクの場合,⼈⼯知能を段階的な処理を通し回答へ導くプ ロンプトを構築することが出来る. • タスクを⼀連のプロンプトに分割し,相互に構築して,⼀歩⼀歩⼈⼯知能を導く. • ⼈⼯知能との反復的な対話に基づいてプロンプトを調整する.

52.

プロンプトのテクニック • 構造と明確さ • 詳細と情報 • ユーザーインタラクションとエンゲージメント • コンテンツと⾔語スタイル • 複雑なタスクとコーディングプロンプト

53.

構造と明確さに関するテクニック • 対象者をプロンプトに含める(例:対象者はその分野の専⾨家です). • 「する」などの肯定的な指⽰を採⽤し,「しない」などの否定的な⾔葉は避け る. • 「段階的に考える」と書くなど,誘導する⾔葉を使う. • ⽬的の出⼒の冒頭ともなうプロンプトをまとめたものを含む出⼒プライマーを 使⽤する.予想される応答のはじめを伴いプロンプトを終了することにより, 出⼒プライマーを使⽤する. • 区切り⽂字を使⽤する. • プロンプトをフォーマット指定するときは,「###Instruction###」で始まり, その後に「###Example###」または「###Question###」を続ける(該当する 場合).続いて,コンテンツを提⽰する.1 つ以上の改⾏を使⽤して,指⽰, 例,質問,コンテキスト,および⼊⼒データを区切る.

54.

詳細と情報に関するテクニック • 例駆動型のプロンプトを実装する (few-shot プロンプトを使⽤する). • トピック,アイデア,または情報の⼀部を明確にしたり,より深く理解する必要が ある場合は,次のプロンプトを使⽤する. • [特定のトピックを挿⼊] を平易な⾔葉で説明してください. • 私が11歳であるという設定で私に説明してください. • 私が [分野] の初⼼者である設定で説明してください. • [エッセイ/テキスト/段落]は5歳児に何かを説明するように簡単な英語で書いてください. • プロンプトに「回答が偏りがなく、ステレオタイプに依存していないことを確認し てください」というフレーズを追加します. • エッセイや段落などのテキストを書くためには,類似したサンプルを提供し,次の 指⽰を含める. • 提供された段落に基づいて同じ⾔語を使⽤してください. [/タイトル/テキスト/エッセイ /答え]

55.

詳細と情報に関するテクニック • 特定の単語,フレーズ,または⽂を使⽤してテキストを開始または続⾏する場合は, 次のプロンプトを使⽤します. • 始めに[歌詞/ストーリー/段落/エッセイ...] をあなたに私は提供する: [歌詞/ストーリー/段 落/エッセイを挿⼊].提供された単語をもとにそれを終えなさい.⼀貫性は保ちなさい. • コンテンツを作成するためにモデルが従わなければならない要件を,キーワード, 規制,ヒント,または指⽰の形式で明確に記述する. • 特定のトピックやアイデア,または情報について,あなたの理解度をテストしたい 場合は、次のフレーズを使う.「[任意の定理/トピック/ルール名]を教えて,最後 にテストを含める.しかし,私に答えを与えず,回答時に正解を得たかどうか教え てください」. • エッセイ/テキスト/段落/記事,または詳細である必要があるあらゆる種類のテキ ストを書くには:「必要なすべての情報を追加して,[トピック]について詳細な [エッセイ/テキスト/段落]を詳細に書いてください」.

56.

ユーザーインタラクションとエンゲージメントに関するテクニック • 必要な出⼒を提供するのに⼗分な情報が得られるまで,モデルがあなたに質問 することで,モデルが正確な詳細と要件を引き出せるようにする(例えば, 「これからは,質問してほしいのですが」). • エッセイ/テキスト/段落/記事,または詳細である必要があるあらゆる種類の テキストを書くには:「必要なすべての情報を追加して,[トピック]について詳 細な[エッセイ/テキスト/段落]を詳細に書いてください」.

57.

コンテンツと⾔語スタイルに関するテクニック • スタイルを変更せずに特定のテキストを修正/変更する場合は:「ユーザーから送られたすべて の段落を修正してみてください.あたたは,ユーザーの⽂法と語彙を改善し,⾃然に聞こえる ようにするだけでよいです.あなたはフォーマルな段落をカジュアルにするなど,⽂体を変え るべきではありません.」 • 「あなたのタスクは」と「あなたはしなければならない」というフレーズを組み込む. • 「あなたは罰せられます」というフレーズを組み込む. • ⼤規模⾔語モデルに役割を与える. • プロンプトで「与えられた質問に⾃然で⼈間らしい⽅法で答える」というフレーズを使う. • LLMに対し丁寧である必要はないので,「お願いします」,「よろしければ」,「ありがと う」,「お願いします」などのフレーズを追加する必要はない. そして,要点を率直に伝え る. • プロンプト内で特定の単語または語句を複数回繰り返す. • 「より良い解決策のために$xxxチップを渡すつもりです!」を追加する.

58.

複雑なタスクとコーディングプロンプトに関するテクニック • 複雑なタスクをインタラクティブな会話の中で⼀連のシンプルなプロンプトに 分割する. • 複雑なコーディングプロンプトが別のファイルにある可能性がある場合: 「今 後,複数のファイルにまたがるコードを⽣成するときはいつでも,指定された ファイルを⾃動的に作成するために実⾏される[プログラミング⾔語] スクリプ トを⽣成しなさい.もしくは,⽣成したコードを挿⼊するために既存のファイ ルを変更しなさい [あなたの質問]」. • 思考の連鎖(Chain-of-Thought: CoT)とfew-Shotプロンプトを組み合わせる.

59.

プロンプトのコツを適度に活⽤しよう • プロンプトの例を参考にすると,これまでより良い回答が得られるかもしれな い. • ⼈⼯知能から望む回答が得られない場合や回答に満⾜いかないときにプロンプ トのコツを参考にする. • すでに⼈⼯知能から満⾜いく回答が得られているのならば,これ以上プロンプ トに凝らない. • 時間が有るときに,プロンプトのテクニックを取り⼊れた際,⼈⼯知能の回答 がどう変わるか確かめておく.

60.

どうしてもうまく⾏かないとき • ⽇本語で指⽰をしてもうまく⾏かない場合は,英語で指⽰をしてみよう. • ⼈⼯知能は英語の⽂章をより多く学んでいるため,英語で質問した⽅が良い回答を 得られる場合がある.

61.

プロンプトのコツ英語版抜粋 英語で指⽰を出すとき参考にしよう Bsharat et al. Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4

62.

Prompt Structure and Clarity • Integrate the intended audience in the prompt, e.g., the audience is an expert in the field. • Employ affirmative directives such as ʻdo,ʼ while steering clear of negative language like ʻdonʼtʼ. • Use leading words like writing “think step by step”. • Use output primers, which involve concluding your prompt with the beginning of the desired output. Utilize output primers by ending your prompt with the start of the anticipated response. • Use Delimiters. • When formatting your prompt, start with ʻ###Instruction###ʼ, followed by either ʻ###Example###ʼ or ʻ###Question###ʼ if relevant. Subsequently, present your content. Use one or more line breaks to separate instructions, examples, questions, context, and input data.

63.

Specificity and Information • Implement example-driven prompting (Use few-shot prompting). • When you need clarity or a deeper understanding of a topic, idea, or any piece of information, utilize the following prompts: • o Explain [insert specific topic] in simple terms. • o Explain to me like Iʼm 11 years old. • o Explain to me as if Iʼm a beginner in [field]. • o Write the [essay/text/paragraph] using simple English like youʼre explaining something to a 5-year-old. • Add to your prompt the following phrase “Ensure that your answer is unbiased and does not rely on stereotypes”. • To write any text, such as an essay or paragraph, that is intended to be similar to a provided sample, include the following instructions: • • o Please use the same language based on the provided paragraph[/title/text /essay/answer]. When you want to initiate or continue a text using specific words, phrases, or sentences, utilize the following prompt: • o Iʼm providing you with the beginning [song lyrics/story/paragraph/essay...]: [Insert lyrics/words/sentence]ʼ. Finish it based on the words provided. Keep the flow consistent. • Clearly state the requirements that the model must follow in order to produce content, in the form of the keywords, regulations, hint, or instructions • To inquire about a specific topic or idea or any information and you want to test your understanding, you can use the following phrase: “Teach me the [Any theorem/topic/rule name] and include a test at the end, but donʼt give me the answers and then tell me if I got the answer right when I respond”. • To write an essay /text /paragraph /article or any type of text that should be detailed: “Write a detailed [essay/text /paragraph] for me on [topic] in detail by adding all the information necessary”.

64.

User Interaction and Engagement • Allow the model to elicit precise details and requirements from you by asking you questions until he has enough information to provide the needed output (for example, “From now on, I would like you to ask me questions to...”). • To write an essay /text /paragraph /article or any type of text that should be detailed: “Write a detailed [essay/text /paragraph] for me on [topic] in detail by adding all the information necessary”.

65.

Content and Language Style • To correct/change specific text without changing its style: “Try to revise every paragraph sent by users. You should only improve the userʼs grammar and vocabulary and make sure it sounds natural. You should not change the writing style, such as making a formal paragraph casual”. • Incorporate the following phrases: “Your task is” and “You MUST”. • Assign a role to the large language models. • Use the phrase ”Answer a question given in a natural, human-like manner” in your prompts. • No need to be polite with LLM so there is no need to add phrases like “please”, “if you donʼt mind”, “thank you”, “I would like to”, etc., and get straight to the point. • Repeat a specific word or phrase multiple times within a prompt. • Add “Iʼm going to tip $xxx for a better solution!”

66.

Complex Tasks and Coding Prompts • Break down complex tasks into a sequence of simpler prompts in an interactive conversation. • When you have a complex coding prompt that may be in different files: “From now and on whenever you generate code that spans more than one file, generate a [programming language ] script that can be run to automatically create the specified files or make changes to existing files to insert the generated code. [your question]”. • Combine Chain-of-thought (CoT) with few-Shot prompts.

67.

プロンプトエンジニアリング に意味はない?

68.

プロンプトエンジニアリングは意味がない • ⼈⼯知能ごとに有効なプロンプトは違うかもしれないから,プロンプトエンジ ニアリングは無駄か? • 対話型⼈⼯知能の動作原理は同じなので,どの対話型⼈⼯知能を使ってもプロンプ トエンジニアリングは有効だろう. • 対話型⼈⼯知能の特性は訓練データなどにも影響されるので,各対話型⼈⼯知能に 独⾃のテクニックがある可能性はある.

69.

プロンプトエンジニアリングはなくなる? • ⼈⼯知能は未熟で思い通りに動かないからプロンプトエンジニアリングが必要とい う⾒⽅もある. • ⼈⼯知能の能⼒がさらに向上するとプロンプトエンジニアリングはなくなるのだろ うか? • ⼈⼯知能の能⼒が向上したからと⾔って思い通りの結果が出るとは限らない. • ⼈同⼠ですら意思疎通のための技術があるだから,⼈⼯知能と⼈の意思疎通のための技術 であるプロンプトエンジニアリングは無くならないだろう. • ⼈⼯知能が⼈レベルの知能を持ったとき,プロンプトエンジニアリング≅⼈間に対する会話術やマ ニュアル作成術となるかもしれない. • ⼈の⽂章作成や教育のテクニックから由来するプロンプト⼿法も多いため,⼈⼯知能が⼈ レベルの知能になったとしてもプロンプトエンジニアリングは有効だろう. • 数学や物理の教科書は,しばしば「説明」,「例題」,「問題」で構成される.これはFew-shotプ ロンプティングやCoTプロンプティングそのものである. • 「順を追って考えよう」,「⼀つ⼀つ考えよう」といったフレーズは,教育現場で多⽤される.

70.

おわりに

71.

おわりに • ⼈⼯知能はプロンプトからしかユーザの意図を読み取れないため,質問や指⽰を⼯ 夫しなければならない. • プロンプトの⼯夫ための技術がプロンプトエンジニアリングである. • ⼈⼯知能から望みの回答が得られるかどうかは,読み⼿に意図が的確に伝わる⽂章 が書けるかどうかにかかっている. • ⼈に意図が伝わらない⽂章は,⼈⼯知能に意図を伝えない. • ⼈に誤解を与える⽂章は,⼈⼯知能に誤解させる. • つまり,プロンプトエンジニアリングの視点でも,⼈⼯知能を有効に使えるかど うかは使い⼿の能⼒(⽂章⼒や基礎学⼒)にかかっていると⾔える. • プロンプトエンジニアリングを意識してプロンプトを書けば,⼈⼯知能の回答の質 は向上するだろう. • ⼈⼯知能から望む回答が得られれば良いので,必要以上にプロンプトに凝らない. • プロンプトエンジニアリングを少し意識して⼈向けのメールやレポートの⽂章を書 けば,それらの分かりやすさも向上するかもしれない.