同じ入力を渡すと常に同じ結果を返すのが決定論的、返るとは限らないのが非決定論的です。従来のプログラムは決定論的で、LLM は確率で次の語を選ぶため非決定論的になります。
同じ入力を渡すと常に同じ結果を返すのが決定論的、返るとは限らないのが非決定論的です。従来のプログラムは決定論的で、LLM は確率で次の語を選ぶため非決定論的になります。
ChatGPT や Claude に同じ質問を何度も投げて、答えの言い回しや結論が毎回少しずつ違うと気づいた瞬間に出会います。テストの自動化で「さっきは通ったのに今回は失敗する」という揺れとして表面化しやすい性質です。
決定論的か非決定論的かを見分ける物差しです。
結果が揺れる理由が分かり、混乱が減ります。
設定を固定しても再現は保証されません。
テストや分類など、揺れを避けたい場面で効きます。
揺れは欠陥でなく仕組みだと知れば十分です。
Temperature、Structured Outputs、サンプリング
Temperature を 0 に固定するなど設定を揃えても、LLM の仕組み上、完全な再現性までは保証されません。