Ask an AI the same question twice and you often get two different answers. That is unsettling when you asked twice on purpose, because you wanted to check the first reply. Here is the number that explains how deep this goes: researchers at Thinking Machines Lab sent the identical prompt 1,000 times with randomness switched all the way off, and still got back 80 different completions.
Almost every article on this question gives you the same answer, and it is the wrong one for you: temperature and randomness. That explanation is written for developers, and no consumer app has a temperature setting anywhere in it. This piece covers what is actually happening inside the machine, the five things that changed between your two questions, and the part nobody writes about, which is how to decide which of the two answers to trust.
The Key Takeaways
- It is not a fault: models write one word at a time by sampling from a list of likely next words, so two runs can split apart from the very first word.
- The real cause is server load: your request gets grouped into a batch with other people's, the batch size shifts with traffic, and that alone changes the arithmetic.
- Even zero randomness is not enough: 1,000 runs of one prompt at temperature 0 produced 80 unique answers, identical for 102 tokens and then splitting at the 103rd.
- Temperature is a red herring: there is no temperature control in the ChatGPT, Claude or Gemini apps, so the advice you keep reading cannot be followed.
- Four hidden inputs differ every time: memory, custom instructions, whether web search ran, and how much reasoning the model spent on the answer.
- The useful move is comparison: when two answers disagree, that disagreement is information, and asking a second model resolves it faster than asking the same one again.
Why Does ChatGPT Give Different Answers to the Same Question?
A language model does not look up an answer. It writes one token at a time, and at each step it produces a ranked list of likely next tokens with a probability attached to each one. Then it picks one. If it always picked the single highest-probability token, the output would read like a stuck record, so the system samples instead, choosing from the top of that list rather than the very top of it.
That is the textbook explanation, and it is true. It is also only the first half. Sampling explains why a model that is asked to be creative writes you a different poem each time. It does not explain why a model asked a factual question with all the randomness turned off still answers differently, which is the case that actually bothers people. For that you need the part almost nobody covers.
The Part That Is Not Randomness
In September 2025, Horace He and Thinking Machines Lab published a technical breakdown of why AI answers are not reproducible, and the finding is counter-intuitive. The usual story blames floating-point maths and parallel processing on the GPU. The researchers show that story is incomplete: run the same calculation on the same data on the same hardware and you get bit-for-bit identical results every time.
The variation leaks in somewhere else. Their conclusion, in their own words, is that "the primary reason nearly all LLM inference endpoints are nondeterministic is that the load (and thus batch-size) nondeterministically varies". In plain terms, your question is not processed alone.
Your Question Shares a Server With Strangers
When you press send, your request joins a batch of other people's requests so the hardware can process them together. That batch might hold eight requests or eight hundred, depending on how busy the service is at that exact second. Three of the core operations inside a model are not what engineers call batch invariant, which means the size of the group changes the order the sums are added up in, and floating-point arithmetic is sensitive to that order.
The difference is microscopic, far below anything you would notice in a single number. It only matters because a model runs that calculation for every token, then feeds the result into the next token. A rounding difference in the fourth decimal place eventually flips one word choice, and from that word onward the two answers are writing different sentences.
What 1,000 Identical Prompts Actually Produced
The team ran the test properly. They sent the prompt "Tell me about Richard Feynman" one thousand times at temperature 0, which means sampling was switched off entirely and the model should have taken the single most likely token at every step. They used an open model, Qwen3-235B, so the whole run could be inspected rather than guessed at.
One thousand runs produced 80 unique completions. The most common one appeared 78 times. Every single run was word-for-word identical for the first 102 tokens, and then split at the 103rd: 992 of them wrote "Queens, New York" and 8 wrote "New York City". Nothing about the prompt changed. Nothing about the settings changed. The traffic on the server changed.
Temperature Is the Wrong Answer, and You Cannot Set It Anyway
Temperature is the dial that decides how adventurous the sampling is. Turn it down and the model sticks to the most likely word. Turn it up and it wanders. Every ranking article on this topic tells you to lower it.
Go and look for that setting in the ChatGPT app, the Claude app or the Gemini app. It is not there. Temperature is an API parameter meant for developers writing code against a model, and it has never appeared in the consumer interface of any of the three. So the single most repeated piece of advice about this problem is advice you have no way to act on.
The deeper issue is that turning it to zero would not fix things anyway. That is exactly what the 1,000-run test did, and it still produced 80 different answers. Academic work agrees. An empirical study of non-determinism in ChatGPT code generation put 829 problems through the API and found that on one benchmark 75.76% of tasks produced zero matching outputs across repeated requests, and on another 47.56%. Those runs used an older model, GPT-3.5 Turbo, so treat the percentages as evidence that the effect is real and measurable rather than as today's figures. The authors state plainly that setting temperature to zero reduces the variation but does not guarantee determinism.
Does ChatGPT Give Different Answers to Everyone?
Yes, and the gap between two people is much wider than the gap between your own two attempts. Sampling and batch size are the physics of the thing. Sitting on top of them are four inputs that are different for every person and often different between your Tuesday and your Wednesday.
Memory and Custom Instructions
ChatGPT's memory, when it is switched on, automatically remembers useful context from your chats, files and connected apps to personalize your experience, in OpenAI's own wording. You control it under Settings, then Personalization, then Memory, and you can enable or disable it at any time. Your custom instructions ride along with every message too. Neither is visible in the conversation, and both change the reply. If you want to see what shaped a particular answer, tap the book icon underneath it and ChatGPT lists the sources it drew on, including past chats and memories. Our guide to how ChatGPT memory works and what it stores covers what gets kept and how to clear it.
How Much Reasoning Actually Ran
This one surprises people. In OpenAI's own words, on eligible paid plans ChatGPT "can automatically use more reasoning for complex requests while Instant remains selected". The switch for it sits under Settings, then General, called Higher intelligence, and most people have never opened it. So the picker at the top of your screen can say the same thing on both attempts while one question quietly gets extended reasoning and the other does not. You can also choose a reasoning level yourself, and on current plans those run Instant, Medium, High, Extra High and Pro. The difference between the quick path and the thinking path is large, which is why choosing between the instant and thinking modes matters more than most people realise, and why how reasoning models actually work is worth understanding before you compare two replies.
Whether It Searched the Web
If the model ran a web search for one of your two questions and answered from its own training for the other, you are not comparing two answers to one question. You are comparing two different processes. Live results move hour to hour, so a searched answer is a snapshot with a timestamp on it, and the model rarely tells you which mode it used unless you ask.
Five Reasons ChatGPT Gives Different Answers
| Cause | What is happening | Can you control it? | What to do |
|---|---|---|---|
| Sampling | The model picks from a ranked list of likely next words instead of always taking the top one | No, not in a consumer app | Accept it, and judge the answer on substance rather than wording |
| Server load | Your request is batched with others, and the batch size changes the arithmetic slightly | No | Nothing. This is invisible and outside your account |
| Memory and instructions | Saved memories and custom instructions are injected into every prompt | Yes | Check the sources under a reply, and clear memories that skew answers |
| How much reasoning ran | Automatic reasoning escalates one turn to extended reasoning while the picker still reads Instant | Yes | Turn Higher intelligence off in Settings, or pick a reasoning level yourself |
| Web search | One answer came from live results, the other from training data | Partly | Ask explicitly to search, or explicitly not to, so both runs match |
If the Answers Disagree, Which One Is Right?
This is the question underneath the question, and no ranking article answers it. Here is a rule that holds up.
First, separate wording from substance. If both replies say the same thing in different sentences, nothing has gone wrong and there is nothing to resolve. Second, if the substance differs on a checkable fact, treat both as unverified. A model that produces two answers has told you it is not confident, and picking the one you prefer is how people end up quoting the wrong number. Third, if the substance differs on a judgement call, the disagreement is the useful output. Two defensible answers means the question has more than one reasonable reply, and the model has just shown you the range.
What does not work is asking the same model a third time and going with the majority. The variation is not an opinion poll, and three runs of one model share the same training, the same memory and the same blind spots. This is a different failure mode from a model stating something false with total confidence, which our rundown of the most common myths about AI pulls apart in more detail.
How to Get More Consistent Answers
You cannot make a model repeat itself exactly. You can remove most of the variation that is actually under your control, and that is usually enough.
Choose a reasoning level yourself rather than letting automatic reasoning decide, so the same engine answers both times. Reuse the exact wording of your prompt instead of retyping it from memory, because a reworded question is a different question. Ask in a fresh chat when you are testing, since everything earlier in a thread is part of the input. Show one worked example of the output you want, which pins the shape of the answer far harder than a paragraph of instructions. Be explicit about web search, in both runs. Finally, check your custom instructions and memories, because they are shaping every reply and you stopped seeing them months ago. Our guide to writing prompts that get reliable results goes deeper on the wording side.
What Developers Can Do That You Cannot
Through the API there are two extra levers, and it is worth knowing how weak they are. OpenAI's documentation on reproducible outputs states that chat completions are non-deterministic by default, and that passing a fixed seed alongside identical parameters yields only "mostly" deterministic output. A second field, the system fingerprint, tells developers when the backend configuration has changed underneath them. Even with both in place, OpenAI says determinism is not guaranteed. If the people who built it cannot promise repeatability, the app on your Mac was never going to.
The Verdict
A model that answers differently twice is working exactly as designed, and the design goes deeper than the randomness setting everyone blames. Your question shares a machine with thousands of others, the size of that crowd shifts the maths, and no setting on your account touches it.
So stop trying to make one model repeat itself and start using the variation. Put the same question to two or three models and read the overlap: where they agree you have something solid, and where they split you have found the part worth checking yourself. That is the whole reason we built Fello AI around one hotkey and every major model behind it, and it is why our comparison of the best AI models available today ranks on measured scores rather than vibes. If you want to judge those scores properly, what the benchmark numbers actually measure is the place to start.
Frequently Asked Questions
Why does ChatGPT give different answers to the same question?
Two reasons stack up. The model writes one word at a time by sampling from a list of likely next words, so two runs can diverge from the start. On top of that, your request is batched with other people's on the server, and the batch size changes with traffic, which slightly changes the arithmetic. Neither is a fault.
Does ChatGPT give everyone the same answer?
No. Memory, custom instructions, the earlier turns in your thread, whether a web search ran, and how much reasoning the model spent are all invisible inputs that differ between people. Two users asking word-for-word the same question should expect different replies.
Is ChatGPT deterministic if you set temperature to zero?
No. Thinking Machines Lab ran one prompt 1,000 times at temperature 0 and got 80 unique completions, all identical for 102 tokens before splitting at the 103rd. OpenAI's own documentation says chat completions are non-deterministic by default and that a fixed seed produces only mostly deterministic output.
Can I change the temperature in the ChatGPT app?
No. Temperature is an API parameter for developers and does not appear in the ChatGPT, Claude or Gemini consumer apps. Advice telling you to lower it cannot be followed from the app, which is why most articles on this topic are answering a developer's question rather than yours.
If the AI gives two different answers, which one should I trust?
Neither, until you check. If only the wording changed, nothing is wrong. If a checkable fact changed, treat both as unverified rather than picking your favourite. If a judgement changed, the disagreement is telling you the question has more than one reasonable answer. Asking a second model resolves it faster than asking the first one again.