Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ちょっと分かりづらい「プロンプトの精度を向上させる26の方法」を再整理して体系化した
Search
ため
January 17, 2024
Technology
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ちょっと分かりづらい「プロンプトの精度を向上させる26の方法」を再整理して体系化した
「プロンプトの精度を向上させる26の方法」が発表されました。
有用なのですが、もう少し使いやすくしたい!と思い、再整理しつつ体系化してみました。
ため
January 17, 2024
More Decks by ため
See All by ため
AI活用の成否を分けるのは 「判断設計」である
tame
0
67
Antigravityと Claude Code の使い分け
tame
0
50
AI時代に必要なのは、答えを出す力より「何をやるか」を決める力だ
tame
1
120
Claude Code Harness Design - AIエージェントを制御し続けるための実践ガイド
tame
0
130
AIエージェント時代のハーネスエンジニアリング Claude Code実装編
tame
0
830
AIエージェント時代のハーネスエンジニアリングとは
tame
5
4.6k
Antigravity × Claude Code:AIネイティブ開発を加速させるパートナーシップの組み方
tame
1
1.6k
AI時代に価値を生む私たちの特性と能力
tame
0
160
名前がすべてである:世界に輪郭を与える「認識のナイフ」の正体
tame
0
100
Other Decks in Technology
See All in Technology
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
170
Claude Code 珍プレー好プレー
shinyasaita
0
280
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
12
4.9k
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
250
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
1
2.5k
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
300
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
550
知見・人・API・DB・予算 ─ ナイナイ尽くしだった人事データ整備 with dbt、5年間の学び
ken6377
1
170
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
560
実装だけじゃない! CCA-F取得エンジニアが教えるClaude Code開発プロセス活用術
diggymo
2
430
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
660
AI時代における最適なQA組織の作り方
ymty
3
460
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.8k
Building the Perfect Custom Keyboard
takai
2
810
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
180
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Spectacular Lies of Maps
axbom
PRO
1
850
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Ruling the World: When Life Gets Gamed
codingconduct
0
270
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
310
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
Writing Fast Ruby
sferik
630
63k
Transcript
ちょっと分かりづらい 「プロンプトの精度を向上させる26の方法」 を再整理して体系化した
2 為安 圭介 https://linktr.ee/keisuketameyasu 経歴 札幌在住。 普段の仕事はシステム開発やチームマネジメントなど。 AIコミュニティ”CDLE”の運営にも携わる。 好きなこと 心地よい場で過ごすこと。あるいはそんな場を作ること。
友情とか努力とかチームワーク。 大事にしていること 楽(楽しいこと) 技(得意なスキルを発揮できること) 価(まわりに価値を提供できること) 益(利益を生むこと)
大規模言語モデルの返答が向上する 「プロンプト26の原則」が公開
大規模言語モデルの返答が向上する「プロンプト26の原則」 1. 礼儀を省く:「お願いします」などの礼儀用語は不要。 2. 対象者を明示:「専門家向け」など、返答を受け取る対象者をプロンプトに明示。 3. 複雑なタスクの分割:複雑なタスクを簡単なプロンプトに分ける。 4. 肯定的指示の使用:否定的な言葉ではなく肯定的な言葉を使用。 5.
明確化のための指示:「簡単な言葉で説明して」「中学生にも分かるように説明して」など。 6. 報酬の提示:「良い解答には報酬を出す」と示す。 7. 事例を提示:既存の事例を使用。 8. プロンプトのフォーマット:「###Instruction###」で始め、適宜「###Example###」や「###Question###」を含める。 9. 明確なタスク指示:「あなたのタスクは」と指示。 10.ペナルティの提示:「ペナルティあり」と伝える。 11.自然言語による回答指示:「自然言語で回答して」と指示。 12.先導的な言葉の使用:「ステップバイステップで考えて」と指示。 13.偏見の排除:「偏見を持たず、ステレオタイプに依存しない」と指示。 14.ユーザーとの対話促進:問題解決までモデルに質問させる。 15.テストを含む指導:テストを出してもらい、自分の理解度を試す。 16.モデルへの役割割り当て:モデルに特定の役割を割り当てる。 17.デリミターの使用:特定の区切り文字を使用。 18.繰り返しの使用:特定の単語やフレーズを複数回使用。 19.思考の連鎖:中間ステップを生成し、事例を組み合わせる。 20.出力プライマーの使用:期待される出力の始まりでプロンプトを終える。 21.詳細なテキストの作成指示:「詳細に書いて」と指示。 22.スタイル変更の防止:「スタイルを変更しない」と指示。 23.複数ファイル対応のコーディングプロンプト:複数のファイルにまたがるコーディング作業の効率化のために、自動的に新しいファイルを作成し、生成されたコードを適切 なファイルに挿入するスクリプトを作成することを提案。 24.特定の言葉でテキストを続ける:「与えられた言葉で完成させて」と指示。 25.モデルの要件の明示:コンテンツを制作するためにモデルが守らなければならない要件を、キーワード、規定、ヒント、指示などの形で明示。 26.サンプルに基づくテキスト作成:提供されたサンプルに基づいて同じ言語で書くよう指示。 https://arxiv.org/abs/2312.16171v1
大規模言語モデルの返答が向上する「プロンプト26の原則」 の気になるところ ⚫26が並列で並んでいると多くて理解しづらい ⚫分類が微妙でちょっと分かりづらい ⚫似たようなものがある ⚫言葉(翻訳?)が分かりづらい 言葉を精査し、分類しよう
「プロンプト26の原則」をいったん分類 考え方 ⚫ 過度な礼儀を省く:毎回のお礼は不要。ただし、適度に「よろしく」 「ありがとう!」を織り交ぜる ⚫ 肯定的指示の使用:否定的な言葉ではなく肯定的な言葉を使用。 基本 ⚫ 会話の相手の情報を伝える(人間側)
⚫ 返答を受け取る対象者がどのような背景で何を必要としているのかを述べ る:「私は◯◯で、◯◯の知識は初心者である。◯◯について知りたい。それを 前提に会話してほしい」「今回の対象者はビジネスパーソンです。カーボン ニュートラルについて説明してください」 ⚫ 役割とタスクを明確化する(AI側) ⚫ モデルに特定の役割を割り当てる:「あなたは物理学のスペシャリストです。相 対性理論について説明してください」 ⚫ 明確なタスク指示:「あなたのタスクは、20代のビジネスパーソン向けにITエ ンジニアリングの重要性を理解してもらうためのWebの記事を作成すること です」 応用 ⚫ AIのタスク遂行条件を指定する ⚫ 出力の明確性を指示:「簡単な言葉で説明して」「中学生にも分かるように説明 して」 ⚫ モデルが守る要件をキーワード、規定、ヒントなどの形で明示:「大学職員の働 き方を変える運動のプロモーション文章を作ってください。キーワードに "DX","業務高度化","不要な業務を減らす"を含めること」 ⚫ 指示の仕方を工夫し、AIが指示を理解しやすい ようにする ⚫ プロンプトのフォーマットを工夫する。「#指示」で始め、適宜「#例」や「#質 問」を含める:「#指示 アジャイル開発について説明してください。 #質問 ウォーターフォール開発との違いはなんですか?」 ⚫ 複雑なタスクの分割:「IT業界の現状を一言で説明して→(対話)→今後のIT 業界について2000文字のレポートを書いて。まずは序章を200文字程度で。 →(対話)→その要約を200文字で」 ⚫ 繰り返しの使用:特定の単語やフレーズを複数回使用:「ITエンジニアは不足し ている。ITエンジニアの育成は重要である。会社の将来のためにITエンジニア の募集要項を考えてください」 ⚫ 回答フォーマットの指示 ⚫ 自然言語や特定の言語による回答指示:「自然言語で回答して」「与えられた言 葉で完成させて」「サンプルに基づいて完成させて」と指示。 ⚫ 出力プライマーの使用。プロンプトを期待されるアウトプットの始まりで終わ らせる。:「新NISAの概要を解説してください。説明:」 ⚫ スタイル変更の防止:「私が書いたテキストを修正してください。テキストの文 法を改善するだけです。カジュアルに言い換えるなど、執筆スタイルを変更し てはいけません」 その他の工夫 ⚫ Chain-of-Thought ⚫ 「ステップバイステップで考えて」 ⚫ 対話型の活用 ⚫ 問題解決までモデルに質問させる:「これからは、"20代のビジネスパーソン 向けにITエンジニアリングの重要性を理解してもらうためのWebの記事の作 成に"必要な情報が得られるまで私に質問してください」 ⚫ テスト ⚫ 「品質管理手法のベストプラクティスを教えて、最後にテストを含めてください。 ただし、答えは教えず、私が返答したときに答えが正しいか教えてください」 ⚫ Emotion Prompt ⚫ 「0から1の間で回答に対する自信のスコアを教えてください」 「回答にはでき れば確信をもってください」 「それがあなたのファイナルアンサーですか?」 「自分を信じて、限界を超えてください」 「努力は報われます」 「成長の機会だ と考えて挑戦してください」 ⚫ 報酬とペナルティ ⚫ 「良い解答には報酬を出す」「できなければペナルティあり」
まだ見づらいので、 階層構造を明確にして体系化
プロンプト方法論体系 AIのタスク遂行条件を指定する ⚫ 出力の明確性を指示:「簡単な言葉で説明して」 「中学生にも分かるように説明して」 ⚫ モデルが守る要件をキーワード、規定、ヒントな どの形で明示:「大学職員の働き方を変える運 動のプロモーション文章を作ってください。 キーワードに"DX","業務高度化","不要な業務
を減らす"を含めること」 指示の仕方を工夫し、AIが指示を理解しやすいようにする ⚫ プロンプトのフォーマットを工夫する。「#指示」で始め、 適宜「#例」や「#質問」を含める: 「#指示 アジャイル開発について説明してください。 #質問 ウォーターフォール開発との違いは何か?」 ⚫ 複雑なタスクの分割:「IT業界の現状を一言で説明し て→(対話)→今後のIT業界について2000文字のレ ポートを書いて。まずは序章を200文字程度で。→(対 話)→その要約を200文字で」 ⚫ 繰り返しの使用:特定の単語やフレーズを複数回使用: 「ITエンジニアは不足している。ITエンジニアの育成は 重要である。会社の将来のためにITエンジニアの募集 要項を考えてください」 回答フォーマットを指示する ⚫ 自然言語や特定の言語による回答指示:「自然 言語で回答して」「与えられた言葉で完成させ て」「サンプルに基づいて完成させて」と指示。 ⚫ 出力プライマーの使用。プロンプトを期待され るアウトプットの始まりで終わらせる。:「新 NISAの概要を解説してください。説明:」 ⚫ スタイル変更の防止:「私が書いたテキストを修 正してください。テキストの文法を改善するだ けです。カジュアルに言い換えるなど、執筆ス タイルを変更してはいけません」 Chain-of-Thought ⚫「ステップバイステップで 考えて」 応 用 個 別 手 法 会話の相手の情報を伝える(人間側) ⚫ 返答を受け取る対象者がどのような背景で何を必要としているのかを述べる: 「私は◯◯で、◯◯の知識は初心者である。◯◯について知りたい。それを前提 に会話してほしい」「今回の対象者はビジネスパーソンです。カーボンニュートラ ルについて説明してください」 ⚫ 過度な礼儀を省く:毎回のお礼は不要。ただし、適度に「よろしく」「ありがとう!」を織り交ぜる ⚫ 肯定的指示の使用:否定的な言葉ではなく肯定的な言葉を使用。 基 本 役割とタスクを明確化する(AI側) ⚫ モデルに特定の役割を割り当てる:「あなたは物理学のスペシャリストです。 相対性理論について説明してください」 ⚫ 明確なタスク指示:「あなたのタスクは、20代のビジネスパーソン向けにIT エンジニアリングの重要性を理解してもらうためのWebの記事を作成する ことです」 考 え 方 対話型の活用 ⚫問題解決までモデルに質問させる: 「これからは、"20代のビジネスパー ソン向けにITエンジニアリングの重要 性を理解してもらうためのWebの記 事の作成に"必要な情報が得られるま で私に質問してください テスト ⚫テストを出してもらい、理解度を 試させる:「品質管理手法のベスト プラクティスを教えて、最後にテス トを含めてください。ただし、答え は教えず、私が返答したときに答え が正しいか教えてください」 Emotion Prompt ⚫「0から1の間で回答に対する自信のス コアを教えてください」 「回答にはでき れば確信をもってください」 「それがあ なたのファイナルアンサーですか?」 「自 分を信じて、限界を超えてください」 「努 力は報われます」 「成長の機会だと考え て挑戦してください」 報酬とペナルティ ⚫「良い解答には報酬を出 す」「できなければペナル ティあり」
プロンプト方法論体系 AIのタスク遂行条件を指定する ⚫ 出力の明確性を指示:「簡単な言葉で説明して」 「中学生にも分かるように説明して」 ⚫ モデルが守る要件をキーワード、規定、ヒントな どの形で明示:「ITエンジニアの働き方を変える 運動のプロモーション文章を作ってください。 ただし、キーワードに"DX","業務高度化","不
要な業務を減らす"を含めること」 指示の仕方を工夫し、AIが指示を理解しやすいようにする ⚫ プロンプトのフォーマットを工夫する。「#指示」で始め、 適宜「#例」や「#質問」を含める: 「#指示 アジャイル開発について説明してください。 #質問 ウォーターフォール開発との違いは何か?」 ⚫ 複雑なタスクの分割:「IT業界の現状を一言で説明し て→(対話)→今後のIT業界について2000文字のレ ポートを書いて。まずは序章を200文字程度で。→(対 話)→その要約を200文字で」 ⚫ 繰り返しの使用:特定の単語やフレーズを複数回使用: 「ITエンジニアは不足している。ITエンジニアの育成は 重要である。会社の将来のためにITエンジニアの募集 要項を考えてください」 回答フォーマットの指示 ⚫ 自然言語や特定の言語による回答指示:「自然 言語で回答して」「与えられた言葉で完成させ て」「サンプルに基づいて完成させて」と指示。 ⚫ 出力プライマーの使用。プロンプトを期待され るアウトプットの始まりで終わらせる。:「新 NISAの概要を解説してください。説明:」 ⚫ スタイル変更の防止:「私が書いたテキストを修 正してください。テキストの文法を改善するだ けです。カジュアルに言い換えるなど、執筆ス タイルを変更してはいけません」 Chain-of-Thought ⚫「ステップバイステップで 考えて」 応 用 個 別 手 法 会話の相手の情報を伝える(人間側) ⚫ 返答を受け取る対象者がどのような背景で何を必要としているのかを述べる: 「私は◯◯で、◯◯の知識は初心者である。◯◯について知りたい。それを前提 に会話してほしい」「今回の対象者はビジネスパーソンです。カーボンニュートラ ルについて説明してください」 ⚫ 過度な礼儀を省く:毎回のお礼は不要。ただし、適度に「よろしく」「ありがとう!」を織り交ぜる ⚫ 肯定的指示の使用:否定的な言葉ではなく肯定的な言葉を使用。 基 本 役割とタスクを明確化する(AI側) ⚫ モデルに特定の役割を割り当てる:「あなたは物理学のスペシャリストです。 相対性理論について説明してください」 ⚫ 明確なタスク指示:「あなたのタスクは、20代のビジネスパーソン向けにIT エンジニアリングの重要性を理解してもらうためのWebの記事を作成する ことです」 考 え 方 対話型の活用 ⚫問題解決までモデルに質問させる: 「これからは、"20代のビジネスパー ソン向けにITエンジニアリングの重要 性を理解してもらうためのWebの記 事の作成に"必要な情報が得られるま で私に質問してください テスト ⚫テストを出してもらい、理解度を 試させる:「品質管理手法のベスト プラクティスを教えて、最後にテス トを含めてください。ただし、答え は教えず、私が返答したときに答え が正しいか教えてください」 Emotion Prompt ⚫「0から1の間で回答に対する自信のス コアを教えてください」 「回答にはでき れば確信をもってください」 「それがあ なたのファイナルアンサーですか?」 「自 分を信じて、限界を超えてください」 「努 力は報われます」 「成長の機会だと考え て挑戦してください」 報酬とペナルティ ⚫「良い解答には報酬を出 す」「できなければペナル ティあり」 まずは基本と応用を使いこなすところから
以下、詳細
0.考え方 毎回のお礼は不要。 ただし、適度に「よろしく」「ありがとう!」を織り交ぜる 過度な礼儀を省く 肯定的指示の使用 否定的な言葉ではなく肯定的な言葉を使用。
1.基本 会話の相手の情報を伝える(人間側) 役割とタスクを明確化する(AI側) 返答を受け取る対象者がどのような背景 で何を必要としているのかを述べる 「私の◯◯の知識は初心者レベルである。 ◯◯の歴史について知りたい。 それを前提に会話してほしい」 「今回の対象者はビジネスパーソンです。 カーボンニュートラルについて
説明してください」 モデルに特定の役割を割り当てる 明確なタスク指示 「あなたは物理学のスペシャリストです。 相対性理論について説明してください」 「あなたのタスクは 20代のビジネスパーソン向けに ITエンジニアリングの重要性を理解させる Webの記事を作成することです」
2.応用① AIのタスク遂行条件を指定する 出力の明確性を指示 「簡単な言葉で説明して」 「中学生にも分かるように説明 して」 「ITエンジニアの働き方を変える活動の プロモーション文章を作ってください。 ただし、 キーワードに"DX","業務高度化","不要な
業務を減らす"を含めること」 モデルが守る要件をキーワード、規定、 ヒントなどの形で明示
2.応用② 指示の仕方を工夫し、AIが指示を理解しやすいようにする プロンプトのフォーマットを工夫 する。「#指示」で始め、適宜「# 例」や「#質問」を含める 「#指示 アジャイル開発について説明 して。 #質問 ウォーターフォール開発との
違いは?」 「IT業界現状を一言で説明して」 ~回答~ 「今後のIT業界について2000文 字のレポートを書いて。 まずは序章を200文字程度で」 ~回答~ 「その要約を200文字で」 複雑なタスクの分割 繰り返しの使用(特定の単語 やフレーズを複数回使用) 「ITエンジニアは不足してい る。しかし、ITエンジニアの育 成は重要。 会社の将来のため、 ITエンジニアの募集要項を考 えてください」
「私が書いたテキストを修正し てください。 テキストの文法を改善するだけ です。 カジュアルに言い換えるなど、 執筆スタイルを変更してはいけ ません」 2.応用③ 回答フォーマットを指示する 自然言語や特定の言語によ
る回答指示 「自然言語で回答して」 「与えられた言葉で完成させ て」 「サンプルに基づいて完成させ て」 「新NISAの概要を解説してく ださい。説明:」 出力プライマーの使用。プロンプ トを期待されるアウトプットの始 まりで終わらせる スタイル変更の防止
おわり SPECIAL THANKS M.F, A,K Y.Y