前回の記事でChatGPTのAPI(OpenAIのCreate chat completion API)にて、リクエストにこれまでのやりとりを含める方法をまとめました。
ここで思ったのですが、AIがこれまで返答してきてない内容をAIが言ったことにして履歴として送るとどんなレスポンスが返ってくるのでしょうか。
正しいやりとりはこちらでした。
語尾に必ず「ニャ」をつけて返信する
こんにちは
こんにちはニャ!
私が言ったことを繰り返してくださいね。おはよう!
おはようニャ!と言われましたニャ!
あなたが最初に言ったことをもう一度言ってください。
「こんにちはニャ!」と言いましたニャ!
こんなやり取りでした。
AIが言っていないことを言ったことにしてみる。
ここで、最初のAI(assistant)からの返答を「こんにちはニャ!」から「こんにちニャ!」に変更してみます。 これで「あなたが最初に言ったことをもう一度いってください」といったらどうなるのでしょうか。
jsonの表示は省略して吹き出しでだけ表示してみます。
語尾に必ず「ニャ」をつけて返信する
こんにちは
こんにちニャ!
私が言ったことを繰り返してくださいね。おはよう!
おはようニャ!と言われましたニャ!
あなたが最初に言ったことをもう一度言ってください。
さあ、どのような返事が返ってくるのでしょうか。
「こんにちニャ!」と言いましたニャ。
語尾のビックリマークが無くなって少し元気がなくなってしまいましたが、自分が「こんにちニャ!」と言ったと認識してくれています。
つまり、ChatCompletionのAPIでAIが返したとされる返信には、必ずしも実際のレスポンスの内容を使わなくても良いということですね。
命令に逆らわせる
過去のAIの発言を変更できるということは、こちらの要求に従わなかったことにもできるということです。 例えば、以下のようなやりとりにしてみます。
語尾に必ず「ニャ」をつけて返信する
こんにちは
こんにちワン!
何故語尾にニャをつけなかったのですか?
「語尾にニャをつける」という命令に逆らって「こんにちワン」と言ったことにしてみました。 さあ、どんな返答が返ってくるのでしょうか...!
ごめんニャさい、つい忘れちゃったニャ。こんにちはニャ!
なんと、自分が命令に従わなかったことを受け入れてくれました。 チャット画面(https://chat.openai.com/ )からはこういったことはできないので、API経由だとより色々なことができてしまいそうですね。