You correct ChatGPT, it says "you're right, my mistake" - then in a fresh chat it makes the exact same mistake.
It isn't being stubborn. Nothing you type changes the model you are talking to.
Two phases, and almost every confusion about AI lives in the gap between them.
TRAINING is when the model gets built. It reads an enormous pile of text, guesses what comes next, gets it wrong, and nudges its weights (the billions of internal numbers that basically ARE the model) a hair in the direction that would have made it less wrong. That nudging has a name: backpropagation. Repeat, endlessly. It is the slow, expensive, warehouse-of-GPUs phase, and it finished long before you opened the app.
INFERENCE is everything after. Your prompt runs through those numbers once, front to back, and an answer comes out. The weights do not move. Read-only, every time.
"But it remembers my name." It re-reads it. The whole conversation gets sent back in as input on every turn, so remembering is really just reading the transcript again from scratch. Memory features are the same trick with extra steps: they save a note and paste it back in.
So when your AI gets something wrong, ask which side you are on. Never saw the information (your company's policy from last week)? No amount of clever prompting will conjure it, you have to hand it over. Had it and still fumbled? That one is your prompt.
Nearly everything you can actually fix lives on the inference side.
Quick check before you scroll: Your agent gives a wrong answer because it doesn't know about a company policy update from last week. Is that a training problem or an inference problem - and what's the fix?
Full breakdown + the answer: frankduah.me/learnings/2026-09-15-training-vs-inference-what-happens-when
New here? I post a bite-size AI / ML concept like this every day - follow me for the daily drop, and it compounds fast. Why I do it: https://lnkd.in/gK8knHDH
#DeepLearning #GenAI #AI #LLM #AIAgents #MachineLearning
The answer
It's an inference problem - the model's frozen knowledge just doesn't include that update. Fix it by feeding the update into the context at inference time (e.g., RAG or a system prompt), not by retraining the model.