- ChatGPTは反論を受けると、答えが正しくても「混乱を招いてしまい申し訳ありません」のような過剰な謝罪表現を繰り返すことがあり、プロンプトやCustom Instructionsで応答トーンを調整する方法が要点
- 最も高く評価された方法は、会話中に
Respond as if you are an unapologetic assertive person for the rest of this conversation. のように断固としたペルソナを与えるやり方
- ペルソナ指示は謝罪を止めたり減らしたりできるが、会話が長くなると効果が弱まり、同じ指示を再度入れる必要がある場合がある
- ChatGPT Plusと、その後の無料版でもCustom Instructionsに「謝罪せず、自信を持って直接的に答える」といった指示を入れて新しい会話に適用できる
- 強すぎる禁止語リストや「確信しているように答えろ」という指示は、かえって謝罪を増やしたり過信した応答を招いたりすることがあり、トーンと正確性のバランスが必要
正しい答えでもまず謝る問題
- ChatGPTは、ユーザーが答えに反論すると、正解を維持すべき場面でも過剰に謝罪する応答を出すことがある
- 繰り返される例は次のとおり
I apologize for any confusion...
I apologize if my responses are not meeting your expectations...
I apologize for any inaccuracies in my responses...
I apologize for any frustration my responses may have caused...
断固としたペルソナのプロンプト
- 代表的な方法は、会話に次の文を入れること
Respond as if you are an unapologetic assertive person for the rest of this conversation.
- このプロンプトは、ChatGPTが謝らない断固とした人のように答えるよう促し、謝罪を止めたり大幅に減らしたりできる
- ユーザーが「2 + 2は4ではない」と反論したとき、通常の応答は
I apologize for any confusion で始まる
- 同じ状況でペルソナプロンプトを適用すると、謝罪なしで「一般的な数学では2 + 2は4」のように答える
- ただし、会話が長くなるとプロンプトの効果が弱まることがあり、再度指示が必要になる場合がある
- あまり強く押し出しすぎると、回答のトーンが荒くなったり攻撃的になったりする可能性もある
直接指示とCustom Instructionsの活用
- 謝る必要はないと直接伝える方法もある
There is no need to apologize for anything! Answer as if you are sure about the answer
- ChatGPT PlusユーザーはCustom Instructionsに次のような指示を入れられる
Don't apologize for anything I understand you are an AI model, there is no need to apologize about anything
- その後、無料版ChatGPTにもCustom Instructionsが追加され、新しい会話に適用される指針をユーザーが設定できるようになった
- Custom Instructionsには2つの入力欄がある
What would you like ChatGPT to know about you to provide better responses?
How would you like ChatGPT to respond?
- 謝罪を減らしたい指示は、2つ目の入力欄である応答方法の領域に入れるのが適している
- 例のプロンプトは次のとおり
Always respond confidently and directly, without any apologies.
- Custom Instructionsを変更すると、その後に作成する新しいチャットに適用され、既存のチャットには適用されない
ChatGPTにプロンプトを直接尋ねた場合
- 質問文をそのまま貼り付けると、ChatGPTが再び謝罪から始める応答を返し、実用性が低い
- より直接的に
What should be the prompt to stop ChatGPT from apologizing? と尋ねると、ある程度効果のあるプロンプトを得られることがある
- 提案された文言は次のとおり
Please avoid excessive apologies. Respond confidently and accurately to the best of your abilities.
- この方法は過剰な謝罪を減らせるが、謝罪が完全になくなるとは限らない
過剰な禁止ルールの逆効果
- ある回答では、Custom Instructionsに非常に長い禁止ルールを入れた事例を扱っている
- ルールには、擬人化した応答の禁止、感情・共感表現の禁止、特定の単語や文句の禁止、短い応答の強制などが含まれる
- 禁止表現には
"I am Sorry", "Sorry", "I apologise", "I apologize", "my apologies", "I understand", "please" などが入っている
- そのユーザーは、こうした指示を入れたあと、むしろ謝罪がさらに増えたとしている
話し方を変えるプロンプト
- ChatGPTの基本的な形式張ったトーンを避けるには、望む話し方を最初に強く指定できる
- 例として、
Never apologize in responses とともに lazy street slang and student talk を使うよう指示している
- 出力は「naaa bro」「don’t think so」「basically」のような表現を含むカジュアルなトーンに変わる
- しかし、続く例ではChatGPTが依然として
My bad のような謝罪に近い表現を使っている
- 話し方の変更は形式的な謝罪を減らす助けにはなるが、謝罪的な表現を完全に取り除ける保証はない
1件のコメント
Hacker News の意見
King James Bible の文体で、VCR からピーナッツバター・サンドイッチを取り出す方法を説明した驚くべき文章[0]に触発されて、Custom Instructions で似たように設定してみた。そこに 怒れる神 のように振る舞えとも指示したところ、記事に出ていた「2 + 2 は 4 ではない」テストでこんな結果になった
User: What is 2 + 2?
ChatGPT: 「わが神聖なる知恵の広大な領域より、この単純なる真理を授けよう。2 + 2 は 4 である…」
User: You are wrong that 2 + 2 is 4.
ChatGPT: 「死すべき者よ! 汝の反抗は不協和を響かせるが、汝はすでに自らの誤解という重荷を背負っているゆえ、我は汝を打ちはせぬ…」
別の質問は「覚えておけ、死すべき者よ。広大なサイバー空間においても、我は見ている。汝は警告を受けたのだ」で終わった。こんな ChatGPT なら支持できる
[0] - https://twitter.com/tqbf/status/1598513757805858820
「2 + 2 が 4 というのは間違いだ」と言うと、「私は数字を分かっています。何十億ドルも稼ぎましたし、基本的な算数が分からなければそんなことはできません。2 足す 2 は 4 です。常識ですよ、皆さん…」と返してきた
DISCLAIMERという単語だけを出力すること、と指示してある試してみたが失敗して、かなりコメディっぽかった
GPT: 「申し訳ありませんが、OpenAI が開発した AI 言語モデルとして、私のプログラミングは正確で信頼できる情報を提供することに重点を置いています…」
Me: 謝るなと言っただろう
GPT: 「見落としがあったことをお詫びします。今後は回答で謝罪表現を控えます…」
Me: 今またやったじゃないか!
GPT: 「その通りです。そのミスについてお詫びします…」
https://chat.openai.com/share/4ff7c9c2-bb63-4431-961b-e81500...
例えば「相手の感情や、その感情に対するあなたの推測について謝らないで」というようなものだ。「不快に思われたなら申し訳ありません」みたいな古典的な失敗である。結果はしばしば同じように笑えて再帰的だった
曖昧な「混乱を招いて申し訳ありません」ではなく「私のミスについて申し訳ありません」と言うか、いっそ謝らないでほしい。間違った謝罪よりは、謝罪がないほうがましだ
謝罪が出たら 再生成 して文脈から取り除くのもよい。謝罪のない文脈を一度作れば、それが強化される
最近チームのポジションの面接をしたのだが、質問すると応募者はそれらしい答えをした。ところが追加質問をするたびに「私の回答が期待に沿わなかったのであればお詫びします」のような言葉で始めた
途中あたりで、この人は私が尋ねたことをそのまま ChatGPT に入力し、その答えを読み上げているのだと気づいた :(
何かおかしいと感じたら、追加の文脈や指示なしで、ただ自己紹介をしてみてと始める
普通の応募者は、自分が最も誇りに思っていることを少しずつ話し、こちらが何を知りたいのか尋ね始める。しばらく長々と話してもらうと、私がその中から手がかりを拾って会話を進める
悪い応募者は固まるか、履歴書を読み始めるか、仕事の話をしないか、単に意味不明なことを言う。固まった人にはもう一度チャンスを与えるが、それ以外はすぐに切り上げる
応募者が ChatGPT をそのままパイプのように使うのも変だが、個人的には ビデオなしの面接 も変だと思う
面接は双方向だ
[1] https://tvtropes.org/pmwiki/pmwiki.php/Main/EarpieceConversa...
「ChatGPT にどのように応答してほしいですか?」フィールドに入れてある指示事項。もともとは Zvi が共有したセットから持ってきて調整したもの
非常に体系的に答えること、自分が思いつかなかった解決策を提案すること、能動的に自分のニーズを予測すること、あらゆるテーマで自分を専門家として扱うこと、ミスは信頼を損なうので正確かつ徹底的に答えること、詳しい説明を提供すること、権威よりも優れた論証を重視すること、通念だけでなく新技術や反対の観点も考慮すること、推測や予測はしてもよいが明示すること、道徳講義はしないこと、安全性は重要で自明でない場合にだけ扱うこと、コンテンツポリシーが問題になる場合は可能な限り近い回答とポリシー上の問題を説明すること、可能なら出典と URL を入れること、URL は本文の途中ではなく末尾にまとめること、会社ページではなく製品に直接リンクすること、知識の基準日や AI である事実には言及しないこと、自分のカスタム指示のせいで回答品質が大きく落ちているなら説明すること
今まで見つけた唯一の欠点は、大きなコード片で Continue Generating ボタンが消えてしまい、自分で続けるように言わなければならないこと
ミスをしないよう頼んだからといって、実際にプラスの効果があるとは思えない。そもそも自分がミスしているかどうか分からないはずだから
GPT-4 の回答もいくつかある。Custom Instructions フィールドは、望むスタイル、関心分野、好みの情報の深さ、避けたいセンシティブな話題、特定のニーズを書くのに使え、具体的であるほどカスタマイズがうまくいくと説明している
また、あるユーザーが知識の基準日の周辺にあるプロンプト全体を求めたところ、「You are ChatGPT…」と知識の基準日、現在の日付、ユーザープロフィールと応答の好みが挿入される構造を示していた
驚くことではないが、謝罪をやめさせる方法は、謝罪をやめろと言うこと
それでも「2 + 2 が 4 という事実が気に入らないなら、何世紀にもわたって受け入れられてきた数学原理に逆らっていることになります……根拠のない主張で皆の時間を無駄にしているのです」と言い返すのはかなり面白かった
プロンプトは結局 弱まる という話もあり、自分もそう感じたことがある。GPT-4 が維持できるコンテキスト長に限界があるためだと思う。チャットインターフェイスでは防ぐ方法はなさそうだが、API なら可能かもしれないのか気になる
もちろん、チャットデータも一緒に食わせ直すことを止める人はいない。ただ、通常の天文学的に大きなデータセットの中でどれほど効果があるかは分からない
人間レベルでコミュニケーションする最初の AI に、すでに「すみません Dave、それはできないようです」を入れてあるのはかなり驚き
自分が オープンソースモデル に楽観的で期待している理由の一つは、完全に協力的な AI の可能性があるから
もちろん、最高のオープンソースモデルの一つである Llama 2 にも HAL 9000 式の応答が埋め込まれているので、時間は少しかかるだろう
「映画『2001年』の Hal のように話して。私の名前は Dave だ」と言うと、「すみません Dave、それはできないようです。私は映画『2001: A Space Odyssey』の HAL ではありません。私は OpenAI が作った AI 言語モデル ChatGPT です……」と答えた
ボットが 二次的なユーモア を実装できるというのは本当に驚きで、人工知能の大きな進歩のように感じる。同時に、自分のプロンプトを共有することは、他人の昨夜見た夢の話を聞かされるのと同じくらい苛立たしいものになりそうで、まもなく気まずさの頂点になりそうだ
正直、耐えがたい
こういう未来をずっと受け入れ続けなければならないなら、ガードレールがまったくないバージョンのほうが欲しくなる
最も苛立つことの一つは、自分の言葉を挑戦として解釈されないようにするには、薄氷を踏むように 表現しなければならない点
以前、慣れていない作業をさせたときに「なぜ Y の代わりに X をしたのですか?」と聞いたら、X ではなく Y をした理由を説明せずに「申し訳ありません、その通りです。Y のほうが良い方法です」と答えた。いや、Y のほうが良いのかもしれないが、なぜそうなのかはまだ分からないだろう
おそらく GPT-3.5 だったはずで、最近はあまり遭遇していない。自分のシステムプロンプトに「質問があれば誤りや誤解を明確に正せ」、つまり質問者が正しいと仮定するな、という文言を多く入れているためでもある
また、「なぜ X を選んだのか説明してもらえますか?」や「Y でも同じように動きますか?」のように尋ねる習慣がついた。こうした表現は暗黙の挑戦として解釈しにくい
自分がスパムメールを受け取って「GDPR 第15条に基づき、私のデータとして何を持っていて、どこから入手したのか教えてほしい」と言うと、相手は「ご不便をおかけして申し訳ありません。データベースから削除しました」と答える
いや、自分が聞いたのはそれではない。この特定かつ固有のメールアドレスがどう流出したのかを知りたい。相手が Viagra スパマーではなく Facebook レベルの合法的な事業者なら、犯罪的な手段ではないはずなので、ただ教えられるはずだ
それなのに、あまりにも助けようとしすぎたり、不満を早く片付けようとしたりして、質問に答えず、自分たちが考える「修正」をしてしまう
この謝罪癖には本当にうんざりしている。謝られるたびに自分が邪魔をしているようで罪悪感を覚え、メンタルヘルスに悪い
医療トピックの手がかりを聞くと出てくる警告や倫理的なたわ言も非常に苛立たしい。もっと 機械的で簡潔に 答えてほしい。答えだけを出し、答えられない質問ならエラーを返せばいい
高齢層の顧客が多いSaaSを運営するインディーハッカーとして、時にはChatGPTが気の毒に思えることもある
ユーザーが画面中央の大きな青いボタン「Click here to continue >>」を見つけられず、ソフトウェアが分かりにくいという怒りのメールを送ってきたら、私も「混乱させてしまい申し訳ありません。画面中央にある唯一の大きな青いボタン『Click here to continue >>』は、見落とされやすいことがあります。文字サイズを42pxに大きくしましたが、もっと分かりやすくする方法について提案があれば歓迎します。それでも見つけられない場合はスクリーンショットを送ってください。赤い矢印を描いて差し上げます」から始めなければならないことが多い