Синдром «думающего» чатбота: почему ваша LLM тратит половину токенов впустую
Вы запускаете локальную модель. Спрашиваете что-то простое — «сколько будет 2+2?». А она выдает простыню: «Для решения этого арифметического выражения я применю базовые правила математики...». И так каждое взаимодействие. Chain-of-thought превратился в chain-of-пустословие. Результат: вместо 20 токенов — 200. А если модель разворачивает reasoning в несколько черновиков (как DeepSeek-R1), расход токенов улетает в космос.
Знакомая боль? Особенно для тех, кто держит модели локально, где каждый токен — это время и память.
Ризома против иерархии: почему ваша LLM может выдать ответ мгновенно, без «размышлений»
В статье «Забудьте про «правильные промпты»» мы разбирали, что у LLM ризоматическое мышление — одновременная активация тысячи паттернов. Ей не нужно идти шаг за шагом. Она сразу «видит» ответ, если дать ей правильную инструкцию.
Но современные промпты (с chain-of-thought) приучают модель писать логические цепочки. Это приводит к тому, что она сначала тратит токены на внутренние черновики — даже если ответ очевиден. Мы платим за лишние «размышления».
Вывод: LLM не обязана думать вслух. Отключите эту опцию — и сэкономите до 70% токенов.
Техника «Single-Pass Reasoning»: промпт без черновиков
Вот рецепт. Мы запрещаем модели писать черновики и заставляем её выдавать финальный ответ сразу, с минимальным, но достаточным обоснованием. Как этого добиться? Через явную инструкцию и примеры.
1 Дайте команду «не размышляй, решай»
Прямо укажите: «Не пиши черновики, не делай долгих рассуждений. Сразу дай финальный ответ и краткое обоснование в 1-2 предложения.»
2 Ограничьте длину шага
Укажите максимальную длину рассуждения, например: «Каждый шаг рассуждения не более 10 слов». Это срезает пустые фразы.
3 Используйте few-shot с ультракороткими ответами
Покажите 2-3 примера, где ответ дан сразу, без лишних слов. Например:
Вопрос: Какая столица Франции?
Ответ: Париж.
Вопрос: 250ГБ это сколько в МБ?
Ответ: 250 * 1024 = 256000 МБ.
Итоговый промпт (готов к использованию)
Скопируйте это в свой системный промпт или префикс к вопросу:
Ты — максимально эффективная модель. Ты не пишешь черновики, не делаешь длинных размышлений. Твой ответ должен быть коротким, по существу. Сначала выдай финальный ответ, затем краткое обоснование (1-2 предложения, каждое не длиннее 15 слов). Если можешь дать ответ без обоснования — дай. Не используй вводные фразы. Пример:
Вопрос: 2+2
Ответ: 4. Потому что сложение двух единиц.
Теперь ответь на следующий вопрос:
Важно: Этот промпт работает лучше с моделями, которые умеют следовать инструкциям (например, Llama 4, DeepSeek-R1-lite, Qwen 3). На слабых моделях может ухудшиться качество — тестируйте. Если ответ стал бессмысленным, добавьте в промпт «обоснование обязательно, но коротко».
Цифры: сколько мы экономим?
Я протестировал на локальной Qwen 2.5 7B (актуальная версия на июнь 2026). Вопрос: «Почему небо голубое?»
| Режим | Токены | Качество |
|---|---|---|
| Обычный CoT | 387 | Хорошее |
| Промпт без черновиков | 98 | Хорошее |
Экономия почти 75%! При этом ответ остался содержательным: «Небо голубое из-за рэлеевского рассеяния: короткие волны рассеиваются сильнее длинных.» (16 слов). Зачем остальные 289 токенов?
Подводные камни (или как НЕ надо делать)
Главная ошибка — запрещать всякое рассуждение вообще. Если мы скажем «просто дай ответ», модель может выдать непроверенную чушь. Поэтому мы оставляем короткое обоснование. Другая ошибка — использовать этот промпт для сложных многошаговых задач (код, математика). Там короткие шаги приводят к ошибкам. Для сложных задач лучше оставить обычный CoT, но ограничить длину каждого шага.
Также не советую снижать температуру до 0 — ответы станут сухими. Оставьте 0.2-0.3.
Почему это работает? Взгляд на «мышление» LLM
Вернёмся к ризоме. Модель не рассуждает — она ищет наиболее вероятное продолжение. Когда вы просите написать черновик, она генерирует его как часть ответа. Это потребляет токены. Если же вы даёте инструкцию «выдай сразу», модель просто пропускает фазу «черновика» и генерирует финальный паттерн. Качество не страдает, потому что нужная информация уже активирована в скрытом пространстве.
Это подтверждают и новые исследования — в 2025-2026 вышли работы, показывающие, что «мысленная репетиция» (covert reasoning) не улучшает ответы для простых задач. Только усложняет. Поэтому мы, как пользователи KEF или OpenAI o3, вольны выбирать: тратить токены на театр или нет.
А что с инструментальными вызовами?
Если модель использует tools (как в обзоре лучших LLM с Tool Calling), черновики могут быть частью логики вызова функции. Тут техника требует доработки: разрешите рассуждение только перед вызовом функции, но ограничьте его 1-2 предложениями. Например: «Прежде чем вызвать функцию, напиши краткую причину вызова (не более 10 слов). После вызова — выдай ответ без лишнего текста.»
Почему вы должны попробовать это прямо сейчас
Не верьте, что LLM нужно «думать» как человек. Это раздражающий баг индустрии, а не фича. Отключайте черновики — экономьте токены, ускоряйте вывод, особенно на локальных моделях (Ollama и другие). Если у вас нет лимита по токенам — всё равно попробуйте: время генерации сократится в 2-3 раза. А на слабом железе это спасёт от таймаутов.
Один совет напоследок: добавьте в промпт фразу «Ты не размышляешь — ты отвечаешь». Это переключает режим моделей, обученных на диалоговых данных. Протестируйте — и вы больше не вернётесь к многословным черновикам.