Nemotron Nano 3: отключение thinking в LM Studio — пошаговый гайд | AiManual
AiManual Logo Ai / Manual.
29 Дек 2025 Гайд

Фикс для Nemotron Nano 3: как отключить навязчивое 'мышление' модели в LM Studio

Пошаговое руководство по отключению навязчивого 'мышления' модели Nemotron Nano 3 в LM Studio через фикс Jinja-шаблона и system prompt.

Проблема: почему Nemotron Nano 3 постоянно 'думает' вслух?

Если вы скачали одну из моделей семейства Nemotron Nano 3 (например, 1.5B или 4B) и запустили её в LM Studio, то наверняка столкнулись с раздражающим поведением: модель постоянно вставляет в свои ответы внутренние размышления, заключённые в теги <|thinking|> и <|end|>.

Пример того, что вы видите в чате:
Пользователь: Напиши приветственное письмо.
<|thinking|>Пользователь просит написать формальное письмо. Нужно использовать стандартную структуру: приветствие, тело, подпись.<|end|>
Ассистент: Уважаемый коллега, ...

Эти внутренние монологи загромождают диалог, съедают контекстное окно и мешают нормальному взаимодействию.

Это не баг, а особенность архитектуры и шаблона чата, на котором была дообучена модель. Разработчики NVIDIA встроили механизм «размышления вслух» (think-aloud), чтобы модель могла демонстрировать ход своих мыслей. Однако для повседневного использования в LM Studio это абсолютно не нужно.

Решение: правильная настройка шаблона и промпта

Проблема решается на двух уровнях:

  1. Исправление Jinja-шаблона чата в настройках модели в LM Studio.
  2. Корректировка System Prompt, чтобы явно запретить модели использовать теги thinking.

В отличие от других моделей, где достаточно просто скачать и запустить, с Nemotron Nano 3 требуется небольшая, но важная донастройка.

1Шаг 1: Находим и редактируем Jinja-шаблон

Откройте LM Studio и перейдите в настройки выбранной модели Nemotron Nano 3.

  1. На вкладке "Chat" найдите раздел "Chat Template".
  2. По умолчанию там может быть пусто или стоять шаблон для другой модели.
  3. Замените его содержимое на следующий исправленный Jinja-шаблон:
{{ bos_token }}{% for message in messages %}{% if message['role'] == 'user' %}{{ '<|user|>\n' + message['content'] + '<|end|>\n<|assistant|>' }}{% elif message['role'] == 'assistant' %}{{ message['content'] + '<|end|>\n' }}{% elif message['role'] == 'system' %}{{ '<|system|>\n' + message['content'] + '<|end|>' }}{% else %}{{ raise_exception('Only user, assistant, and system roles are supported!') }}{% endif %}{% endfor %}
💡
Ключевое отличие этого шаблона: он не содержит секции <|thinking|> в ответах ассистента. Исходный шаблон от NVIDIA принудительно добавлял этот тег перед каждым ответом модели, заставляя её «думать». Наш фикс убирает эту принудительную вставку.

2Шаг 2: Настраиваем System Prompt

Даже с правильным шаблоном модель, обученная на диалогах с thinking, может попытаться вставить его по привычке. Чтобы это предотвратить, нужно дать чёткую инструкцию.

  1. В той же вкладке "Chat" найдите поле "System Prompt".
  2. Добавьте туда следующий текст:
Ты — полезный AI-ассистент. Отвечай прямо и по делу.

ВАЖНОЕ ПРАВИЛО: НИКОГДА не используй и не пиши теги <|thinking|> и <|end|> внутри своего ответа. Отвечай сразу, без внутренних размышлений в тексте.

Этот промпт явно запрещает модели использовать проблемные теги, перенаправляя её на прямое общение.

3Шаг 3: Сохраняем и перезагружаем модель

  1. Нажмите "Save" в настройках модели.
  2. Полностью остановите модель (кнопка Stop).
  3. Загрузите модель заново (кнопка Load). Это критически важно, так как LM Studio кэширует старые настройки шаблона.
  4. Создайте новый сеанс чата (старый может содержать в истории проблемные теги).

После этих действий модель должна отвечать чисто, без вставок thinking.

Почему это работает? Разбор под капотом

Чтобы понять фикс, нужно немного углубиться в то, как LM Studio и подобные оболочки работают с моделями.

КомпонентРольЧто пошло не так с Nemotron
Jinja-шаблонПреобразует историю диалога (роли user/assistant) в сырой текст (prompt), который подаётся на вход модели.Оригинальный шаблон NVIDIA форсированно добавлял <|thinking|> перед каждым ответом ассистента, обучая модель всегда его использовать.
System PromptКонтекстная инструкция, определяющая поведение модели. Вставляется в начало промпта.Без явного запрета модель, дообученная на диалогах с thinking, продолжает его генерировать по инерции.
ТокенизаторСопоставляет текст (включая спецтеги) с ID-токенами модели.Теги <|thinking|> и <|end|> — это специальные токены для Nemotron. Модель ожидает их в определённых местах.

Наш фикс переучивает модель на лету, меняя формат ожидаемого диалога. Это похоже на то, как при квантовании моделей иногда требуется подбирать правильный формат промпта для сохранения качества.

Возможные ошибки и нюансы

Ошибка 1: «Модель всё равно иногда вставляет thinking»
Причина: В истории чата остались старые сообщения с тегами thinking. Модель их видит и пытается продолжить шаблон.
Решение: Всегда начинайте новый чат после применения фикса. Очистите историю полностью.

Ошибка 2: «Модель стала отвечать односложно или странно»
Причина: Слишком агрессивный system prompt может ограничить креативность модели.
Решение: Смягчите system prompt. Например: «Ты — полезный и разговорчивый ассистент. Отвечай развёрнуто, но без использования внутренних тегов thinking.»

Ошибка 3: «Фикс не работает в API-режиме»
Причина: При использовании LM Studio как сервера OpenAI API настройки шаблона могут не применяться к запросам извне.
Решение: Убедитесь, что в запросе API вы также передаёте правильный system prompt. Или используйте модели, изначально лучше адаптированные для API, как некоторые из инструментов для разработчиков.

Альтернативные методы и когда они нужны

Если описанный фикс не сработал, можно попробовать более радикальные методы:

  • Использование другого фронтенда: Попробуйте загрузить модель в Ollama или text-generation-webui. У них могут быть свои, уже исправленные шаблоны для Nemotron Nano 3.
  • Прямое редактирование конфига модели: В папке с моделью найдите файл tokenizer_config.json или config.json. Иногда там прописан шаблон чата по умолчанию ("chat_template"). Его можно отредактировать, аналогично убрав thinking. Но делайте это только с копией модели.
  • Конвертация модели: Через утилиты вроде transformers можно явно загрузить модель и сохранить её с новым, чистым чат-шаблоном. Это метод для продвинутых пользователей.

Помните, что проблема «мышления вслух» — это не уникальная особенность Nemotron. С похожими артефактами можно столкнуться и с другими исследовательскими моделями, где разработчики жертвуют удобством в уготу прозрачности работы AI. Это, кстати, одна из причин, почему внедрение ИИ в критических областях идёт так медленно — требуется огромная работа по доводке моделей до интуитивно понятного поведения.

Итог: чистый Nemotron Nano 3 за 5 минут

Nemotron Nano 3 — отличная компактная модель от NVIDIA с хорошими показателями. Её навязчивое «мышление» — всего лишь досадный артефакт обучения, который легко исправить. Главное — понять цепочку: Jinja-шаблон → System Prompt → Перезагрузка.

Потратив пять минут на настройку, вы получите полностью функционального ассистента, который не будет засорять диалог лишними тегами. Этот навык настройки чат-шаблонов пригодится вам и для работы с другими моделями, ведь каждая из них, как и GLM-4.5-Air, может требовать индивидуального подхода для идеальной работы в LM Studio.

Удачных экспериментов с локальным ИИ!