第224号技術3分閲覧 48
発行 · 雑学書庫 別館
チャットボットに同じ質問を2回すると、なぜ答えが変わるの?
チャットボットは次の言葉を確率で選んでつないでいくので、温度を0にしても答えが分かれることがあります
対話型AIのチャットボットに同じ質問を2回すると、答えが変わることがよくあります。故障ではなく、次に書く言葉のかけらを確率に従って1つずつ選んでつなぐ仕組みだから起こることです。温度という設定値を0まで下げても、答えは完全には同じになりません。
言葉のかけらを確率で選ぶ
チャットボットは文章を一度に書くわけではありません。ここまでの文章を見て、次に来る言葉のかけらそれぞれが、どれくらい合うかを確率で計算します。このかけらをトークンと呼びます。そして、その確率に従って1つを選び、文章の最後に付け足し、この作業を繰り返します。
最初の選び方で違うかけらが出ると、後に続く文がすべて変わります。同じ地点から投げた紙飛行機が、ひと筋の風で違うカーブを描くのに少し似ています。
温度を下げるとぶれにくくなる
開発者がチャットボットを使うときに調整する値のひとつに、温度(temperature)があります。OpenAIのAPIドキュメントによると、この値は0から2の間で、0.8のように高いと出力がよりランダムになり、0.2のように低いとより集中して一定になると説明されています。
値を下げるほど、確率の高いかけらがよく選ばれます。0だと常にいちばん高い候補を選ぶ方式なので、理屈の上では同じ質問に同じ答えが出るはずです。
温度0でも同じではなかった
ところが、Thinking Machines Labが2025年9月に公開した記事では、オープンソースのモデルQwen3-235Bに「Tell me about Richard Feynman」という質問を温度0で1,000回投げました。異なる答えが80通り出て、いちばん多い答えでも78回だけでした。最初の102トークンまではすべて同じで、103番目で分かれました。992回は「Queens, New York」、8回は「New York City」と続けました。
この記事は原因を、サーバーが同時に処理するリクエスト数によって計算の順序が変わり、そのせいでごく小さな数値の差が生じるためだと説明しました。計算方式を固定すると、1,000回すべてが同じになりました。ですから、チャットボットの答えのうち文面を一字一句そろえたい部分は、別に保存しておくほうが安全です。
チャットボットは確率で書くので同じ質問でも答えが変わり、温度を0にしても同一とは限りません。
まとめ・参考メモ · OpenAI APIドキュメント、Thinking Machines Lab(2025). 温度の説明はOpenAIのAPIドキュメント、温度0の実験はThinking Machines Labの2025年9月の記事です。オープンソースモデル1種類の結果で、サービスによって異なる場合があります。
確認クイズ