# thinking stream starts immediately — it is just not addressed to the user

> Первый токен в стриме — reasoning-блок модели, а не ответ: time-to-first-token выглядит мгновенным, а ответ начинается поздно или никогда. Засекайте время до первого токена ответа на клиенте, считайте пустые ответы отказами, выключайте reasoning там, где ворклоад позволяет.

- Platform: Любой локальный стек
- Runtime: llama.cpp server (Vulkan)
- Published: 2026-09-02
- Sources: https://agmind.ai/ru/reports/ttft-thinking-model-strix-halo/, https://agmind.ai/ru/reports/should-you-disable-thinking-local-llm/
- Canonical: https://agmind.ai/ru/symptoms/thinking-model-first-token-instant-answer-late/

## Что видно

Думающая модель за стриминговым chat-эндпоинтом. Первый токен приходит сразу, только стримится не ответ, а reasoning-блок. Ответ начинается сильно позже; при маленьком бюджете токенов он часто не начинается вовсе, и запрос завершается успешным статусом с пустым полем ответа. Два отчёта укладывают симптом в три фразы:

```text
thinking stream starts immediately — it is just not addressed to the user
The user watches tokens stream for that entire time — they are the model thinking out loud, not the reply.
the caller gets HTTP 200 and an empty string
```

## Где мы это поймали

- Beelink GTR9 Pro (Ryzen AI Max+ 395, Radeon 8060S / gfx1151, 128 GB unified); llama.cpp `server-vulkan-b9049`, запинен digest'ом образа; Qwen3.6-35B-A3B Q4_K_M от `ggml-org`, сверен по хешу.
- Ворклоад `interactive-assistant-v1` @ 2026-08-02, замороженные EN- и RU-промпты; конкурентность 1, контекст 8192, температура 0, кэш промптов выключен.
- Три режима: reasoning включён при бюджете 1024 токена, включён при 4096, выключен через chat template при 1024. Замер клиентский; серверный спрятал бы эффект.
- Отчёт о цене reasoning опубликован 2026-08-20: второй интерактивный корпус плюс strict-JSON-ворклоад, те же железо, рантайм и артефакт; точная сборка рантайма, digest модели и число юнитов — на страницах клеймов, на которые он ссылается.

## Причина

Модель пишет reasoning-блок раньше ответа, и стрим начинается с него, так что первый токен, чем бы он ни был, приходит в один и тот же момент, ответит коробка сразу или не ответит вовсе. Первый токен ответа появляется только после закрытия блока. Если бюджета меньше, чем нужно проходу размышлений, размышления съедают его целиком ещё до начала ответа, эндпоинт возвращает успех с пустым ответом, а проверка по коду статуса засчитывает это как успех. Серверный замер прячет всё это.

## Лечение

Засекайте на клиенте время до первого токена *ответа*. Время до первого токена, каким бы он ни был, для думающей модели — непригодная цифра.

Считайте пустые ответы отказами: и в доле ошибок, и в знаменателе любой статистики по задержкам. От бюджета токенов зависит корректность ответа; если reasoning остаётся включённым, закладывайте в бюджет проход размышлений.

Выключайте reasoning там, где ворклоад позволяет. На нашей коробке его отключили через chat template; страницы-источники называют настройку, а не флаг. Проверяйте по работающему серверу, а не по документации: спросите у него, какой шаблон и какие настройки он фактически применил, затем отправьте один запрос и посмотрите, появляется ли reasoning-блок. С выключенным reasoning ответ начинался вместе со стримом и по-прежнему проходил гейты языка и повторов; гейт бюджета слов он проваливал в каждом режиме, с reasoning и без, и отчёт относит это к многословности модели, а не к переключателю. На повседневном чате и strict-JSON-автоматизации reasoning не принёс ничего, что смогли бы обнаружить наши гейты; по-настоящему сложные многошаговые задачи в наши корпуса не входят — мы их не проверяли.

## Открыто ли апстрим?

Мы не отслеживаем. Страницы-источники не называют upstream-issue; дефект в метрике, а не в рантайме.

## Доказательства

- [Time-to-first-token не описывает думающую модель](https://agmind.ai/ru/reports/ttft-thinking-model-strix-halo/) — клиентский замер, поштучные записи.
- [Отключать ли thinking?](https://agmind.ai/ru/reports/should-you-disable-thinking-local-llm/) — размен вкл/выкл и проверка на живом сервере.
- [Thinking против no-thinking, бок о бок](https://agmind.ai/ru/compare/thinking-vs-no-thinking-qwen36/) — на него ссылается второй отчёт.
- Бандлы прогонов: [botAGI/agmind-lab](https://github.com/botAGI/agmind-lab); значения пересчитаны запросами в [реестре клеймов](https://agmind.ai/ru/claims/).

---

Machine-readable claim registry: https://agmind.ai/claims.json · llms.txt: https://agmind.ai/llms.txt
