9.8K Views
January 19, 24
スライド概要
公立小松大学の講義で使っている資料です.
プロンプトエンジニアリング 公立小松大学 藤田 一寿 このスライドでは,断りがない限りChatGPT3.5を使用しています. 参考文献 Ver. 20240826 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.
はじめに
プロンプトエンジニアリングとは • ChatGPTやClaude2などの対話型人工知能を使うとき,使用者である人から質 問や指示(プロンプト)を与えて望む回答を生成させなければならない. • 人との会話と同じ感覚で対話型人工知能と会話しても望む回答が得られる場合 もあるが,そうでない場合もある. • 対話型人工知能を思い通りに動かすための質問や指示(プロンプト)を作る技 術のことをプロンプトエンジニアリングと言う. プロンプトエンジニアリングという用語は,対話型人工知能に限らず,画像生成人工知能 などプロンプトを与えて何かを生成する人工知能すべてに適用される.このスライドでは 対話型人工知能に適用できるプロンプトエンジニアリングについて記述する.
対話型人工知能の基本的な使用の流れ • 人は対話型人工知能に質問や指示をする(プロンプトを渡す).人工知能はそ れに対し回答する.人は,その回答に対し更に質問や指示をする. • これを繰り返すことで人は望む解答を得る. • もしくは,望む回答が得られるようにプロンプトを改善し,会話をやり直す. 人間は質問や指示をする. 自分が望む回答得られるように質 問や指示を改善する.もしくは新 たな質問や指示を考える. 人工知能は回答を出す.
対話型人工知能のプロンプトエンジニアリングは必要か? • 対話型人工知能の使い方 • 対話型人工知能から良い回答を得られるよう質問や指示をし続ける. • 質問や指示をし続けても望む回答が得られなければ,質問や指示を変えて新しい会話を始 める. • 質問や指示を繰り返すだけでも対話型人工知能を十分活用できる. • 質問や指示(プロンプト)を練る時間があるのなら質問や指示をし続けたほうが良 いのではないか? • 質問や指示の繰り返しにより望む回答が得られているのならばプロンプトを練るは必要な い. • プロンプトエンジニアリングを学び質問や指示の質を上げることで,対話型人工知能の能 力をより引き出せる. • 当然,望む回答が得られていないのならば,プロンプトエンジニアリングを参考にし質問 や指示の質を向上すべき. • また,対話型人工知能に同じ作業を繰り返し行わせる場合は,安定的に望む回答を 得られるようにプロンプトを洗練させることは有効である.
プロンプティング このスライド以降,対話型人工知能のことを人工知能と書きます.
人工知能はプロンプトに続く文章を生成する • これを確かめるために,人工知能に不完全な文を与えてみる. • 人工知能は「秋は」から,それに続く文章を自分で生成した.
プロンプトに情報を加えることで出力が変わる • 「秋は」だけのプロンプトでは,人工知能は長い秋の説明文を作成した. • 「以下の続きとなる文を完成させてください.」と命令を加えると,人工知能 は1つの短い文を回答した(左図). • 更に,「この文は料理の紹介の冒頭に使われます.」を加えると,人工知能は 料理に関連する文を生成した(右図). • 以上の例から,プロンプトに情報を付加することで人工知能の出力を変えるこ とが出来ることが分かる.
プロンプトを構成する要素 • 指示 • モデル(大規模言語モデルもしくは対話型人工知能)に実行してほしいタスク(作業)を指示 する. • 例:「小松市について教えてほしい」,「次の文を英訳してほしい」,「このテーマのレポ ート課題の内容についてアイデアを出してほしい」 • コンテキスト • モデルがタスクを理解するのに役に立つ追加情報を提供する.追加情報を与えることで,よ り良い回答をさせる. • 例:翻訳する文章の種類,モデルの回答のスタイルや会話のトーン • 入力データ • モデルを動作させるためのデータを与える. • 例:翻訳させる文章 • 出力指示子 • 出力の形式(フォーマット)を指定する.
プロンプトの要素 命令 コンテキスト 入力データ 出力指示子(フォーマット)
人工知能に指示を出す
単に質問や指示をする • 「要約する」,「説明する」,「翻訳する」,「修正する」など,単に質問や 指示をするだけで,様々な単純なタスクをこなせる. Prompt engineering guideでは,左のようにプロンプトを構成する各文の役割(プロンプトの構造) を明記している.プロンプトの構造を明記することで指示の意図をより明確に伝えることが出来る. 一方,右のように単に「次の単語(文)を訳してください」と文で指示を出すだけでも人工知能が指 示を解釈できる.つまり,普段の会話と同じように質問や指示をするだけでも十分人工知能を活用で きる.
例:質問をする 採用面接でよく聞かれる質問をChatGPTに聞いた例. 企業の情報など与えていないため,ChatGPTはどんな 企業でも聞かれそうな質問を挙げている.
例:文章を要約をする 自己PR文の要約の例.事前に長いエントリーシー トを作っておき,それを提出先ごとのフォーマッ トに合わせ人工知能に文章を短くしてもらう.そ れを自然な文章に直せばエントリーシート作成を 効率的に行える.なお,多くの場合,生成された 文章の文字数はプロンプトで指定した文字数と異 なる.
要約前の自己PR文の全文 私は現在、大学4年生で就職活動中です。学業においては常に優秀な成績を保ち続けてきました。この成績は、私の深い学問への関心と、厳しい課題に対する忍耐 力の証です。私は専門分野における理論的な知識だけでなく、実践的なスキルも身につけることを重視してきました。講義、セミナー、実験室での作業を通じて、 自分の専攻分野における深い理解を築き上げてきました。 部活動においても、私は軽音楽部において中心的な役割を果たしてきました。私たちの部活は、音楽を通じて学生たちに創造性と協力の精神を育むことを目標とし ています。私はギターとボーカルを担当し、数多くのライブイベントや学園祭でのパフォーマンスを経験しました。これらの活動は、私に計画性とイベント運営の スキルを身につけさせ、また、チームワークの重要性を深く理解させてくれました。 特に印象深いのは、私たちが主催したチャリティーコンサートです。このイベントの企画から運営まで、私はリーダーとして全面的に関わりました。メンバーのス ケジュール調整、イベントの宣伝、資金調達、会場設営など、多岐にわたるタスクを管理しました。この経験から、私は多様なスキルを身につけ、さまざまな状況 下で冷静に判断を下す能力を養いました。 また、後輩の指導にも力を入れています。新入部員の技術向上のための個別指導や、チームワークを高めるためのワークショップの開催などを行い、部員一人ひと りの成長を支援してきました。これにより、私は人を育て、激励する方法を学び、人間関係を築くスキルを磨きました。 このように、学業と部活動の両方で培った経験は、私が社会に出てからも大いに役立つと確信しています。特に、困難な状況下でのリーダーシップの発揮、効率的 なチームワーク、そして多様な人々とのコミュニケーション能力は、将来のキャリアにおいて重要な資産になると考えています。学業での優秀な成績は、私の知識 欲と継続的な努力の証明です。私は、これらの知識を実務に応用することを楽しみにしています。 軽音楽部での経験は、私に多くの教訓を与えてくれました。音楽を通じて、私は創造性を発揮し、人々を魅了する方法を学びました。ライブイベントの成功は、計 画、実行、そして団結の重要性を教えてくれました。これらの経験は、私が将来的にどのような環境にいても、価値を生み出し、影響を与えるための基盤を作りま した。 学業と部活動の両方で得た経験は、私をより強く、柔軟で、協調性のある人間に成長させました。これらの経験を生かし、私は新しい職場での課題にも積極的に取 り組み、チームの一員として、またリーダーとしても価値を提供できると自負しています。私は新たな挑戦を心から楽しみにしており、これまでの経験が将来の成 功につながることを確信しています。 この自己PR文は, ChatGPT4に「成績の良く面倒見が良い軽音楽部の学生の長い自己PR文」を書くように 指示して作った.この情報だけで長い文章を書かせたため,文章の冗長で出来は良くない.
例:文章を評価させる ChatGPTが使った自己PR分を評価させた.評 価を読んでいる際,ChatGPTは人に不快感を与 えないよう,必ず褒めるなど配慮している.
例:コードを生成する ソート(並び替え)のプログラムを生成させた例.ソ フト開発で自分のかわりに処理の一部を作ってもらっ たり,作り方が分からないときコードを作ってもらう など活用できる.当然,生成されたコードが正しいか どうか分からないため,ソースコードのチェックや動 作確認を人がする必要がある.
例:文章から情報を抽出する
例:文章から特定の情報を置き換える プロンプトでは名前の置き換えのみ例示しているが,人工知能は名前以外の個人情報も置き換えている.
例:追加で指示をする メールから個人情報を削除させたあと,メールの文 章を改善させた.改善を指示したプロンプトではメ ールの文章を具体的に示していないにも関わらず, 以前の会話で出てきたメールの文章を適切に改善し ている.
人工知能に役割を演じさせる
ロールプロンプティング • ロールプロンプティングは,指示に「あなたは料理評論家です」や「先生のよ うに振る舞ってください」といった文で人工知能に役割を演じさせ,人工知能 の回答のスタイルやトーンを指定する手法である. • 人工知能に演じさせると,回答のスタイルやトーンが変わるだけではなく,回 答に含まれる情報の詳しさ・精度,回答の内容そのものも変わる.
例:料理の評論文 人工知能の役割を指定せず書かせたピザ屋のレビュー文.
例:料理の評論文 人工知能の役割を指定して書かせたピザ屋のレ ビュー文.人工知能は,それぞれの評価項目に ついてピザ屋について詳しく評価している.
例:レポート提出の遅延の通知 大学の事務職員の立場でレポートの遅延に関するメールを書かせた.遅 延に関して教員に連絡するよう指示を出している.
例:レポート提出の遅延の通知 大学の教員の立場でレポートの遅延に関するメールを書かせた.教員の立場で学生を気遣った文章にな っている.日本語が怪しいのはChatGPT3.5の能力の限界かもしれない.
例:人工知能について教えてもらう 人工知能について質問した例. 役割を指定せず質問した場合に 比べ,「人工知能の研究者」と いう役割を与えて質問した場合 の方が回答の正確さが増してい る.
例:人工知能について教えてもらう 人工知能の役割だけではなく,文章の受けて も指定した例.先の例と異なり,人工知能は 小学生向けを意識して,人工知能の役割や応 用先について簡単に述べている.しかし,小 学生向けと指定したにも関わらず,この文章 はまだ難しすぎるかもしれない.
人工知能はすでに知識を持っ ており判断もできる
Zero-shotプロンプティング • 人工知能は大量のデータで学習しているので,質問や指示の答えを示さなくて も,それらに対し答えを出してくれる. • つまり,質問に対する答えを学習しておらず,さらに,それを回答例を示して いないにも関わらず,質問に答えられるような学習をZero-shot学習と言う. Zero-shotプロンプティングの例.与えたテキストが肯定的かどうか教えていないが,人工知能 はそのテキストを評価できる.
人工知能は回答例を示せば, それに合わせて回答する
One-shot,Few-shotプロンプティング • Few-shotプロンプティングとは,モデルに実行させたいタスクと回答の例 (shotとも呼ばれる) を人工知能に提示する手法である. • 人工知能に1回だけ例を提示する場合をOne-shotといい,複数回提示する場合を few-shotという. • 人工知能は例から学習し,適切な回答をするようになる. • 学習と書いたが,いわゆる人工ニューラルネットワークの学習ではない.プロンプ ティングの際,人工ニューラルネットワークの重み更新は行わない. • 重み更新が行われないにも関わらず,あたかも学習したかのように振る舞う点が面 白い.
例:分類 Zero-shot Few-shot 単に「動かない」と人工知能に問いかけると,人工知 能はそれについて解説をした.一方,「これは良い製 品だ: positive」といった例をいくつか人工知能に提 示すると, 「動かない」をpositiveかnegativeかに分 類すればよい良いことを人工知能が理解する.
例:登場人物の抽出(Zero-shot) 人工知能は,文章の中から登場人物を適切に抽出している.人工知能に登場人物と職業 だけを抽出してほしい場合はどうすればよいか.
例:登場人物の抽出 (One-shot) 人工知能に登場人物の抽出例を示すことで,人工知能はこ ちらの希望通りの形式で登場人物を抽出する.
人工知能はプロンプトで回答の フォーマットを指定すれば,そ れに従い回答する.
フォーマットの指定 • 先の例の通り,我々はただ質問や指示をするだけで人工知能は様々なタスクを こなし,適切に回答する. • しかし,人工知能がどのようなフォーマットで出力するかは分からない. • 人工知能に決まったフォーマットで回答させたい場合,回答のフォーマットの 指示が有効である. • また,質問や指示(プロンプト)に含まれる各文の役割を明記し,その構造を 一定に保つことで,人工知能は質問や指示をより理解する. • プロンプトの構造を明示するための特別なやり方は無いため,ユーザの好きに構造 を明示せば良い.例えばmarkdown形式を使うことが可能である.
例:登場人物の抽出 プロンプトに「文」と「登場人物」を加えることで, 人工知能はその次に続く文章がなんの役割を果たして いるかを理解する.そして, 「登場人物」のあとに 登場人物が書かれていないことから,人工知能は登場 人物を答えれば良いと理解する. さらに,「[名前](仕事)」と最後に加えることで,人 工知能はユーザが欲する出力形式を理解することが出 来る. 表の形式やカンマで区切るなど様々な形式を指定する ことが出来るため,プレゼン用の表やExcelやプログ ラムに読み込むためのデータ作成などに使える.
例:登場人物の抽出 1回目 の回答 2回目 の回答 人工知能はプロンプトの最後に指定した出力形式を意識して 回答を行う.しかし,実行するたびに回答が変化し,その回 答の形式は安定しない.Few-showプロンプティングも併用 することで指定した形式で安定に出力することが出来る. 3回目 の回答
例:表の作成 人工知能は,文章から数値情報を取り出し, 表を作成した.この能力を使えば,プレゼン テーションやレポートで使用する表を簡単に 作ることが出来る.
例:表をLaTeXに変換 先の例で作成した表をLaTeX形式に変換させた.こ のように人工知能を使えば,プログラムや専用のソ フトを使うことなく形式変換が行える. CSVに変換すれば,Excelに読み込める.
Chain of Thoughtプロンプテ ィング
Chain of Thoughtプロンプティング • Chain of Thought (CoT)プロンプティングとは問題を解くまでの一連の手順を プロンプトに含めるテクニックである. (https://atmarkit.itmedia.co.jp/ait/articles/2308/24/news041.html) • 人工知能に単に答えを聞くのではなく,例題と解く手順を提示することで,正 確な回答ができるようにする.
例 問だけを提示した場合,間違った答えを導いた (左).一方,問題を提示する前に,例題を解 いた場合,正確な答えを導けた(右).更に, 例題と同じ手順で回答している.
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)をさせる. • この思考の連鎖により,人工知能はより正確な答えを導き出すことが出来る.
例 単に質問しただけでは,人工知能は正解を導き出せ なかった(左).しかし,「順を追って考えましょ う」の一言を加えるだけで,人工知能は正解にたど り着いた.
Self-Consistency
Self-Consistency • Self-Consistency(自己一貫性)は,複数の回答を生成し,これらの中から最 適な回答を選択する手法である. • 最適な回答を選択する基準はタスクごとに異なるが,多数決をとるのが最も簡 単な方法である. • また,プログラミングの質問など検証が簡単なタスクの場合は,生成されたプ ログラムコードを実行するだけ回答の正確さを検証できる. 1種類のモデル(人工知能)から 複数の 回答を得ても良いが,複数の異なる人工 知能から得ても良いだろう.例えば, ChatGPT,Claude2,Geminiに同じ質問 をし,それらからの回答から良い回答を 採用する. (Wang et al., 2023)
プロンプトのコツ
プロンプトのコツ • 簡潔さと明確さ • 過度の冗長で曖昧なプロンプトは人工知能を混乱させるか無関係な回答に導いてしまう. つまり,プロンプトはタスクに寄与しない不必要な情報を除いて簡潔であるべきである. 一方で,プロンプトは回答するために必要な情報を十分含むであるべきである. • 文脈の関係性 • プロンプトで人工知能がタスクの背景と分野を理解するのに役立つ関連コンテキストを提 供する必要がある. • キーワード,分野固有の用語,または状況の説明を含めることで,人工知能の応答を正し い文脈に留めることが出来る. • タスクの調整 • プロンプトをタスクの性質を明確に示す構造(文章の構成)にし,プロンプトを手元のタ スクに綿密に調整する必要がある. • タスクの予想される入力および出力形式に合わせて,質問,コマンド,または空欄を埋め る形式として記述されるプロンプトもここに含まれる.
プロンプトのコツ • 例の提示 • より複雑なタスクの場合,プロンプト内に例を含めることで,要求する応答のフォーマッ トや形式を示すことができる. • 特に,入出力のペアを提示する「few shots」または「zero-shot」などの手法を含む. • バイアスの回避 • プロンプトはトレーニングデータによるモデルに内在するバイアスの活性化を最小限に抑 えるように設計する必要がある. • 中立的な言葉を使用し,特にデリケートなトピックについては潜在的な倫理的影響に注意 する. • インクリメンタル プロンプト • 一連のステップを必要とするタスクの場合,人工知能を段階的な処理を通し回答へ導くプ ロンプトを構築することが出来る. • タスクを一連のプロンプトに分割し,相互に構築して,一歩一歩人工知能を導く. • 人工知能との反復的な対話に基づいてプロンプトを調整する.
プロンプトのテクニック • 構造と明確さ • 詳細と情報 • ユーザーインタラクションとエンゲージメント • コンテンツと言語スタイル • 複雑なタスクとコーディングプロンプト
構造と明確さに関するテクニック • 対象者をプロンプトに含める(例:対象者はその分野の専門家です). • 「する」などの肯定的な指示を採用し,「しない」などの否定的な言葉は避け る. • 「段階的に考える」と書くなど,誘導する言葉を使う. • 目的の出力の冒頭ともなうプロンプトをまとめたものを含む出力プライマーを 使用する.予想される応答のはじめを伴いプロンプトを終了することにより, 出力プライマーを使用する. • 区切り文字を使用する. • プロンプトをフォーマット指定するときは,「###Instruction###」で始まり, その後に「###Example###」または「###Question###」を続ける(該当する 場合).続いて,コンテンツを提示する.1 つ以上の改行を使用して,指示, 例,質問,コンテキスト,および入力データを区切る.
詳細と情報に関するテクニック • 例駆動型のプロンプトを実装する (few-shot プロンプトを使用する). • トピック,アイデア,または情報の一部を明確にしたり,より深く理解する必要が ある場合は,次のプロンプトを使用する. • [特定のトピックを挿入] を平易な言葉で説明してください. • 私が11歳であるという設定で私に説明してください. • 私が [分野] の初心者である設定で説明してください. • [エッセイ/テキスト/段落]は5歳児に何かを説明するように簡単な英語で書いてください. • プロンプトに「回答が偏りがなく、ステレオタイプに依存していないことを確認し てください」というフレーズを追加します. • エッセイや段落などのテキストを書くためには,類似したサンプルを提供し,次の 指示を含める. • 提供された段落に基づいて同じ言語を使用してください. [/タイトル/テキスト/エッセイ /答え]
詳細と情報に関するテクニック • 特定の単語,フレーズ,または文を使用してテキストを開始または続行する場合は, 次のプロンプトを使用します. • 始めに[歌詞/ストーリー/段落/エッセイ...] をあなたに私は提供する: [歌詞/ストーリー/段 落/エッセイを挿入].提供された単語をもとにそれを終えなさい.一貫性は保ちなさい. • コンテンツを作成するためにモデルが従わなければならない要件を,キーワード, 規制,ヒント,または指示の形式で明確に記述する. • 特定のトピックやアイデア,または情報について,あなたの理解度をテストしたい 場合は、次のフレーズを使う.「[任意の定理/トピック/ルール名]を教えて,最後 にテストを含める.しかし,私に答えを与えず,回答時に正解を得たかどうか教え てください」. • エッセイ/テキスト/段落/記事,または詳細である必要があるあらゆる種類のテキ ストを書くには:「必要なすべての情報を追加して,[トピック]について詳細な [エッセイ/テキスト/段落]を詳細に書いてください」.
ユーザーインタラクションとエンゲージメントに関するテクニック • 必要な出力を提供するのに十分な情報が得られるまで,モデルがあなたに質問 することで,モデルが正確な詳細と要件を引き出せるようにする(例えば, 「これからは,質問してほしいのですが」). • エッセイ/テキスト/段落/記事,または詳細である必要があるあらゆる種類の テキストを書くには:「必要なすべての情報を追加して,[トピック]について詳 細な[エッセイ/テキスト/段落]を詳細に書いてください」.
コンテンツと言語スタイルに関するテクニック • スタイルを変更せずに特定のテキストを修正/変更する場合は:「ユーザーから送られたすべて の段落を修正してみてください.あたたは,ユーザーの文法と語彙を改善し,自然に聞こえる ようにするだけでよいです.あなたはフォーマルな段落をカジュアルにするなど,文体を変え るべきではありません.」 • 「あなたのタスクは」と「あなたはしなければならない」というフレーズを組み込む. • 「あなたは罰せられます」というフレーズを組み込む. • 大規模言語モデルに役割を与える. • プロンプトで「与えられた質問に自然で人間らしい方法で答える」というフレーズを使う. • LLMに対し丁寧である必要はないので,「お願いします」,「よろしければ」,「ありがと う」,「お願いします」などのフレーズを追加する必要はない. そして,要点を率直に伝え る. • プロンプト内で特定の単語または語句を複数回繰り返す. • 「より良い解決策のために$xxxチップを渡すつもりです!」を追加する.
複雑なタスクとコーディングプロンプトに関するテクニック • 複雑なタスクをインタラクティブな会話の中で一連のシンプルなプロンプトに 分割する. • 複雑なコーディングプロンプトが別のファイルにある可能性がある場合: 「今 後,複数のファイルにまたがるコードを生成するときはいつでも,指定された ファイルを自動的に作成するために実行される[プログラミング言語] スクリプ トを生成しなさい.もしくは,生成したコードを挿入するために既存のファイ ルを変更しなさい [あなたの質問]」. • 思考の連鎖(Chain-of-Thought: CoT)とfew-Shotプロンプトを組み合わせる.
プロンプトのコツを適度に活用しよう • プロンプトの例を参考にすると,これまでより良い回答が得られるかもしれな い. • 人工知能から望む回答が得られない場合や回答に満足いかないときにプロンプ トのコツを参考にする. • すでに人工知能から満足いく回答が得られているのならば,これ以上プロンプ トに凝らない. • 時間が有るときに,プロンプトのテクニックを取り入れた際,人工知能の回答 がどう変わるか確かめておく.
どうしてもうまく行かないとき • 日本語で指示をしてもうまく行かない場合は,英語で指示をしてみよう. • 人工知能は英語の文章をより多く学んでいるため,英語で質問した方が良い回答を 得られる場合がある.
プロンプトのコツ英語版抜粋 英語で指示を出すとき参考にしよう Bsharat et al. Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4
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.
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 bas ed 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, regulatio ns, 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 followi ng 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 /parag raph] for me on [topic] in detail by adding all the information necessary”.
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”.
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!”
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.
システムプロンプト
システムプロンプト • 主要なユーザーとの対話が始まる前に提供される一連の指示や指針のことであ る. • システムプロンプトでよく指示される事柄 • コンテキストの設定:AIがタスクや会話をより良く理解するための背景情報やコン テキストを提供する. • 役割の定義(ロールプロンプト):対話におけるAIの役割,個性,トーンを指定す る. • 指示の提供:会話中にAIがどのように応答すべきか,どのように振る舞うべきかに ついて具体的なガイドラインを与える. • ルールの確立:AIが何をすべきか,何をすべきでないかについての制限を設定する.
プロンプトエンジニアリング に意味はない?
プロンプトエンジニアリングは意味がない • 人工知能ごとに有効なプロンプトは違うかもしれないから,プロンプトエンジ ニアリングは無駄か? • 対話型人工知能の動作原理は同じなので,どの対話型人工知能を使ってもプロンプ トエンジニアリングは有効だろう. • 対話型人工知能の特性は訓練データなどにも影響されるので,各対話型人工知能に 独自のテクニックがある可能性はある.
プロンプトエンジニアリングはなくなる? • 人工知能は未熟で思い通りに動かないからプロンプトエンジニアリングが必要とい う見方もある. • 人工知能の能力がさらに向上するとプロンプトエンジニアリングはなくなるのだろ うか? • 人工知能の能力が向上したからと言って思い通りの結果が出るとは限らない. • 人同士ですら意思疎通のための技術があるだから,人工知能と人の意思疎通のための技術 であるプロンプトエンジニアリングは無くならないだろう. • 人工知能が人レベルの知能を持ったとき,プロンプトエンジニアリング≅人間に対する会話術やマ ニュアル作成術となるかもしれない. • 人の文章作成や教育のテクニックから由来するプロンプト手法も多いため,人工知能が人 レベルの知能になったとしてもプロンプトエンジニアリングは有効だろう. • 数学や物理の教科書は,しばしば「説明」,「例題」,「問題」で構成される.これはFew-shotプ ロンプティングやCoTプロンプティングそのものである. • 「順を追って考えよう」,「一つ一つ考えよう」といったフレーズは,教育現場で多用される.
おわりに
おわりに • 人工知能はプロンプトからしかユーザの意図を読み取れないため,質問や指示を工 夫しなければならない. • プロンプトの工夫ための技術がプロンプトエンジニアリングである. • 人工知能から望みの回答が得られるかどうかは,読み手に意図が的確に伝わる文章 が書けるかどうかにかかっている. • 人に意図が伝わらない文章は,人工知能にも意図を伝えない. • 人に誤解を与える文章は,人工知能をも誤解させる. • つまり,プロンプトエンジニアリングの視点でも,人工知能を有効に使えるかどう かは使い手の能力(文章力や基礎学力)にかかっていると言える. • プロンプトエンジニアリングを意識してプロンプトを書けば,人工知能の回答の質 は向上するだろう. • 人工知能から望む回答が得られれば良いので,必要以上にプロンプトに凝らない. • プロンプトエンジニアリングを少し意識して人向けのメールやレポートの文章を書 けば,それらの分かりやすさも向上するかもしれない.