Upgrade to Pro — share decks privately, control downloads, hide ads and more …

新プロンプトエンジニアリング⼊⾨(⼤規模⾔語モデル(LLM)の可能性を最⼤限に引き出す技術)

Avatar for MIKIO KUBO MIKIO KUBO
May 12, 2025
36

 新プロンプトエンジニアリング⼊⾨(⼤規模⾔語モデル(LLM)の可能性を最⼤限に引き出す技術)

プロンプトエンジニアリング⼊⾨を以下の資料をもとに講義で解説しました。
⼤規模⾔語モデル(LLM)の可能性を最⼤限に引き出す技術
Prompt Engineering (2025)
Lee Boonstra (Google)
https://www.kaggle.com/whitepaper-prompt-engineering
ビデオはこちら:https://youtu.be/hXlDlVPKjLE
#エージェント #AI #生成AI #プロンプトエンジニアリング
@サプライ・チェイン最適化チャンネル(MIKIO KUBO)
https://www.moai-lab.jp/
https://youtube.com/@kubomikio
https://x.com/MickeyKubo

Avatar for MIKIO KUBO

MIKIO KUBO

May 12, 2025
Tweet

Transcript

  1. プロンプトエンジニアリングって何? 定義 (p.6): LLM(大規模言語モデル)が望ましい正確な出力を生成するように導くための「指示 文(プロンプト) 」を設計・改善するプロセス。 誰でもできる? (p.6): データサイエンティストやエンジニアでなくても、誰でもプロンプトは書ける! でも奥が深い:

    最も効果的なプロンプトを作るには、モデルの特性、設定、言葉選び、構造などを考 慮する必要があり、試行錯誤が伴う。 不適切なプロンプトの影響 (p.6): 曖昧で不正確な応答、意味のある出力が得られない可能性。 3
  2. LLMはどうやって動いているの? LLM = 高度な予測エンジン (p.7) 入力: テキスト(プロンプト) 処理: 入力されたテキストに続く**「次に来る可能性が最も高い単語(トークン) 」**を

    予測する。 これを繰り返し、文章を生成していく。 予測の根拠 (p.7): 膨大な量のテキストデータでの学習結果 直前の文脈(入力されたプロンプトと、それまでに生成した単語) プロンプトエンジニアリングの役割: LLMが「正しい(望ましい)次の単語」を予測で きるように、最初の入力(プロンプト)でうまく誘導すること。 5
  3. 出力をコントロールする要素 LLMの出力はプロンプトだけで決まるわけではない。 重要な要素 (p.8): 1. プロンプト: 指示の内容、質、形式 2. モデル選択: どのLLMを使うか

    (Gemini, GPT, Claudeなど) 3. モデル設定: 出力方法を調整するパラメータ このセクションでは 「モデル設定」 に焦点を当てる。 なぜ設定が重要か? タスクに合わせて最適な設定をすることで、より望ましい結果を 得られる。 7
  4. ① 出力長 (Max Output Tokens) 意味 (p.8): LLMが生成するテキストの最大長(トークン数)を指定する設定。 トークンとは?: LLMがテキストを処理する単位。日本語では単語や文字の一部になる

    ことが多い。 影響 (p.8-9): 計算量・コスト: 長いほど計算量が増え、利用料金が高くなる可能性。 応答時間: 長いほど時間がかかる。 出力内容: 単に途中で切れるだけ。文章が簡潔になるわけではない。 短い出力が必要な場合は、プロンプトで「簡潔に」 「要約して」など指示する 必要がある。 注意点 (p.9): ReAct (Reason+Act) などの手法では、意図せず長い出力が続くことがあ るため、制限が有効。 8
  5. ② サンプリング制御とは? LLMの予測 (p.9): 次に来る単語は1つに決まっているわけではなく、**「各単語が次に 来る確率」**を予測している。 例: 「今日の天気は」 -> {晴れ:

    60%, 雨: 30%, 曇り: 10%} サンプリング (p.9): この確率分布の中から、実際に次に来る単語を決定する方法。 主な設定 (p.9): 温度 (Temperature) Top-K Top-P これらの設定で、出力の ランダム性(創造性) や 多様性 をコントロールする。 9
  6. サンプリング制御: 温度 (Temperature) 役割 (p.9): トークン選択の ランダム性の度合い を制御する。 低い温度 (例:

    0.0 - 0.3): (p.9-10) 最も確率の高い単語が選ばれやすくなる。 より決定的で、一貫性のある、事実に近い応答。 用途: 質問応答、要約、分類など、正確性が求められるタスク。 温度 0 = 常に最高確率の単語を選択 (ほぼ) 高い温度 (例: 0.7 - 1.0): (p.10) 確率の低い単語も選ばれやすくなる。 より多様で、創造的、予期しない応答。 用途: ブレインストーミング、物語作成、詩作など、創造性が求められるタスク。 10
  7. サンプリング制御: Top-K & Top-P 役割 (p.10): 次のトークン候補を、確率の高いものだけに絞り込む方法。 Top-K: (p.10) 確率が上位

    K 個のトークンの中から次のトークンを選ぶ。 K=1: 最高確率のトークンのみ (温度0と同じ効果) Kが大きい(小さい): 候補が増え(絞られ) 、より多様な(保守的な)出力に。 Top-P (核サンプリング): (p.10-11) 確率の高い順にトークンを足していき、累積確率が P を超えるまでのトークン群 の中から次のトークンを選ぶ。 P=0 (=1): 最高確率のトークンのみ (全てのトークンが候補) 利点: 候補の数を動的に変えられる。 11
  8. 設定の組み合わせと注意点 組み合わせの影響 (p.11): 温度、Top-K、Top-P は互いに影響し合う。 極端な設定: 温度 0 や Top-K=1

    は他の設定を無効化する。 推奨される開始値 (例) (p.12): 標準的: 温度 0.2, Top-P 0.95, Top-K 40 創造的: 温度 0.9, Top-P 0.99, Top-K 40 保守的: 温度 0.1, Top-P 0.9, Top-K 20 単一正解タスク: 温度 0 ポイント: これらは出発点。タスクに合わせて試行錯誤が必要。 注意点: 繰り返しループバグ (p.12-13): 設定が不適切だと、同じ単語やフレーズを延々と繰り返すことがある。 対策: 温度やTop-K/Pを調整してバランスを取る。 12
  9. ① ゼロショットプロンプト 意味 (p.13): 最もシンプル。LLMに何の例も見せずに、タスクの指示だけを与える方 法。 「ゼロショット」=「例がゼロ個」 形式: 質問: 日本の首都は?

    指示: 以下の文章を要約してください:[文章] 文章の続き: 昔々あるところに、 利点: 手軽に試せる。 欠点: 複雑なタスクや、特定の出力形式を期待する場合は、うまく機能しないことがあ る。 15
  10. ② ワンショット & フューショットプロンプト 背景 (p.15): ゼロショットでうまくいかない時、LLMにお手本(例) を見せる。 ワンショット (One-shot):

    (p.15) 1つの例(入力と期待される出力のペア)をプロンプトに含める。 モデルに「こんな感じでやってね」と示す。 フューショット (Few-shot): (p.15) 複数 (通常2〜5個以上) の例を含める。 より明確に、LLMが従うべきパターンを示すことができる。 効果: モデルがタスクを理解しやすくなる。 特定の出力形式やスタイルに誘導できる。 17
  11. フューショットプロンプトの構造 基本的な形: [タスクの説明 (任意)] 例1: 入力: [入力テキスト1] 出力: [期待される出力1] 例2:

    入力: [入力テキスト2] 出力: [期待される出力2] ... (複数の例) ... [実際のタスク] 入力: [処理したい入力テキスト] 出力: ← ここをLLMに生成させる 例の数 (p.16): タスクの複雑さ、モデルの能力、入力長の制限による。一般的に3〜5個 18
  12. フューショットプロンプトの例: ピザ注文解析 タスク (p.16): 顧客のピザ注文テキストをJSON形式に変換する。 プロンプト (p.16-17): 顧客のピザの注文を有効なJSONに解析します。 例1: 注文:

    チーズ、トマトソース、ペパロニの小さなピザが欲しいです。 JSON: { "size": "small", "type": "normal", "ingredients": [["cheese", "tomato sauce", "peperoni"]] } 例2: 注文: トマトソース、バジル、モッツァレラの大きなピザをいただけますか JSON: { "size": "large", "type": "normal", "ingredients": [["tomato sauce", "bazel", "mozzarella"]] } さて、大きなピザが欲しいです。最初の半分はチーズとモッツァレラです。もう半分はトマトソース、ハム、パイナップルです。 JSON: 期待される出力 (p.17): { "size": "large", "type": "half-half", "ingredients": [["cheese", "mozzarella"], ["tomato sauce", "ham", "pineapple"]] } 19
  13. フューショットプロンプト: 例選びのポイント 関連性 (p.17): 実行したいタスクと関連性の高い例を選ぶ。 多様性 (p.17): 様々なパターンの例を含める。 品質 (p.17):

    例は正確で、質の高いものである必要がある。 エッジケース (p.17): 可能であれば、例外的・まれなケースの例も入れる。 分類タスクの場合 (p.59): 各クラスの例が均等に混ざるようにする。 20
  14. ③ システム、コンテキスト、役割プロンプト 目的 (p.18): LLMの振る舞いや応答の仕方をより細かく制御するための手法。 システムプロンプト: モデルの全体的な目的、基本的な機能、制約を設定する。 (例: 「あなたは親切なアシスタントです」 )

    コンテキストプロンプト:現在のタスクや会話に特有の背景情報を提供する。(例: 「ユーザーは今、旅行の計画を立てています」 ) 役割プロンプト: モデルに特定のキャラクターや専門家になりきらせる。(例: 「あ なたはシェイクスピア風の詩人です」 ) 関係性 (p.18): これらはしばしば組み合わせて使われる。 21
  15. システムプロンプト: 全体的な指示 役割 (p.19): モデルの動作の土台を作る。 タスクの定義 (翻訳、分類など) 出力形式の指定 (JSON、マークダウンなど) 応答スタイルの制約

    (丁寧な言葉遣いなど) 安全性の確保 (有害な応答をしない) 例 (JSON出力指定) (p.20): 映画レビューを肯定的、中立、または否定に分類します。有効な JSON を返します。 スキーマ: { "感情": "肯定的" | "否定的" | "中立", "名前": 文字列 } レビュー:[レビュー本文] JSON応答: メリット (JSON指定の場合) (p.21, 60-61): 構造化、幻覚抑制、データ抽出の容易化。 22
  16. 役割プロンプト: キャラクター設定 役割 (p.21): モデルに特定の**ペルソナ(役割、キャラクター)**を与える。 効果: 応答のトーン、スタイル、専門性がその役割に沿ったものになる。 より人間味のある、あるいは特定の目的に特化した応答が期待できる。 例: あなたは**旅行ガイド**です。おすすめの観光地を3つ提案してください。

    (p.22) あなたは**幼稚園の先生**です。子供にもわかるように説明してください。 あなたは**ユーモラスな作家**です。面白おかしく解説してください。 (p.23) スタイルの指定 (p.23): 「対立的」 「フォーマル」 「ユーモラス」などを組み合わせるこ とも可能。 23
  17. コンテキストプロンプト: 背景情報の提供 役割 (p.23): 現在の状況や、応答を生成するために必要な背景情報をモデルに伝える。 効果: モデルが文脈を理解し、より的確で関連性の高い応答を生成できる。 誤解を防ぎ、よりスムーズな対話が可能になる。 例 (p.24):

    コンテキスト: あなたは 80 年代のレトロなアーケードビデオゲームに関するブログを執筆しています。 この記事に含めるべき数行の説明とともに、記事を執筆するための 3 つのトピックを提案してください。 ポイント: タスクを進める上で前提となる知識や状況を明記する。 24
  18. ④ ステップバックプロンプト 考え方 (p.25): 具体的な問題に取り組む前に、まず一歩引いて、関連する一般的な原理 や概念について考えさせる。 プロセス (p.25): 1. 具体的な質問

    2. ステップバック: LLMに一般的な質問をさせる 3. LLMが生成した一般的な回答を、元の具体的な質問への回答にコンテキストとし て利用する。 効果: 関連知識を活性化させ、より深く考えさせる。 より正確で洞察に富んだ回答を導き出す。 バイアスを軽減する可能性。 27
  19. ステップバックプロンプトの例: ゲームストーリー 元のプロンプト (従来) (p.26): 挑戦的で魅力的な一人称シューティングビデオゲームの新しいレベルのストーリーラインを1段落で 記述します。 → やや一般的でランダムな結果になりがち。 ステップバック:

    1. 人気の一人称シューティングアクションゲームに基づいて、...5つの架空の主要な設定は何で すか? (p.27) → LLMが5つのテーマ案(廃基地、サイバーパンク都市など)を生成。 2. 生成されたテーマ案をコンテキストとして与え、元のプロンプトを再度実行。 (p.28) コンテキスト:[LLMが生成した5つのテーマ案] テーマの1つを選び、...ストーリーラインを 1段落で記述します。 28
  20. ⑤ Chain of Thought (CoT) 考え方 (p.29): 複雑な問題に対して、LLMに最終的な答えだけでなく、そこに至るまで の中間的な思考プロセス(推論ステップ) も一緒に生成させる手法。

    プロンプトの工夫 (p.29): 指示の最後に「一歩ずつ考えてみましょう (Let's think step by step)」のようなフレーズを追加する(ゼロショットCoT) 。または、フューショッ トで思考プロセスを含む例を示す。 効果: 推論能力が向上し、より正確な回答が得られやすい(特に算数、論理パズルな ど) 。 LLMがどのように考えているか解釈しやすくなる。 29
  21. CoTの例: 計算問題 問題 (p.29): 私が 3 歳のとき、私のパートナーは私の 3 倍の年齢でした。現在、私は 20

    歳で す。私のパートナーは何歳ですか? CoTなしのプロンプト: 上記の質問のみ。 出力例 (p.29): 63 歳 (間違い!) CoTありのプロンプト (ゼロショット) (p.30): 私が 3 歳のとき、私のパートナーは私の 3 倍の年齢でした。現在、私は 20 歳です。私のパート ナーは何歳ですか? **一歩ずつ考えてみましょう。** 出力例 (p.30): 1. 私が3歳の時、パートナーは 3 * 3 = 9歳。 2. 年齢差は 9 - 3 = 6歳。 3. 現在私が20歳なので、パートナーは 20 + 6 = 26歳。 したがって、私のパートナーは26歳です。 30
  22. CoTのコツとユースケース フューショットCoT (p.31): より複雑なタスクでは、思考ステップを含む例(フューシ ョット)を示すと非常に効果的。 CoTのベストプラクティス (p.64): 思考の後に答え: 推論ステップ →

    最終的な答え、の順にする。 温度は低く (0推奨): 推論タスクは通常、正解が一つなので、ランダム性を抑え る。 答えの抽出: 思考プロセスと最終的な答えを区別して抽出できるようにする。 ユースケース (p.31): 算数・数学の問題、論理パズル コード生成(ステップを記述) 合成データ生成 31
  23. ⑥ セルフコンシステンシー 考え方 (p.32): 同じ質問に対して、複数の異なる思考プロセス(CoT) を生成させ、最 終的に最も多くの思考プロセスが導き出した答え(多数決) を採用する手法。 プロセス (p.32):

    1. 同じCoTプロンプトを複数回、高い温度設定で実行する。 2. それぞれの実行結果から、最終的な答えを抽出する。 3. 最も多く出現した答えを最終結果とする。 効果: 単一のCoTよりも、さらに頑健で信頼性の高い結果を得られる。 「たまたま間違った思考プロセス」のリスクを低減。 欠点: 計算コストが高い。 32
  24. セルフコンシステンシーの例: メール分類 タスク (p.32): ウェブサイトのバグを(やや皮肉っぽく)報告するメールを「重要」か 「重要でない」かに分類する。 プロンプト (CoT形式) (p.33): [メール本文]

    上記のメールを IMPORTANT または NOT IMPORTANT に分類します。一歩ずつ考えて、その理由を説明してください。 実行 (高めの温度で複数回) (p.34-35): 試行1: ... 結論: 重要 試行2: ... 結論: 重要ではない 試行3: ... 結論: 重要 多数決 (p.36): 3回の試行のうち、2回が「重要」 。 最終的な答え:重要 33
  25. ⑦ Tree of Thoughts (ToT) 考え方 (p.36): 問題を解く過程を木の枝のように捉え、複数の思考パスを同時に探索・ 評価しながら進める手法。 プロセス

    (p.37): 1. 問題を複数のステップに分解。 2. 各ステップで、複数の可能な「次の思考」を生成。 3. それぞれの「思考」の有望さを評価。 4. 有望な思考パスをさらに先に進め、有望でないパスは打ち切る(探索) 。 効果: 計画立案や探索が必要な、より複雑な問題解決に適している。 CoTのような一本道ではなく、戦略的に思考を進められる。 34
  26. ⑧ ReAct (Reason & Act) 考え方 (p.37): LLMの推論能力 (Reason) と、外部ツール(検索エンジン、APIなど)を

    利用する能力 (Act) を組み合わせるフレームワーク。 プロセス (Thought-Action-Observationループ) (p.37): 1. Thought (思考): 問題を分析し、次にとるべき行動を計画。 2. Action (行動): 計画に基づいて外部ツールを実行。 3. Observation (観察): 外部ツールから得られた結果を認識。 4. 結果をもとに、再び Thought に戻り、繰り返す。 効果: LLM単体では持っていない最新情報や計算能力などを活用できる(エージェント 的動作) 。 35
  27. ReActの例: Metallicaメンバーの子供の数 タスク (p.38): Metallica のバンドメンバーには子供が何人いますか? ReActの実行プロセス (概要) (p.39): 1.

    Thought: Metallicaのメンバーを調べる。 2. Action: 検索「Metallica メンバー」 3. Observation: 4人のメンバー名がわかる。 4. Thought: 各メンバーの子供の数を調べる。 5. Action: 検索「ジェームズ・ヘットフィールド 子供 何人」 6. Observation: 3人。 7. ...(各メンバーについて繰り返し)... 8. Thought: 全員の子供の数を合計する。 9. Final Answer: 10人。 36
  28. ⑨ 自動プロンプトエンジニアリング (APE) 考え方 (p.40): 良いプロンプトを人間が試行錯誤する代わりに、LLM自身に良いプロン プトを生成・評価させるアプローチ。 プロセス (例) (p.40):

    1. 目的定義: タスクと評価指標を決める。 2. 候補生成: LLMにプロンプト候補を複数生成させる。 3. 評価: 生成されたプロンプト候補をスコアリングする。 4. 選択: 最もスコアの高かったプロンプトを採用、または改良して繰り返す。 効果: 人間の手間を省き、時には人間が思いつかない効果的なプロンプトを発見できる 可能性。 37
  29. APEの例: Tシャツ注文の言い換え 目的 (p.41): チャットボット学習用に「MetallicaのTシャツ Sサイズ 1枚」という注文 の、様々な言い換え表現を生成したい。 候補生成プロンプト (p.41):

    バンドグッズ T シャツのウェブショップがあり、チャットボットをトレーニングするために、さまざまな注文方法が必要です:「Metallica の T シャツ S サイズ 1 枚」。 意味は同じですが、意味を維持したまま、10 個のバリアントを生成してください。 LLMによる出力 (候補) (p.41): 1. Metallica の T シャツを S サイズで購入したいのですが。 2. S サイズの Metallica の T シャツを注文できますか? 3. ... (計10個) 次のステップ: これらの候補を評価し、学習データとして利用。 38
  30. ① コード記述の例: ファイル名一括変更 タスク (p.43): フォルダ内の全ファイル名の先頭に「draft_」を付けるBashスクリプト を作成したい。 プロンプト (p.43): Bash

    でコードスニペットを記述します。これはフォルダ名を尋ねます。 次に、フォルダの内容を取得し、内部のすべてのファイルの名前を、ファイル名の前に「draft」という名前を付けて変更します。 出力例 (Bashコード) (p.43): #!/bin/bash echo "Enter the folder name: " read folder_name # ... (フォルダ存在チェック) ... files=( "$folder_name"/* ) for file in "${files[@]}"; do new_file_name="draft_$(basename "$file")" mv "$file" "$folder_name/$new_file_name" 41
  31. ② コード説明の例 タスク (p.44): 他の人が書いたコードが何をしているか理解したい。 プロンプト (p.45): 以下の Bash コードを説明してください。

    [説明してほしいコードを貼り付け] 出力例 (概要) (p.45-46): 1. フォルダ名を入力させる。 2. フォルダ存在チェック。 3. ファイル一覧取得。 4. 各ファイルをループ処理: 新ファイル名生成 (draft_元の名前)。 ファイル名変更 (mv)。 42
  32. ③ コード翻訳の例: BashからPythonへ タスク (p.46): 前のBashスクリプトをPythonスクリプトに変換したい。 プロンプト (p.47): 以下の Bash

    コードを Python スニペットに翻訳してください。[翻訳したいBashコードを貼り付け] 出力例 (Pythonコード) (p.47-48): folder_name = input("フォルダ名を入力してください: ") # ... (フォルダ存在チェック: os.path.isdir) ... files = os.listdir(folder_name) for file in files: new_file_name = f"draft_{file}" shutil.move(os.path.join(folder_name, file), os.path.join(folder_name, new_file_name)) print("ファイルは正常に名前変更されました。") ポイント: 言語間の移植作業を効率化。細かな挙動の違いに注意。 43
  33. ④ コードデバッグ・レビューの例 タスク (p.48): Pythonコードを実行したらエラーが出た。原因特定と修正、改善点を知 りたい。 プロンプト (p.50): 以下の Python

    コードでエラーが発生します。[エラーメッセージ] 何が間違っているかをデバッグし、コードを改善する方法を説明してください。[Pythonコードを貼り付け] LLMの応答例 (概要) (p.51-53): デバッグ: toUpperCase は未定義。 .upper() を使う。修正コード提示。 改善提案: 拡張子保持、スペース対応、f文字列、エラー処理。 改善後のコード提示。 ポイント: エラー特定だけでなく、コード全体の品質向上にも役立つ。 44
  34. プロンプト作成の心構え 試行錯誤が基本 (p.54): 完璧なプロンプトは最初からは難しい。 反復プロセス が重要。 実験の場 (p.54): Vertex AI

    Studio などが便利。 このセクションでは、より良いプロンプトを作るためのヒント(ベストプラクティ ス) を紹介。 46
  35. ベストプラクティス②: シンプルに設計する 原則 (p.55): プロンプトは明確・簡潔・理解しやすいものにする。 目安: 自分が読んで混乱するなら、モデルも混乱する。 避けるべきこと: 複雑すぎる言葉、不要な情報、曖昧な表現。 コツ:アクション動詞を使う(生成する,

    要約する等) 。1プロンプト1タスク。 例 (Before/After) (p.55): 前: NYで3歳児2人と行く良い場所ない? 後:観光客向け旅行ガイドとして行動し、3歳児とNYマンハッタンで訪れるべき場 所を説明して。 48
  36. ベストプラクティス④: 指示 > 制約 指示 (Instruction):「何をすべきか」 (例: 「〇〇を含めて」 ) (p.56)

    制約 (Constraint):「何をしてはいけないか」 (例: 「〇〇は含めないで」 ) (p.56) 推奨 (p.57): 可能な限り、肯定的な指示を使うことを優先する。 理由: 「〜するな」より「〜しろ」の方が明確で、モデルも理解しやすい。 制約が有効な場合: 安全性確保、厳密なフォーマットなど。(p.57) 例 (悪い例/良い例) (p.57): 悪い: ゲーム名をリストしないで。 良い: コンソール、会社、年、売上のみ議論して。 50
  37. ベストプラクティス⑤: その他重要事項 トークン長制御 (p.58): プロンプト内でも要求できる(例: 「ツイート長で」 ) 。 変数を使う (p.58):

    {変数名} で動的に変更、再利用性向上。 実験する (p.59): 形式、言葉遣い、手法などを色々試す。 フューショットのクラス混合 (p.59): 分類タスクでは例のクラスを混ぜる。(再掲) モデル更新に適応 (p.60): 新バージョンを試し、プロンプトを調整。 出力形式の実験 (p.60): JSON等の構造化データ利用を検討。 51
  38. ベストプラクティス⑥: 構造化データ(JSON)活用 出力にJSONを使うメリット (再掲) (p.60-61): 一貫した形式, 必要なデータに集中, 幻覚抑制, 関係性表現, データ型指定,

    ソート可 能 JSON修復 (p.61): json-repair ライブラリなどで、途切れたJSONを修復できる可能 性。 入力にJSONスキーマを使う (p.62-63): 入力データの構造をスキーマで定義し、JSONデータと共に与える。 LLMが入力情報を正確に理解し、誤解を防ぐ。 52
  39. 文書化テンプレート例 目的: プロンプト試行の記録を一元管理 (p.66 表21参考) 項目例: 名前: product_description_v3 目的: eコマース向け商品説明文生成

    モデル: gemini-1.5-pro-latest 温度: 0.5 | Token: 512 | Top-K: 40 | Top-P: 0.95 プロンプト: (全文) 出力: (実際の出力) 評価: OK / NG / 微妙 考察: (なぜそうなったか、改善点など) (リンク): (Vertex AI Studio等へのリンク) 54
  40. まとめ: 学んだことの振り返り プロンプトエンジニアリング (p.66): LLMから望む出力を引き出す指示設計術。 LLM設定 (p.8-12): 温度, Top-K/P, トークン長で出力を調整。

    基本手法 (p.13-24): ゼロ/フューショット, システム/コンテキスト/役割。 高度な手法 (p.25-41): ステップバック, CoT, セルフコンシステンシー, ToT, ReAct, APE。 コードプロンプト (p.42-53): コード生成、説明、翻訳、デバッグ。 ベストプラクティス (p.54-65): 例示, シンプルさ, 具体性, 指示優先, 構造化データ, 実験, 文書化。 重要なこと: プロンプトエンジニアリングは反復的なプロセス。試行錯誤を楽しもう! 55
  41. 次のステップ - さらに学ぶために 実践あるのみ!: 実際に色々なLLMでプロンプトを試す。 Vertex AI Studio などのプレイグラウンドを活用。 情報収集:

    最新の論文や技術ブログを読む。 オンラインコミュニティに参加する。 応用: 自分の仕事や趣味に応用してみる。 56