What a language model is and is not: tokens, context, sampling, tools, cost, and why it sounds sure when it is wrong.
A language model is a program that takes some text and outputs what is likely to come next. It does that one step over and over until it stops. The model itself has no part that looks facts up, remembers yesterday or checks its own work. Anything like that is built around it. Most surprises with these tools come from forgetting that.
That one step accounts for the things that catch people out. Output sounds sure when it is wrong, because the text the model was trained on sounds sure. Ask why it did something and you get a new piece of writing, not a record of what happened. The same request gives different answers, because a dice roll is part of the design. And the model can't run anything: a tool call is text asking another program to act.
None of this makes a model useless, and none of it is cause for alarm. It tells you which output to trust and how to check the rest. Several benches here run a real language model in your browser, about the smallest that deserves the name. Commercial models are vastly better, but they are built around the same step, and the same questions apply. Prices and model names change quickly, so each one here carries the date we read it.