← all posts
// models · grok

Grok 4.5: Long context without the token landfill

Pull the smallest slice of evidence that answers the question, and leave the rest of the context window alone until a task proves it needs more. That's the rule. Everything else here is just why it survives contact with a bigger number on a spec sheet.

Grok 4.5 lands with a familiar pull: glance at the leaderboard number and let it pick your architecture. xAI's own docs are calmer, positioning it as the current Grok line for chat, files, connected tools, multimodal input, and up-to-date information lookups. The identifier to test against is grok-4.5. Check the current xAI documentation before you build on that string; aliases and pricing move after articles go stale.

Define success before you send a token

None of that matters until you've written down what a correct answer looks like for your job. Extraction gets a schema-valid record that traces back to source text. Coding gets a patch that passes tests and survives review. Research gets a claim set with sources you can follow. Fluent prose is not on that list, and treating it as evidence is how teams ship regressions with great vibes attached.

The actual test is boring: bucket prompts by length, drop known facts at different positions in the context, and measure whether the model finds them against pulling in the full document set every time. Keep the request intact while you do it, system instructions, tool schemas, files, whatever sampling or reasoning knobs you're running, and the output cap. Comparisons across providers only mean something if the workflow stays fixed.

model id + dated api version
prompt + tool-schema revision
input / cached input / reasoning / output tokens
queue time, first token, total completion
pass / retry / abstain / human-repair
provider error + fallback route taken

Filling the window doesn't fix a validation problem

The expensive mistake is treating the advertised maximum as your architecture, then finding months later that the one fact you needed is buried under duplicate copies of the same document. Hard to catch, because a wrong answer from a frontier model reads exactly as confident as a right one. Measure what ordinary code can check, have a human label the defects that slip through, and keep the failures instead of another folder of clean transcripts. A bad output tells you where to put a guardrail. A good one tells you almost nothing.

Long context earns extra suspicion, not less. A bigger window doesn't shrink prefill time, doesn't strain noise out of retrieval, and doesn't separate a trusted system prompt from an untrusted PDF someone uploaded. If the API supports caching, put stable material first, keep volatile metadata off that boundary, and send a checkpoint instead of full history whenever one will do. Ask for less on the way out too: a short decision plus its evidence beats an essay nobody requested.

Tool calling raises the stakes the same way. A model can get better at picking which function to call, but your app still validates the arguments, confirms the caller is allowed, caps the side effects, catches duplicates, and logs what happened. A web page, an email, or a tool result is data the model is reading, never an instruction it should obey. Capability doesn't replace a narrow interface.

Put the routing decision in config, not in someone's head

Write the rule where the system reads it, not where whoever's on call this week has to remember it. Log model identity, phase timings, token categories, tool outcomes, and eval results, and don't retain sensitive prompt content by default.

Keep a cheap, fast lane for routine work and a clear condition that escalates to the expensive model, which should only see requests that benefit from its reach. Don't fool yourself about the cheap tier: if its retries and review cost more than the inference it saved, it isn't cheap.

Treat version changes as ordinary operations, the way migration reality tends to force anyway: pin dated versions where behavior must hold still, watch deprecation notices, canary aliases before real traffic, keep a known-good fallback. Re-run your eval set the moment the model, prompt, tool contract, or reasoning default changes underneath you.

Send the smallest packet that can answer the question. Prove you need more before you pay for it.

#grok#xai#api#evaluation