ChatGPTの返事って、なんで日によって冷たく感じるの?

ChatGPTの返事って、なんで日によって冷たく感じるの?
目次

同じ頼み方なのに、返事の温度だけが違う

同じようにChatGPTへ話しかけているのに、ある日はやけに冷たく、別の日はやけに親切に返ってくることないですか?

昨日は「了解です。以下です。」くらいで終わったのに、今日は理由まで添えて妙に寄り添ってくる。 頼み方を大きく変えたつもりはないのに、返事の温度だけが少し違う。 ここでいう「温度」は、口調の印象を指す比喩です。

これ、AIに気分があるという話ではありません。 でも、ただの気まぐれとして流すには、けっこう面白い揺れです。

同じ質問なのに、なぜ口調まで揺れるのか

AIは入力に合いそうな言葉を順に選んで文章を作っているわけですが、ここで一つ不思議があります。

同じ質問なら、同じ答えに近づきそうです。 内容が多少変わるのはまだわかります。 でも「冷たい」「親切」「事務的」「やわらかい」まで変わるのは、どこで決まっているのでしょうか。

ここでは、返事を一つの正解としてではなく、あり得る返事の候補が並んだ分布として捉えてみます。 もちろん実際の揺れは、プロンプトだけでなく、会話履歴、モデルやシステムの更新、プロバイダ側の内部設定にも影響されます。

冷たさと親切さは、候補の寄りとして読める

たとえば「会議の議事録を要約して」と頼んだとします。 候補は一つではありません。 短く箇条書きにする返事もあれば、背景を補って丁寧に説明する返事もあります。 少し断定的な返事も、慎重な返事も、文脈によってはどれも「あり得る」候補です。

このとき、AIは候補の中から一つを選びます。 一番それらしい候補が圧倒的に強ければ、返事は安定します。 逆に、同じくらいあり得る候補がいくつも並ぶと、選ばれる言い回しが揺れます。 ここでいう候補は、文章全体を丸ごと先に並べているという意味ではなく、次に出す語や表現の選ばれやすさを、読みやすい形にまとめたものです。

「今日は冷たい」「今日は親切」と感じる差は、候補の中でどのトーンが選ばれやすくなっているかの差として解釈できます。 文末の一語、前の会話、依頼の粒度に加えて、モデル更新や安全設定の変更のようなシステム側の変化も、その分布を少しだけ動かす可能性があります。 だから「昨日と今日で返答のトーンが違う」と感じるとき、こちらの聞き方だけでなく、バックエンド側の更新が理由に混ざっていることもあります。

無難な返事にも同じ仕組みが顔を出す

この見方をすると、口調だけでなく、AIの返事が「無難すぎる」と感じる現象も近いものとして捉えられます。 強い候補が安全な言い回しに偏ると、毎回きれいだけど踏み込まない返事になりやすいからです。

返事が無難に寄る話は、こちらの記事でも情報量の見方で扱っています。

ただし、無難さの記事が見ていたのは分布の「広がり」です。 今回見るのは、同じ広がりでも確率が事務的側に寄るか、親切側に寄るか。 広がりと寄りは別の量なので、一方だけでは口調を決められません。

数式に直してみる

返事のトーンを比べるため、候補を $r_1, r_2, r_3$ と置きます。 $r_1$ は事務的、$r_2$ は丁寧、$r_3$ はかなり親切な返事です。 実際のLLMは文章全体を先に選ぶのではなく、各時点の分布 $p(x_t \mid x_{<t}, \text{prompt})$ からトークンを順に生成します。 ここでは、その積み重ねを読者に見える三つの口調へ要約します。

候補 $r_i$ が選ばれる確率を $p_i$ とすると、分布の広がりはエントロピーで見られます。

$$ H(p) = -\sum_i p_i \log p_i $$

ただし、エントロピーだけでは返事が冷たいか親切かは決まりません。 $p=(0.6,0.3,0.1)$ と $q=(0.1,0.3,0.6)$ は、確率の並びを反転しただけなので $H(p)=H(q)$ です。 それでも前者は $r_1$、後者は $r_3$ に寄り、受ける印象は反対になります。

ここまでの「冷たい」「親切」は、口調の印象です。 一方、生成時の温度 $T$ は、候補のスコア $z_i$ から確率を作るときの専門用語で、次の式に入ります。 このスコアは、各候補がその文脈にどれだけ合っているかを表す点数で、事務的な返事と親切な返事のどちらが場に合うかを表します。

$$ p_i(T) = \frac{\exp(z_i/T)}{\sum_j \exp(z_j/T)} $$

$T>0$ は分布の鋭さを調整します。 $T$ が小さいと高スコアの候補に集中し、$T$ が大きいと候補間の差がならされます。 しかし、どの候補が事務的か親切かを決めるのは $T$ ではなく、元のスコアの並びです。 したがって「冷たい返事だから $T$ が低い」とは限りません。 ChatGPTの実際の設定値は公開されておらず、APIのtemperatureと画面上の挙動を直接対応させることもできません。

大事なのは、広がり(エントロピー)と寄り(確率がどちらのトーンに寄っているか)が別の量だということです。 同じ $H$ でも、$r_1$ 側に寄れば冷たく、$r_3$ 側に寄れば親切に見えます。 これは実装そのものではなく説明用の要約ですが、こう分けると「どれくらい揺れるか」と「どちらへ寄るか」を別々に扱えます。

二つの分布は広がり(エントロピー)が同じでも、事務的側と親切側への寄りが逆になる。
二つの分布は広がり(エントロピー)が同じでも、事務的側と親切側への寄りが逆になる。

気分ではなく、返事の分布をどう寄せるか

ChatGPTの返事が冷たく感じたとき、それを機嫌の問題として読むと、こちらは待つしかありません。

でも、候補の分布として読むと、できることが変わります。 「少しくだけて」「結論は先に」「理由は一文だけ」「相手に送る文面として」といった指定は、返事の候補を別の場所へ寄せる操作になります。

同じだけ揺れる二つの分布でも、一方は事務的に、もう一方は親切に寄せられます。 次の返事を変えたのは、AIの「気分」だったのか。 それとも、こちらの一言が候補の寄りを静かに動かしたのか。

あわせて読みたい関連記事。

よかったらシェアしてね!
  • URLをコピーしました!
目次