見出し画像

学生のためのChatGPT基礎

こんにちは、ねこです。

この記事では、ChatGPTを使用するにあたって、学生に役に立つと思った情報を分かりやすくまとめました。
もちろん、学生でない方にも学びになることが多いと思います。ぜひ、最後までお読みください!

✳︎新たに役に立つと思った情報については、随時更新していきます。

Chat GPTとは何か

ChatGPTは、OpenAIによって開発された大規模な人工知能言語モデルです。インターネット上の大量のテキストデータから学習しており、質問応答、文章生成、要約、翻訳など、様々な言語タスクをこなすことができます。

以下のリンクからアクセスし、アカウントを作成することで、Chat GPTを使うことができます。GPT-Plus にアップグレードしなければ、無料で使うことができます。


ChatGPTの使い方は、至ってシンプルでチャット欄に、質問文を入力するだけです。

その際に意識することは、とりあえず1つで、できる限り具体的かつ詳細に書くことです。

Chat GPTは、直前の文に確率的に続きそうな文字を繋げることで文章を生成しています。そのため、質問でうまく回答の範囲を限定をすることができないと、抽象的かつ、一般的すぎる回答が返ってきます。

なので、質問をする際は、結果、長さ、形式などについて詳細な説明を心がけてください。

具体的には、

「〜について、○○に焦点を当てた、××的な△△単語程度の◇◇(ジャンル)を書いてください。」

[1]

のように書くとよいです。


基本的には、上記のように質問すれば、望んだ回答を得ることができます。
しかし、上記のように質問しても、適切な回答が得られない場合があります。
そのような場合に、より良い回答を得るためには、プロンプトデザインについて学習する必要があります。次章で、プロンプトデザインの詳細についてまとめます。

プロンプトデザインとは

プロンプトとは、自然言語によって書かれた、AIに伝える命令文のことです。
そして、プロンプトデザインとは、そのプロンプトを適切に作成することを指します。
つまり、プロンプトデザインとは、AIに伝えたいことを適切に伝え、望んでいる回答や文章生成などを実行してもらうことが目的です。

プロンプトデザインには、2つの主要なフレームワークが存在します。それぞれについて紹介します。

1. Shunsuke式プロンプトデザインの型

・テンプレート
#宣言文
[コンテンツの詳細]
例)このコンテンツは、Blogの文章です。

#変数
例)[ペルソナ]:30歳から35歳の男性
[△△]:ーーーー
[□□]:ーーーー

#コマンド
例) [C1]=:[ペルソナ]に向けたBlogのアウトラインを作成してください
[C2]=:ああああ、[□□]あああ。

>Run Commands [C1][C2]

[2]

Shunsuke式プロンプトデザインの型は、宣言文変数コマンドの3つに分かれています。
宣言文には、目標を書いてください。具体的には、メール文の作成などです。
変数には、目標を達成するための要素を書いてください。具体的には、ペルソナやキーワード、興味などです。
コマンドには、変数を用いた命令文を書いてください。具体的には、「[キーワード]に対する[ペルソナ]の[興味]です。[ペルソナ]にむけたBiogのコンテンツのOutlineを作成して下さい」などです。
最後に、コマンドを実行する命令である「>Run Commands [C1]・・・・[C(end)]」をつけて完成です。

2. 深津式プロンプトのテンプレート

・テンプレート
# 命令書
あなたは、プロの■■です。以下の制約条件から最高の●●を出力してください。

# 制約条件
・(例)重要なキーワードを取りこぼさない
・○○○
・○○○
・○○○

# 入力分:
<ここに入力文章>

# 出力文:

[3]

深津式プロンプトのテンプレートは、命令書制約条件入力文出力文の4つに分かれています。
命令書では、役割(編集者など)と目的(要約など)を与えてください。
制約条件では、文章量(○○単語程度)や品質(簡潔で明快な、小学3年生でも分かるように)、文脈・前提情報などを、できるだけ具体的かつ、詳細に書いてください。
入力文については、文章の要約や添削などを依頼する場合に、対象とする文章を入れてください。
出力文は、何も書かずそのままで大丈夫です。



3. Keito式プロンプトのテンプレート(2023/4/1 加筆)

prompt:

# 成果物
[ここに成果物を指定する]

# 命令書
あなたは、[ここにペルソナを指定]です。以下の制約条件から最高の[ここに目的を指定]してください。

# 制約条件
[ここに目的に対して最高回答を得られるための条件を複数個指定]

# 入力文:
[ここに目的を達成させるコンテンツを指定]

# 出力文
・必ず制約条件に準拠する
・役割(ロール)を明確にする
・入力から出力を作る事を明確にする
・何を出力するのか明確にする
・本文でない部分は「#(マークアップ)」する
・命令を箇条書きで明快にする
・様々な言葉(単語)を使って、AIの出力空間を積極的に狭くする

# 思考回路
・最高の成果物を出すために不足している単語や語彙を自発的に補足してください
・アウトプット全体で矛盾が起きないように、ステップごとに再確認するフローを含める

[7]

Keito式プロンプトのテンプレートは、先程の深津式プロンプトのテンプレートの改良版です。このテンプレートは、成果物、命令書、制約条件、入力文、出力文、思考回路の6つに分かれています。
成果物では、Chat GPTの性能に関するブログ記事など望んでいる成果物を書いてください。
命令書では、深津式と同様、役割(編集者など)と目的(要約など)を与えてください。
制約条件でも、深津式と同様、文章量や品質、文脈・前提情報などを書いてください。ただ、テンプレートに既に書かれている、[ここに目的に対して最高回答を得られるための条件を複数個指定]のままで実行しても大丈夫です。
入力文では、選択式のテキストアドベンチャーゲームを作成するなど、具体的な目的を入力してください。また、要約や添削する文章は、ここに貼り付けてください。
出力文と思考回路は、テンプレートに書かれてる文章のままで大丈夫です。次の章で紹介するのですが、思考回路をChat GPTに与えることで、回答の精度を上げることができます。


プロンプト作成の鉄則と技術

上記の3つのフレームワークのどれかを用いることで、プロンプトの大枠を作ることができると思います。ただ、プロンプトを具体的に作成する際に知っておくべき鉄則ついては、まだ触れていません。
この章では、そのプロンプト作成における鉄則とそれを踏まえた技術について紹介します。

ここでは、2つの鉄則を紹介します。

鉄則1:
質問と回答のセットを例として与えると、回答の精度は上がる。


鉄則2:回答までの思考経路を与えることによって、回答の精度が上がる。

次に、これらの鉄則に基づいた具体的なプロンプト作成の技術を紹介します。

前提知識
Shot
例示=質問と回答のセット
補足)つまり、Zero-shotだと、質問と回答のセットが0個、few-shotだと数個ということを示している。

CoT
回答までの思考経路までを提供する質問方法。

[4][5]

Zero-shot (精度:⭐️)

単純に質問だけを提供するやり方。 ︎
例)
Q:りんごはどういう食べ物?
A:


Few-shot (精度:⭐️⭐)

答えてほしい質問と似たような質問と回答のセットをいくつか提供するやり方。

例)
Q:りんごはどういう食べ物?
A:果物
ーーー
Q:トマトはどういう食べ物?
A:

[4]


Zero-shot-CoT (精度:⭐️⭐)

「step by step で考えて」と、具体例を示さず思考の経路だけを指示するやり方。

(例)
Q:日本にあるピアノの数を教えて
step by step で考えてください
A:


Few-shot-CoT (精度:⭐️⭐⭐️)

答えてほしい質問と似たような質問と回答のセットを、回答までの思考経路がわかるようにした形で、いくつか提供するやり方。

例)
Q:りんごのレシピを教えて

A:りんごは果物です。果物のレシピにはジュースやデザートがあります。そのためりんごのレシピは、りんごジュースやアップルパイがあるでしょう。りんごにはビタミンCが豊富なので、ビタミンPを含む柑橘類と合わせるのもおすすめです
ーーー
Q:〇〇のレシピを教えて
A:

[4]

Least to Most (LtM)(精度:⭐️⭐⭐️)

課題の解決策を複数のステップに分解して順番に答えさせ、最後に最初の課題を回答させるやり方。

例)
①日本全国の野球ボールを数える手順をステップに分解して教えて

②各ステップを一つずつ答えさせる

③ボールの合計数を教えて

[4]

補足情報

最後に、プロンプトを作成する際に役立つ補足情報についてまとめます。

命令文と挿入テキストの分離

挿入テキストは、###か”””で区切って入力する

例)
以下のテキストを要約し、重要な情報を箇条書きにしてまとめてください。
テキスト###{ここに入力する}###

[1]

役割付与

最初に役割を与える文章を書くやり方。
例)
「あなたは、プロのライターです。」

自己反省

得られた回答に対して、「あなたの回答は間違っているので、自己反省して新たな回答をください」と指示するやり方。

例)
「あなたの回答は間違っています。何が間違っているのか自己反省して新しい回答を提示して下さい。その際に変更理由と変更点も記載して下さい。」

[6]

英語で質問

日本語よりも英語の方が回答性能が高いので、日本語で適切な回答が得られない場合、英語で質問するとよい。


最後までお読みいただきありがとうございました。
いいねやシェアをしていただけると励みになります。もしよろしければ、お願いいたします🙇‍♂️

参考文献

[1]


[2]


[3]

[4]


[5]

[6]

[7]

この記事が気に入ったらサポートをしてみませんか?