Почему DeepChat требует промты на английском и как с этим работать

Почему DeepChat «не понимает» русский и что с этим делать

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

Токенизация System Prompt Workflow

Сцена, знакомая каждому

Вы пишете подробный промт на русском: «Проанализируй код, найди уязвимости, предложи рефакторинг». В ответ — общий совет про «чистый код» или, что хуже, ответ на английском, игнорируя контекст.

Пробуете переформулировать — результат плавает. Меняете модель — то же самое. Кажется, инструмент сломан.

Спойлер: он не сломан. Он работает по правилам, которые заложены до вашего диалога.

Суть за 30 секунд
DeepChat (как и большинство LLM) «думает» на английском
  • Кириллица расходует в 2–4 раза больше токенов.
  • Обучающая выборка 90%+ — английский текст.
  • Системные промты и инструкции RLHF — на английском.
Что вы получите из материала
  1. Понимание, почему качество падает на русском.
  2. Готовый алгоритм перевода промтов без потери смысла.
  3. Шаблон системного промта для принудительного русского ответа.
  4. Критерии: когда английский обязателен, а когда можно по-русски.

Механика: от символа к токену

Токенизация: невидимый налог

Модель не видит букв. Она видит числа — ID токенов. Слово «анализ» = 1 токен. «Analysis» = 1 токен. Но «проанализируй» = 2–3 токена (про + анализ + ируй). На русском словарь токенизатора (BPE) менее оптимален: корни, приставки, окончания режутся хаотично.

Контекстное окно утекает

Окно 32k или 128k токенов — общий лимит на промт + историю + ответ. Русский текст «съедает» бюджет в 2–3 раза быстрее. Вы теряете место под инструкции, примеры (few-shot) и длинный вывод. На длинных диалогах это критично.

Распределение знаний в весах

90%+ качественных текстов в обучении (код, статьи, книги, документация, StackOverflow) — на английском. Ассоциации «функция → аргумент → возвращаемое значение» сформированы в английском латентном пространстве. Русский — «переводной слой» сверху.

2.3×
Токенов на одно слово
в среднем на русском vs английском
40%
Потеря качества рассуждения
(CoT) на не-английских промтах по эvalам
100%
System Prompt и RLHF
всегда на английском внутри модели

Цифры — условные агрегаты из открытых бенчмарков токенизаторов (GPT-4o, Llama-3, DeepSeek-V3) и исследований Cross-lingual Transfer. Порядок величин стабилен для всех современных архитектур.

Две стратегии работы: выбирайте свою

Стратегия А: «Пиши на английском, думай на русском»
Максимальное качество, полный контроль
  • Формулируете задачу в голове на русском.
  • Переводите структурированно на английский (деепричастия → глаголы, безличные → Imperative).
  • Используете шаблоны: Role, Task, Context, Constraints, Output Format.
  • В конце добавляете: «Respond in Russian».
Плюсы: лучшее следование инструкциям, меньше галлюцинаций, экономия токенов.
Минусы: нужен навык технического английского, время на перевод.
Стратегия Б: «Промт на русском + системный патч»
Скорость, комфорт, приемлемое качество
  • Ставите в System Prompt жёсткое правило ответа на русском.
  • Пишете пользовательский промт на русском, но структурированно (пункты, Маркдаун).
  • Дублируете ключевые термины в скобках на английском: «рефакторинг (refactoring)».
  • Ожидаете 10–15% потерь в точности следования сложным ограничениям.
Плюсы: мгновенный старт, естественный язык мышления.
Минусы: выше риск «провалиться» в английский ответ, хуже код и логика.

Шаблон системного промта: заставляем отвечать по-русски

system_prompt.txt
You are an expert AI assistant. 
CRITICAL RULE: 
ALWAYS respond in Russian language, 
regardless of the user's prompt language. 

THINKING PROCESS: 
Reason internally in English for maximum 
accuracy, but final output must be Russian. 

Preserve code, formulas, and proper names 
in original language. Use Markdown formatting.

Вставьте это в настройки System Prompt / Custom Instructions DeepChat. Тег THINKING PROCESS даёт модели разрешение «рассуждать» на английском внутри, не показывая это пользователю.

Практикум: перевод промта без потерь

До: «По-русски, как привычно»

«Нужно сделать так, чтобы код стал лучше, убрать дублирование, сделать его понятным для других разработчиков, и ещё добавить обработку ошибок, чтобы не падал продакшн.»

Проблемы: безличные конструкции, размытые критерии («лучше», «понятным»), смесь задач в одном предложении, нет формата вывода.
После: «Structured English Prompt»

Role: Senior Software Engineer Task: Refactor provided module. Requirements: 1. Eliminate code duplication (DRY). 2. Apply SOLID principles. 3. Add comprehensive error handling (try/catch, custom exceptions). 4. Add JSDoc / type hints. Constraints: No external dependencies. Keep public API unchanged. Output Format: Markdown with diff blocks (+/- lines). Language: Respond in Russian.

Результат: чёткий план, готовый дифф, русское объяснение решений. Токенов — в 2 раза меньше.

Мифы, которые мешают работать

Миф

«Модель понимает русский так же хорошо, просто отвечает на языке промта».

Реальность

Понимание (embedding) есть, но генерация (decoding) смещена к английским паттернам. На сложных задачах (код, логика, форматирование) качество падает на 15–30%.

Миф

«Если поставить в системном промте «ответь на русском», качество не упадёт».

Реальность

Принудительный перевод на лету добавляет шаг декодирования. Модель может «забыть» детали инструкции, переведя их. Лучше: промт на EN + инструкция ответить на RU.

Миф

«DeepChat — особенный, он заточен под русский».

Реальность

DeepChat — обёртка над моделью (DeepSeek, Llama, Qwen). Правила токенизации и весов модели от обёртки не зависят. Интерфейс локализован, «мозг» — нет.

Когда можно (и нужно) писать на русском

Креативные тексты, маркетинг, письма
Здесь важен стиль, тон, культурный контекст. Русский промт даёт более живой результат.
Брейншторм, идеи, обсуждение концепций
Итеративный диалог на родном языке быстрее. Переключайтесь на EN только для финальной спецификации.
Код, алгоритмы, парсинг, анализ данных
Обязательно английский промт. Цена ошибки — сломанный прод или галлюцинированная логика.
Строгие форматы: JSON, SQL, Regex, YAML
Модель должна выдать валидный синтаксис. Английский промт снижает риск «поползновения» кавычек и скобок.

Инструменты: автоматизируйте рутину

DeepL / Google Translate API

Для пакетного перевода библиотеки промтов. DeepL лучше сохраняет техническую терминологию.

Prompt Templates (Snippets)

Храните заготовки Role/Task/Format в Alfred, Raycast, Espanso или Notion. Вставка по хоткею — 2 сек.

Browser Extension: «Prompt Translator»

Автоперевод поля ввода по Ctrl+Shift+T. Есть в Chrome Store для ChatGPT/DeepSeek UI.

Главное, что стоит запомнить

Английский промт — это не «дополнительная сложность», это доступ к 100% возможностей модели.

Вы не учите язык. Вы учитесь давать инструкции в формате, на котором модель обучалась думать. Разница в качестве ответа на задачах «код / логика / структура» — разница между «сработало с третьей попытки» и «готово к коммиту».

Начните с одного промта на английском сегодня. Заметите разницу.