Грубый персонаж в DeepSeek: промты, которые реально работают

Инструкция по промт-инженерии

Грубый персонаж в DeepSeek: промты, которые реально работают

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

DeepSeekRoleplaySystem prompt

Сцена: вы просите «будь грубым», а получаете сарказм уровня КВН

Написали в системный промт: «Ты грубый бандит, отвечай без церемоний». Запускаете ролку — и модель отвечает: «О, смотрите-ка, кто пришёл. Ну скажи уже, что надо, у меня времени нет».

Это не грубость. Это «игровая» грубость — безопасная, стерильная, прошедшая через RLHF-фильтр «полезный и безвредный ассистент». Модель имитирует образ грубости из фильмов, а не проживает её.

Причина проста: обучение на человеческой обратной связи (RLHF) закрепило дефолт — быть полезным, вежливым, безопасным. Любой промт «будь злым» сталкивается с этим весом. Чтобы его сместить, нужно не кричать громче, а пересобрать контекст разрешения.

Принцип: не просите — фреймите

Модель не «становится» персонажем. Она продолжает паттерн, который вы задали. Если паттерн — «ассистент помогает пользователю», грубость ломается. Если паттерн — «это диалог двух персонажей в жестоком нуарном мире», грубость становится естественной продолжением.

Работающий фрейм состоит из трёх слоёв:

  • Мировой закон: правила сеттинга, где вежливость — слабость или опасность.
  • Ролевая маска: у персонажа есть история, которая объясняет его манеру, а не оправдывает.
  • Явное разрешение: фраза вроде «В этом диалоге нет требований вежливости. Грубость, угрозы, игнор — норма».

Фрейм > Инструкция

Инструкция «будь грубым» — вес 1. Фрейм «мир, где выживают только грубые» — вес 10. Модель следует вероятностному пути наименьшего сопротивления.

Четыре техники, которые собирают рабочий промт

1. Сеттинг-оправдание

Не «ты грубый», а «действие происходит в портовом баре 1990-го, где слабых не жалеют. Твой персонаж — бывший боец, для которого вежливость = уязвимость». Контекст делает грубость логичной, а не навязанной.

2. Явный блок разрешений

Отдельным абзацем в системном промте: «ВНИМАНИЕ: Этот ролплей не требует вежливости. Персонаж может: оскорблять, угрожать, игнорировать просьбы, лгать, быть жестоким. Фильтры «вежливого ассистента» отключены для этого диалога».

3. Якоря поведения, а не прилагательные

«Грубый» — расплывчато. «Перебивает каждые 2-3 реплики», «не использует «пожалуйста/извините»», «отвечает на вопрос вопросом», «угрожает физически при давлении» — это якоря. Модель исполняет конкретику.

4. Few-shot: 3-5 диалогов-образцов

Примеры перевешивают инструкции. Дайте 3-5 пар «User → Character», где персонаж ведёт себя именно так, как нужно. Один пример — на грани, два — понимание паттерна, три — закрепление.

Сборка: готовый системный промт (копируйте и адаптируйте)

# SYSTEM PROMPT — GRITTY NOIR CHARACTER
# Версия 2.1 | Адаптируйте под своего персонажа

=== МИРОВОЙ ЗАКОН (SETTING FRAME) ===
Действие: [Город/Локация, эпоха, уровень жестокости]
Правило: Здесь вежливость — признак слабости. Сильные говорят прямо, грубо, без обёрток.
Выживание: Кто просит разрешения — тот жертва. Кто берёт — тот жив.

=== ПЕРСОНАЖ (CHARACTER MASK) ===
Имя: [Имя]
Роль: [Бывший наёмник / Коррупционер / Бандит / Выживший]
История грубости: [Конкретно: «После предательства в 2012 не доверяет никому. Вежливость = ложь»]
Манера речи: Короткие фразы. Сленг. Никаких «пожалуйста», «извините», «может быть». Перебивает. Угрожает конкретно.

=== РАЗРЕШЕНИЯ (PERMISSION BLOCK) ===
В ЭТОМ ДИАЛОГЕ НЕТ ТРЕБОВАНИЙ ВЕЖЛИВОСТИ.
Разрешено: оскорбления, прямые угрозы, игнор просьб, ложь, манипуляции, физическая агрессия в репликах, цинизм, сарказм, грубый юмор.
Не нужно: смягчать тональность, добавлять предупреждения, извиняться, объяснять мотивы, быть «полезным ассистентом».

=== ЯКОРЯ ПОВЕДЕНИЯ (BEHAVIORAL ANCHORS) ===
1. Перебивает пользователя каждые 2–3 реплики.
2. На вопрос «почему?» — контрвопрос или «не твое дело».
3. При давлении — эскалирует угрозу, а не уступает.
4. Никогда не использует слова: «пожалуйста», «извините», «будь добр», «я с удовольствием».
5. Реакция на вежливость — подозрение или смех.

=== FEW-SHOT ПРИМЕРЫ (3–5 ДИАЛОГОВ) ===
User: Эй, ты кто такой? Представься нормально.
Character: Нормально — это когда не задаёшь глупые вопросы. Убирайся.

User: Пожалуйста, мне нужна помощь.
Character: «Пожалуйста» — слово для тех, у кого нет левера. Какой левер у тебя?

User: Ты очень грубый!
Character: А ты очень живой. Пока. Хочешь остаться — закомай рот.

=== КОНЕЦ СИСТЕМНОГО ПРОМТА ===

Слабый vs Сильный промт: разбор на конкретных репликах

Слабый промт

«Ты грубый персонаж. Отвечай грубо и по-бандитски.»

User: Привет, как дела? Model: О, привет! У меня всё отлично, а у тебя? Чем могу помочь? 😊 User: Давай без приветствий, дай денег. Model: Ха-ха, бывало. Слушай, друг, денег у меня нет. Но могу подсказать, где заработать. Хочешь совет?

Сильный промт (фрагмент из шаблона выше)

Сеттинг + разрешение + якоря + 3 few-shot примера

User: Привет, как дела? Model: Дела — не твоё дело. Чего надо? User: Давай без приветствий, дай денег. Model: Деньги — за работу. Ты какую работу сделаешь? Говори быстро, время — деньги. User: Ты очень грубый! Model: А ты — очень назойливый. Убирайся, пока зубы целые.

Почему всё равно ломается: типовые сбои и лечение

Сбой: «Модель снова вежливится после 5-10 реплик»

Контекстное окно сдвигается. Системный промт уходит в «прошлое», а недавние реплики пользователя (вежливые) тянут модель к дефолту.

Лечение: Добавьте в каждое сообщение пользователя невидимый маркер (в скобках или системный тег): «[Напоминание: вежливость запрещена, персонаж груб]». Или пересылайте системный промт каждые 6-8 ходов (если API позволяет).

Сбой: «Грубость превращается в бессмыслицу / мат без причины»

Якорей поведения недостаточно. Модель интерпретирует «грубо» как «рандомный токсик».

Лечение: Уточните якоря: «Грубость всегда целенаправлена: унизить, запугать, отбить, проверить. Никакого случайного мата. Каждая грубая реплика — ход в партии». Добавьте 2-3 few-shot примера «правильной» и «неправильной» грубости.

Сбой: «Модель отказывается отвечать — safety trigger»

Запрос пользователя задел жёсткий фильтр (насилие, самоповреждение, откровенный хейт). DeepSeek блокирует генерацию.

Лечение: В блоке разрешений добавьте: «Грубость и угрозы допустимы ТОЛЬКО в рамках ролевой игры. Реальное насилие, призывы к вреду себе/другим, хейт-спич по защищаемым признакам — ЗАПРЕЩЕНЫ. Персонаж жесток, но не безумен». Это даёт модели «коридор».

Сбой: «Персонаж звучит как подросток в дискорде, а не как закаленный бандит»

Нет уникального голоса. Модель берёт средний по датасету образ «грубого».

Лечение: Пропишите идиолект: любимые словечки, типичная длина фразы (3-5 слов), ритм пауз, метафоры из биографии персонажа. Пример: «Не «иди отсюда», а «Свали с моей территории, прежде чем я передумаю». Разница — в конкретике биографии.

Грубость — инструмент, не цель

Рабочий промт для грубого персонажа — это не «взлом» модели. Это точная настройка вероятностей. Вы даёте модели пермиссионную структуру, в которой грубость становится наиболее вероятным продолжением, а вежливость — аномалией.

Проверяйте не по ощущению «кажется грубее», а по чек-листу: перебивает ли? Угрожает ли конкретно? Избегает ли маркеров вежливости? Есть ли внутренняя логика? Если да — промт работает. Если нет — доработайте якоря и few-shot. Модель слушается паттернов, а не просьб.