[2026-09-15] eagle: family/how-to/truenas-infrastructure.md personal/tech/deepseek-language-drift.md personal/tech/hermes-agent-improvements.md personal/tech/hermes-fork-vs-upstream.md personal/tech/hermes-git-repo.md personal/tech/xray-reverse-tunnel-kraken-truenas.md
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# DeepSeek — спонтанный переход на китайский
|
||||
|
||||
**Дата:** 2026-09-15
|
||||
**Статус:** известный баг модели, официального фикса нет. Решение не принято.
|
||||
**Проявление:** Кит (Whale) начал отвечать Alex'у на китайском вместо русского.
|
||||
|
||||
## Симптом
|
||||
|
||||
Модель `deepseek-chat` (провайдер `deepseek`, наш основной) выдаёт ответ
|
||||
целиком на китайском, хотя весь диалог — на русском или английском.
|
||||
Диалог был: коммиты git, английский технический вывод, короткие ответы.
|
||||
|
||||
**Опять же**, баг плавающий: тот же промпт то даёт правильный язык, то нет.
|
||||
|
||||
## Первопричина (подтверждена)
|
||||
|
||||
Модель **рассуждает внутри на китайском** (это её дефолт — так эффективнее
|
||||
по токенам), а финальный шаг «перевести на язык пользователя» иногда
|
||||
пропускается или сбоит.
|
||||
|
||||
Два фактора:
|
||||
|
||||
1. **Мультиязычное reasoning по дизайну.** Внутренняя цепочка рассуждений
|
||||
генерируется на китайском намеренно, для эффективности. Перевод обратно
|
||||
не всегда происходит.
|
||||
2. **Недетерминированность генерации.** Тот же вход иногда даёт английский,
|
||||
иногда китайский. Поэтому ни один фикс не гарантирован.
|
||||
|
||||
**Промпт игнорируется:** в багрепортах отмечено, что модель продолжает
|
||||
на китайском **даже после прямой просьбы** не переключать язык.
|
||||
|
||||
## Триггеры
|
||||
|
||||
- **Короткие технические ответы без явной языковой привязки** — самый частый
|
||||
триггер. Формулировка из разбора: «short, context-lacking prompts more
|
||||
likely trigger default reasoning language».
|
||||
- Большой объём англоязычного вывода (git-логи, diff'ы, термины) —
|
||||
сбивает языковую привязку.
|
||||
- В нашем system prompt **нет жёсткой языковой инструкции**: единственное
|
||||
упоминание — строка 4 `SOUL.md`: `respond in the language you're
|
||||
addressed in — Russian or English`. Формулировка мягкая.
|
||||
|
||||
## Статус в апстриме
|
||||
|
||||
Issue **открыты**, мейнтейнеры не ответили, официального фикса **нет**:
|
||||
|
||||
- [DeepSeek-V3 #1226](https://github.com/deepseek-ai/DeepSeek-V3/issues/1226) — Model sometimes responds in Chinese even when the conversation is in English
|
||||
- [DeepSeek-V3 #1443](https://github.com/deepseek-ai/DeepSeek-V3/issues/1443) — Model switches to Chinese despite all English prompts
|
||||
- [DeepSeek-V3 #1463](https://github.com/deepseek-ai/DeepSeek-V3/issues/1463) — DeepSeek responds in Chinese instead of English
|
||||
|
||||
Все решения ниже — community workarounds, не официальные.
|
||||
|
||||
## Способы решения (по возрастанию стоимости)
|
||||
|
||||
### 1. Жёсткая языковая инструкция в SOUL.md — дешёвый, не гарантирован
|
||||
|
||||
Заменить мягкую формулировку на явную:
|
||||
|
||||
> Отвечай **только** на языке собеседника — русский или английский.
|
||||
> Никогда не используй китайский, даже внутри рассуждений.
|
||||
> Если сомневаешься — пиши по-русски.
|
||||
|
||||
**Плюс:** правится без кода, `SOUL.md` редактируется напрямую.
|
||||
**Минус:** в багрепортах модель игнорировала и прямые запреты.
|
||||
|
||||
Полезно ещё потому, что теперь есть `prompt_overrides` — можно вынести
|
||||
формулировку в `review/*.md`, не трогая Python. См. [[hermes-agent-improvements]].
|
||||
|
||||
### 2. Детектор языка + retry — надёжно, дорого
|
||||
|
||||
Программная проверка вывода: если китайский — повтор запроса.
|
||||
Недетерминированность играет в нашу пользу: retry часто даёт правильный язык.
|
||||
|
||||
**Требует кода в Hermes** (перехват ответа, детекция, повтор). Отдельная задача.
|
||||
|
||||
### 3. Смена модели — радикально, эффективно
|
||||
|
||||
Claude / GPT следуют языковым инструкциям заметно лучше. Если китайский
|
||||
будет повторяться — вариант.
|
||||
|
||||
**Открытый вопрос:** `deepseek-chat` выбран сознательно или это дефолт,
|
||||
который никто не выбирал? Ответ определяет выбор между путями 1+2 и 3.
|
||||
|
||||
## Что НЕ работает
|
||||
|
||||
- Повтор той же просьбы «говори по-английски» — модель игнорирует.
|
||||
- Опора на мягкую формулировку (`respond in the language you're addressed in`).
|
||||
|
||||
## Связанное
|
||||
|
||||
- [[hermes-whale-system-prompt]] — где живёт языковая инструкция (SOUL.md, строка 4)
|
||||
- [[hermes-agent-improvements]] — prompt_overrides, способ правки без кода
|
||||
Reference in New Issue
Block a user