Standalone · Observability

Reasoning models broke time-to-first-token

TTFT measures when the model starts producing output. On a reasoning model the first few thousand tokens are thinking the user never sees, so the metric now reports a moment nobody experiences.

Time to first token is the metric I have argued for hardest. It is the one that correlates with whether an interface feels alive, it is cheap to measure, and it is comparable across engines. Reasoning models have quietly made it dishonest, and I do not think the tooling has caught up.

The problem in one sentence

A reasoning model emits its chain of thought before its answer. Those are real tokens: generated one at a time, occupying the decode loop, filling the KV cache, and billed. They are also, in most product surfaces, hidden. So TTFT fires on a token the user will never read, and the number you report describes a moment that does not exist from the outside.

The metric that survives this is time to first visible token. Same clock start, but it stops when something the user is actually shown appears. On a request that thinks for a few thousand tokens the two can differ by an order of magnitude, and only one of them predicts whether the interface feels broken.

What else this breaks

Once thinking tokens are in the picture, several things I had treated as stable stop being stable.

What I would measure instead

I would keep TTFT, because it still tells you whether prefill and the scheduler are healthy, and it is the right metric for a non-reasoning deployment. But I would report it alongside three others:

The fixes people reach for are the familiar ones pointed at a new target: speculative decoding with a draft distilled on reasoning traces, and cache compression that evicts thinking tokens more aggressively than answer tokens on the grounds that they matter less once the conclusion is reached. Both are reasonable. Neither removes the measurement problem, which is that the number on the dashboard stopped describing the thing you care about.

A metric that no longer measures the user's experience is worse than no metric, because you will keep trusting it.

Sources