プロンプトエンジニアリングの基本のキホン
プロンプトエンジニアリングについて超初心者向けに分かりやすく基本を解説します。
このnoteは拙作のAI Content BuilderまたはGPT AI Talkers、GPT AI Book Makersを購入された方に向けた補足資料ですが、プロンプトエンジニアリングの基本を学びたい人の役にも立ちます。
さて、プロンプトエンジニアリングもいろんな考え方とやり方があります。
今回、超初心者向けということで、直観的で分かりやすい方法に絞って解説していきます。
この知識はchatGPTを前提としていますが、基本的にはチャット型のAIであれば共通して使うことができます。
ネットで検索すればコピペで使える無料プロンプトがたくさんありますが、それをそのまま使えるとは限りません。
自分なりにちょっとカスタマイズするといったひと手間が必要だったりします。
基本的なことが分からないとコピペしたプロンプトの簡単なカスタマイズすらできません。
初心者がchatGPTを使っていて混乱することは「質問の仕方がわからない」があります。
どんなに優秀なAIも質問しなければ回答してくれません。
また、悪い質問は悪い回答を生み出します。
要するに、AIを使う前提として、問題を質問という形で課題化できる語彙力と知識が必要になるんですね。
この「分からないことが分からない問題」は、程度の差こそあれ、誰にでも存在します。
算数には立式があります。
と式を立てることです。
プロンプトエンジニアリングはこれに似ています。
立式さえできれば、その回答を得ることは簡単です。
AIがやってくれるので。
「分からないことが分からない」というのはこの立式ができない状態なんですね。
そもそも、なにをどう質問すればよいのか分からない。
そのような状態ではプロンプトエンジニアリングは意味を成しません。
ましてや1ストップで回答を得るプロンプトを構築することは不可能でしょう。
なので、まずは立式するための「なにをどう質問すれば良いか?」を学ぶ必要があります。
AI記憶喪失問題
AIは基本的に前回のチャット(対話)の内容を憶えていません。
あるいは憶えていても次回のチャット時には忘れるようになっています。
chatGPTのブラウザ版やアプリ版では記憶を維持できる場合がありますが、API版に関しては1回こっきりです。
ですので、API版では対話をしながら話を詰めていくようなプロンプトの送信はできません(Assistants APIは別)。
1ストップで対話履歴をまとめる必要があります。
AI無知問題
AIはベンダーが事前に学習した情報を元に回答をします。
逆に言えば、新しい知識と未来については知りません。
また、知っていても詳しくないことがあります。
例えば、ログインが必要な会員制サイトのサービスについては、名前は知っていてもそれがどういったサービスなのかまでは知らない場合があります。
またマイナーな知識、個人情報については知らないか、知っていたとしてもプライバシー保護のため回答を拒否します。
無理に回答させようするとハルシネーション(幻覚)を引き起こすため、注意が必要です。
可能であれば事前にAIに「◯◯について詳細な知識はありますか?」と質問して確認しておきましょう。
例えば、アフィリエイトの「A8.net」について最新のGPT-4 Turbo(gpt-4-0125-preview)に尋ねてみたところ、以下の回答を得られました。
名前は知っているが、詳細は知らないようです。
ハルシネーション問題
AIはハルシネーション(幻覚)を引き起こします。
人間が見るような幻覚とは異なりますが、さも本当であるかのような回答をするのでたちが悪いです。
(正しい答えを知っていれば間違いと見抜けるが知らない場合は判別が不可能)
特に具体的な店舗情報や観光情報を出力させようすると、微妙に間違った情報を出してきます。
ネット検索しても存在しなかったり、存在していても住所や名称が微妙に違ったりします。
現段階では具体的な組織、地名、所在地、URL、人物名などに関しては出力させないようにするか、事前に資料を与えるか、あとで裏をとる必要があります。
名称を知らない名無し問題
質問を考えるにしても具体的な名称を知っているのと知らないのとでは雲泥の差があります。
困るのが「あれはなんていう名前なんだろう?」という名称を知らない名無し問題です。
もちろん世の中には名称のない現象や物質、状態の方が多いわけですが、質問時にはなるべく正式な固有名詞を使いましょう。
名称を知らない曖昧なものに関してはAIに事前に尋ねて、固有名詞を調べておきましょう。
逆に固有名詞がないものは知識化されていない可能性が高いため、AIにも回答できない可能性が高いです。
例えば、サラリーマンという固有名詞を使わずに、サラリーマンについて質問をするのは非常に厄介です。
以下の質問をしてみましよう。
AIからの回答は以下の通りでした。
期待した答えはサラリーマンでしたが、「従業員」や「社員」という回答となりました。
ズレがありますね。
このズレがどのような差異を生むかというと、以下の質問をしてみると明白です。
得られた回答は以下の通りです。
まったく違いますね。
このように似たような概念であっても、引き出せる情報に違いが生じます。
質問を多段式に重ねていくプロンプトエンジニアリングの場合は、小さな誤差が大きな誤差として現れるため注意が必要です。
逆質問を作らせる
「なにをどう質問すればよいのか分からない」場合は、AIに逆質問を作らせることができます。
以下のようにAIに質問し、逆質問を作らせます。
得られた回答は以下の通りです。
実は自分でプロンプトを作れなくてもAIにプロンプトを考えてくださいとお願いすればやってくれるんですね。
ペアプロンプトエンジニアリングでプロンプトを改善する
AIに逆質問を作らせても抽象的な質問はなかなか思ったような回答にならない場合があります。
プロンプトを改善すればいいわけですが、ガチャ要素が強いので手動でトライ&エラーするのは疲れるものです。
そんな時はAIとペアになって、プロンプトを改善してみましょう。
得られた回答は以下の通りです。
このとおりに質問してみましょう。
得られた回答は以下の通りです。
10回試してみましたが回答は「サラリーマン」に固定され、確かに改善されています。
このように分からないことはAI自身に対話の履歴を示して、改善策を尋ねると一発で解決することがあります。
一発で解決しなければ、さらにAIが間違った回答を追加して間違った理由と改善を質問する(問い詰めて行く)ことでベストなプロンプトを得られます。
基本的にどんな素人もペアプロンプトエンジニアリングの手法が使えれば、目的のプロンプトを得ることができます。
この知識は無料部分一番のハイライトですので覚えておいてください。
AIの回答はそのままでは記事化し辛い件
ここまでは初歩の初歩なので知ってる人も多いことでしょう。
さて、問題は答えを得ることが目的ではなく、回答させること自体が目的の場合です。
具体的にはAIの回答をブログ記事にしたい場合です。
自分自身が知識を得るためであればそのままでも問題ないのですが、AIの回答をブログ記事にする場合、そのままでは画一的な内容になってしまいます。
いわゆるAI臭い記事になってしまう。
そこで、AIの出力にバイアスを与える必要が出てきます。
ところが、これがまたうまく行かない。
さてどうするか?
これが有料セクションの内容となります。
ここから先は
¥ 100
この記事が気に入ったらチップで応援してみませんか?