みなさん、ChatGPTを使っていますか? 私は毎日使うようになり手放せなくなりました。話題なので触ってみたけど使いこなせないという人も多いのではないでしょうか? 今回はそんなChatGPTの使いこなし術をご紹介します。
モデルはどれを使えばいいの?
立て続けにモデルが発表され何を使えば良いのか分からない人も多いかもしれません。モデルの選択基準をご紹介します。
コーディングやライティングをするなら ChatGPT 4o with canvas
今までのChatGPTではChatGPTの出力結果を修正することはできませんでした。「ここ表現を少し変えたい」とか「この処理の前にコメントを入れたい」などちょっとした修正をChatGPTに指示して思い通りの出力にするのは手間がかかりました。
ChatGPT 4o with canvasを使うとコーディングやライティングを開始した際にcanvasが起動します。このcanvas上ではChatGPTの出力結果を自由に修正することができます。これによりChatGPTとコレボレーションしながらコーディングやライティングを行うことが容易になりました。
コードレビューをしたり、文章の長さを変更するなどコーディングやライティングを便利にするメニューも充実しています。ChatGPTと一緒にコードや文章を作りたい方はChatGPT 4o with canvasを使ってみましょう。
難しい問題を解いたり、複雑なプログラムを作るなら o-1 preview
o-1 previewはソフトバンクの孫社長もSoftBank World 2024で言及していた画期的なモデルです。何が画期的かと言うと生成AIが自身の出力を検証して納得がいくまで試行錯誤を繰り返して整合性の取れた結果を生成するのです。
今までのChatGPTではプロンプトを入力すると数秒後には生成が開始されて出力が始まりました。しかし、o-1 previewではすぐには生成は始まりません。代わりに考えます。プロンプトによっては1分近く考えた後に出力が開始されます。Webの世界ではすぐレスポンスを返すのが当たり前でしたが、今後はゆっくり待つことが増えるかもしれません。
そんな考える力を持ったo-1 previewは難しい問題を解いたり、全体で整合の取れたプログラムを作ることが可能です。私が試したところASP.net MVC CoreによるWebアプリケーションもほぼ動く形で作成することができました。Mode、View、Controllerなど必要なファイルを整合性を保って作成することができるのです。
普段使いなら ChatGPT 4o
コーディングやライティングをせず、複雑な問題も解く必要がないのであればChatGPT 4oを使っておけば問題ありません。とりあえずChatGPT 4oを使っておけば間違いありません。
プロンプトはどう書けばいい?
モデルの選択は分かったとしてChatGPTに出す指示、つまりプロンプトをどう書けば良いかが分からない人も多いかもしれません。プロンプトのポイントはChatGPTが理解しやすいようにすることです。
シンプルに!
プロンプトはシンプルに書きましょう。日本語的な余計な修飾は必要ありません。
効果的なプロンプトの構成
プロンプトには以下の4つ含めるのが良いとされています。これによりやりたい事をChatGPTが理解しやすくなります。
- 指示: 何をして欲しいかを具体的に指示します。
- 文脈: 指示の目的であったり、困っていることの背景情報だったり。ChatGPTに必要な情報を漏れなく与えることが重要です。
- 入力: 処理して欲しい対象のデータです。要約や翻訳して欲しい元の文章などがこれにあたります。
- 出力: どのような出力をして欲しいのか具体的に指示します。何文字くらいで出力するのか、どのようなフォーマットで出力するのかを指示することで思い通りの出力にすることができます。
段階的に考えさせるCoT
CoT(Chain of Thought)はo1 previewモデルで使われている技術です。直訳すると思考の連鎖。o1 previewモデルでは深いレベルまでCoTを繰り返すように学習させられています。
段階的に生成を行うことで精度を上げるのが目的です。では、どうすればいいのか? もっとも簡単なのはプロンプトに「段階的に考えて下さい」という魔法の一文を入れるだけでも効果が出ます。最近では「ハルシネーションしないようにして下さい」と入れることで誤った回答をしにくくなるというハックもあるようです。
例を与えるFew-Shotプロンプティング
ChatGPT 4oのような大規模言語モデルの場合、何も例を与えなくてもそれなりに答えてくれます。これをゼロショットプロンプティングと言います。しかし、生成AIもお手本を与えてあげると精度が上がります。いくつか(Few)の例(Shot)を与えるのでFew-Shotプロンプティングと言います。
全部入り、お手本プロンプト
指示: 1週間分の日報から週報を作成して下さい。
文脈: プロジェクトのリーダーとして1週間の実績をプロジェクトマイクロソフトに報告する必要があります。
CoT : 以下の順に段階的に作成して下さい。
1. 日報から実績と課題をテーマごとに要約する
2. 主要だと考えられるテーマを最大3つ抽出する。
3. テーマごとに詳細を200字程度に要約する。
出力: 以下のフォーマットで出力して下さい。
```
## 日付: yyyy/mm/dd - yyyy/mm/dd
## 実績
### 作業A
詳細
## 課題
### 課題B
詳細
```
例)
```
## 日付: 2024/10/07 - 2024/10/11
## 実績
### ファインチューニングの調査
OpenAIのDistillationを使用したファインチューニングの調査を行った。主要機能について調査が完了しノウハウをブログにまとめた。
## 課題
### ファインチューニングの調査
学習曲線が収束しなかった。学習データの作成に問題があると思われる。
```
入力:
```
ここに一週間分の日報を入力
```
ChatGPTの小技
普通にプロンプトを入力しているだけでも便利に使えるChatGPTですが、知っておくと便利な小技があるので紹介します。
自分色にChatGPTを染めるメモリ
ChatGPTを使っていると「メモリを更新しました」と表示されることがあります。これはあなたとのやり取りをChatGPTが記憶してその情報を以降の生成に活用するというものです。メモリが溜まっていくほど、ChatGPTが思い通りに動くようになっていく訳です。やり取りの中で自然に記憶するだけではなく、「記憶して」と指示することで記憶させることもできます。
ChatGPTが記憶している内容は 設定 -> パーソナライズ から確認することができます。意図せずに記憶してしまったメモリを消すことも可能です。
入力の手間を減らすカスタム指示
プロンプトに文脈と出力を含めるのが良いと書きました。毎回プロンプトに入力するのは手間がかかります。例えば小学校の先生だとして、「あなたは小学校の先生です。小学2年生が理解できる文章で出力して下さい。」と毎回入力しなければいけないのは面倒です。これを覚えさせることができるのがカスタム指示です。
メニューから ChatGPTをカスタマイズする を選択することでカスタマイズできます。カスタム指示は2つ設定することができます。
- 上段(カスタム指示): あなたについての文脈を設定します。先ほどの例だと「小学校の先生」の部分です。
- 下段(ペルソナ設定): 出力の口調などを設定します。先ほどの例だと「小学2年生が理解できる文章で出力して下さい」の部分です。
ショートカット
ChatGPTではいくつかショートカットが使えます。使えるショートカットは Ctrl + /
で確認することができます。ショートカットを覚えて効率的に作業しましょう。
まとめ
ChatGPTの使いこなし術をご紹介しました。これからもChatGPTは進化を続けていくと思います。便利に使いこなしていきましょう。