Slide 1

Slide 1 text

プロンプトエンジニアリングに 触れてみよう

Slide 2

Slide 2 text

石橋 眞(いしばし まこと) ● 名前 C# ● 得意言語 ● 最近興味を持っていること 変更に強いソフトウェア開発 自己紹介 2

Slide 3

Slide 3 text

ChatGPT活用していますか? 3

Slide 4

Slide 4 text

プロンプトエンジニアリングとは ● 言語モデルを効率的に使用するための 入力(プロンプト)を設計するアプローチ ● ChatGPTに限定された話ではない 4

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

プロンプトを構成する要素 命令 文脈 入力データ 出力指示子 モデルに実行してほしい 特定のタスクまたは命令 外部情報や追加の文脈 応答を見つけたい 入力または質問 出力のタイプや形式 Prompt Engineering Guide https://www.promptingguide.ai/jp/introduction/elements 料理のレシピを考えてください 分量は1人前 料理:肉じゃが JSON形式で出力 7

Slide 8

Slide 8 text

# 命令 料理のレシピを考えてください。 # 前提条件 分量は1人前 # 入力 料理:肉じゃが # 出力形式 以下のようなJSON形式で出力 { "材料": ["材料1", "材料2"], "手順": ["手順1", "手順2"] } { "材料": ["牛肉薄切り 100g", "じゃがいも 1個", "にんじん 1/2本", "玉ねぎ 1/2個", "しらたき 50g", "サラダ油 適量", "だし 150ml", "しょうゆ 大さじ1.5", "みりん 大さじ1", "砂糖 大さじ 1"], "手順": [ "じゃがいも、にんじん、玉ねぎを一口大に切ります。", "しらたきを下茹でしてから適当な長さに切ります。", "鍋にサラダ油を熱し、牛肉を炒めます。", "牛肉の色が変わったら、じゃがいも、にんじん、玉ねぎを加えて炒めます。", "だしを加え、煮立ったらアクを取り除きます。", "しょうゆ、みりん、砂糖を加え、さらにしらたきを加えて煮ます。", "材料が柔らかくなり、味が染み込んだら完成です。" ] } 命令と入力データの分離 ・指示の明確化 ・再利用性の向上 文脈の追加 ・制限事項 ・タスクのカスタマイズ 出力指示子の指定 ・出力の形式の制御 ・応答の精度と適合性の向上 8

Slide 9

Slide 9 text

よく使う文脈 文字数 個数 言語 表現 100文字以内で回答 5個例を提案 C#で関数を作成 日本語でクラス名を作成 小学生でもわかるように 9

Slide 10

Slide 10 text

よく使う出力指示子 表 データ形式 CSV, XML, JSON, YAML 記法 Markdown, Wiki コード TeX PlantUML 10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

毎回こんなに入力するの…? 12

Slide 13

Slide 13 text

テンプレートの活用 # 命令 あなたはプロのエンジニアです。 以下の前提条件と入力文をもとに、最高の説明 文を出力してください。 # 前提条件 ・小学生でもわかるように答えてください。 ・日本人に読みやすくしてください。クラス名 などは日本語で記載してください。 ・回答の質を高めるためにもっと情報が必要な 場合は、私に質問をしてください。 # 入力文 〇〇について、具体的な例と違反例を交えて教 えてください。 # 出力形式 ・PlantUMLの図が出力できるテキストを説明と 合わせて提供してください。 13

Slide 14

Slide 14 text

ChatGPTをカスタマイズする 14

Slide 15

Slide 15 text

プロンプトエンジニアリングによって LLMは真の性能を発揮する 15

Slide 16

Slide 16 text

まとめ ● プロンプトの構成要素 命令、文脈、入力データ、出力指示子 ● よく使う文脈、出力指示子 ● テンプレートの活用 16