﻿# Переход с Gemma 3 на Gemma 4: system role и текстовые промпты

Переход текстовых промптов Gemma 3 на Gemma 4 с разделением ролей сообщений, управляющих токенов и повторяющихся системных инструкций.

Автор: Команда Retrivium
Обновлено: 2026-11-03
Канонический URL: https://retrivium.ai/ru/journal/gemma3-to-gemma4-system-prompt-roles/
Language: ru

Gemma 4 вводит нативную поддержку system и другой отрисованный формат разговора. При переходе с Gemma 3 нужно осознанно обновлять построение промпта вместо простой замены идентификатора модели.

## Прочитайте прежние и новые правила ролей

[Руководство формата Gemma 4](https://ai.google.dev/gemma/docs/core/prompt-formatting-gemma4) описывает системные инструкции и новые разделители ходов. [Прежнее руководство](https://ai.google.dev/gemma/docs/core/prompt-structure) сообщает о ролях user и model и размещении системных указаний внутри первого пользовательского запроса.

[Карточка Gemma 4](https://huggingface.co/google/gemma-4-26B-A4B-it/raw/main/README.md) прямо выделяет нативную system как новую возможность. Инструкция внутри прежнего первого user не становится отдельным сообщением system автоматически после замены checkpoint.

## Разделите объекты сообщений и отрисованные токены

Клиент может использовать структурированные роли, а tokenizer — выводить собственные обозначения и разделители модели. Документация Gemma 4 использует model в сериализованном формате. Это не следует смешивать со словарём ролей окружающего API.

Выполняйте сопоставление выбранным processor или шаблоном. Нельзя глобально заменять assistant на model в запросе API только из-за наличия второго слова в отрисованном примере. Исследуйте сформированный промпт именно выбранного checkpoint.

## Уберите дубли старых инструкций

Предположим, прежний user начинается требованием краткого фиксированного формата. При переходе оно переносится в system. Оставшаяся копия в первом пользовательском сообщении создаёт повтор, а после последующих правок — возможное противоречие.

| Часть промпта | Проверка перехода |
| --- | --- |
| Системное указание | Находится в нужной новой роли |
| Первый запрос user | Содержит задачу без устаревшей копии |
| История assistant | Отрисовывается выбранным шаблоном |
| Разделители ходов | Соответствуют формату Gemma 4 |
| Префикс генерации | Правильно начинает следующий ответ модели |

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

## Проверьте безобидный конфликтный пример

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

Это диагностический пример, а не доказательство полной устойчивости к атакам на промпт. Сохраните структурированные сообщения и отрисованный текст, чтобы связать неожиданный ответ с реальным входом вместо автоматического объяснения способностями модели.

## Примите миграцию формата отдельно

Храните прежние и новые примеры, ревизии checkpoint и проверки окончательного ответа. Убедитесь в сохранении фактов задачи, требуемой форме вывода и правильном продолжении разговора после перехода.

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

## Связанные материалы

- [vLLM: как устранить несовпадение формата content в chat template](/ru/journal/vllm-chat-content-format/)
- [Релиз токенизатора: как не смешать vocab, special tokens и chat template](/ru/journal/tokenizer-artifact-release-manifest/)
