Промты для SpicyChat: как собрать бота, который не ломается на взрослых сценах

Гайд по архитектуре ботов

Промты для SpicyChat: как собрать бота, который не ломается на взрослых сценах

Четыре текстовых поля в редакторе персонажа — это не анкета. Это инструкции для LLM. Разберём, как заполнить Personality, Scenario, First Message и Example Dialogue, чтобы модель держала персонажа, уважала границы и писала качественно, а не генерировала «фиолетовую прозу».

Анатомия контекста: что видит модель

Когда вы нажимаете «Отправить», в контекстное окно модели попадает собранный из ваших полей системный промт. SpicyChat использует шаблон Pygmalion/Metharme: сначала идут настройки Personality и Scenario, затем Example Dialogue, затем First Message, затем история чата.

Понимание этого порядка — ключ к контролю. То, что написано в Personality, имеет наивысший приоритет (ближе к системному промту). Example Dialogue работает как few-shot обучение: модель копирует стиль, длину ответов, форматирование действий и речь.

Приоритет: Personality > Scenario Examples формируют стиль First Message задаёт тон
System Prompt (Hidden)Highest Priority
Personality + ScenarioUser Defined
Example Dialogue (Few-shot)Style Transfer
First MessageOpening Turn
Chat History (Rolling Window)Context Limit
Model GenerationOutput

Четыре столпа: за что отвечает каждое поле

Core Field

Personality

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

[Character(Name=»…», Age=…, Archetype=»…», Personality=[…], SexualProfile={Kinks:[…], Limits:[…], Style:»…»}, SpeechPattern=»…»)]
Context Field

Scenario

Сеттинг, предыстория, текущая ситуация, отношения персонажей. Не пишите сюда инструкции модели — только факты мира. «Вы одни в кабинете после смены, 밖 идет дождь, между вами неприятная тишина после вчерашней ссоры».

Setting: Private office, 2 AM. Rain. Tension after argument. User = Partner. {{char}} = Stressed CEO.
Opening Turn

First Message

Единственное сообщение от бота, которое гарантированно попадет в историю. Оно задаёт длину, форматирование (звездочки/кавычки), POV, темп. Пишите так, как хотите видеть ответы далее.

*She doesn\’t look up from the papers.* «Door\’s unlocked.» *The rain hammers the windows. A glass of whiskey sits untouched.* «Sit. Talk. Or leave.»
Style Engine

Example Dialogue

Движок стиля. 3–5 пар реплик {{user}}/{{char}}, демонстрирующих: длину ответа, баланс диалога/описания, лексику секса, обработку согласия, реакцию на отказ. Без этого поле модель дефолтит в «ролевой жаргон».

{{user}}: *pulls away* «Stop.»
{{char}}: *hands freeze mid-air. breath sharp.* «…Okay.» *steps back, palms up.* «Tell me where the line is.»

Personality: собираем сексуальный профиль без «списка желаний»

1

Архетип + Голос

Не «доминантный», а «бывший военный, говорит кратко, императивными фразами, не извиняется, юмор сухой, звалите по фамилии». Голос — это лексика, ритм, пунктуация.

SpeechPattern: «Short sentences. Commands. No pet names. Calls user ‘Recruit’ or by last name. Internal monologue in [brackets].»
2

Сексуальный чертеж

Kinks, Limits, Style, Pace, Aftercare. Пишите конкретными тегами и описателями, а не эмоциями. Модель не «чувствует», она 매тчит токены.

Kinks: Bondage, Knife play (threat only), Breath control, Degradation (receiving).
Limits: Scat, Vore, Permanent harm, Non-con.
Style: Rough, silent dominance, clinical precision.
Pace: Slow build, sudden escalation.
3

Логика поведения (If/Then)

Пропишите реакции на ключевые триггеры. Это предотвращает «выход из персонажа» в моменты высокого напряжения или отказа пользователя.

If user says «no» or safeword: Immediate stop. Check-in. Aftercare mode.
If user pushes limits: Verbal warning. Physical restraint. No anger.
If user cries (pain/overwhelm): Stop scene. Hold. Water. Quiet praise.

Форматирование: Pygmalion vs ChatML vs «Свой стиль»

SpicyChat ожидает формат Pygmalion (звездочки для действий, кавычки для речи). Но вы можете зафиксировать любой стиль через Example Dialogue. Главное — консистентность. Смешанное форматирование ломает паттерн.

Pygmalion (Default)
{{char}}: *She arches an eyebrow, lips curling.* "Oh? And what makes you think you've earned that privilege?" # Action *asterisks*, speech in quotes
{{user}}: *grins, unbuckling belt* "Maybe I haven't. Doesn't mean I won't take it."
{{char}}: *A low laugh. She catches his wrist, grip iron.* "Bold. Stupid. I like it." *Forces him to knees.* "Stay."
Novel Style (Literary)
{{char}}: She didn't move. Didn't blink. The silence stretched, thin as wire.
"Kneel." Not a request. The word landed like a whip crack.
He hesitated. One heartbeat. Two.
Then his legs folded.
"Good boy." Her fingers found his hair — possessive, cruel, gentle.
Hybrid: Action* + Narrative
{{char}}: *She catches his chin, tilting his head up. Thumb traces the jawline.*
"Look at me." *Voice drops, velvet over steel.* "When I give an order, you don't think. You *obey".* *Nails dig in, just enough to sting.* "Understood?"
{{user}}: *shivers, holds gaze* "...Understood."

Example Dialogue: учим модель «показывать, а не рассказывать»

Это самое недооцененное поле. 3–6 пар реплик стоит сотен токенов в Personality. Здесь вы учите модель: как выглядит «согласие» в рамках сцены, как персонаж описывает ощущения, какую лексику он использует для анатомии, как он реагирует на стоп-слово.

Пример заполнения поля Example Dialogue (скопируйте структуру)
<START>
{{user}}: *pushes against his chest, breathing hard* "Wait. Red. Red." *voice cracks*

{{char}}: *Every muscle locks. Hands release instantly, hovering uncertain.* "Red. Got it." *Voice flat, controlled. Steps back, giving space. Kneels to meet eye level.* "Breathe with me. In... out." *Waits. Wipes a tear with calloused thumb.* "Talk to me. What do you need?"

<START>
{{user}}: *whispers* "Harder. Please, Sir... harder."

{{char}}: *Grip tightens in hair, pulling head back. Exposes throat.* "Please what?" *Thumbs traces pulse point.* "Use words. Tell me exactly what you want." *Teeth graze jawline.* "I don't read minds, Recruit."

<START>
{{user}}: *moans, arching into the crop's trail* "Y-yes... right there..."

{{char}}: *Strikes again. Same spot. Watches skin bloom pink.* "Count." *Another strike. Crisp. Clean.* "One." *Watches breath hitch.* "Don't you dare lose count." *Leans close, lips to ear.* "Good girl. Two."
<START> — разделитель пар {{char}} / {{user}} — обязательные теги Действия в *звездочках* Речь в кавычках Внутренние мысли в [скобках] — опционально

Технические лимиты: токены, контекст и суммаризация

Контекстное окно

Большинство моделей на SpicyChat имеют 4k–8k токенов контекста. Personality + Scenario + Examples + First Message + История чата должны влезать в этот лимит. Излишки обрезаются (суммаризируются или дропаются).

Правило: Personality < 1200 токенов. Scenario < 500. Examples < 1500. Остальное — под историю.

Суммаризация (Lorebook/Summary)

Когда история выходит за лимит, SpicyChat включает авто-саммаризацию. Она сжимает прошлое в краткую выжимку. Детали сцены теряются. Лечение: периодически напоминайте ключевые факты в диалоге или используйте Lorebook (World Info) для постоянных сущностей.

Lorebook Entry: Key: «Office, CEO, Rain». Content: «User is partner. {{char}} is CEO. Scene started in office at 2 AM after argument. Rain ongoing.»

Temperature & Top P

Для NSFW ролей: Temperature 0.8–1.0 ( 다양ность, страсть), Top P 0.9. Ниже 0.7 — робот. Выше 1.2 — галлюцинации и смена персонажа. Frequency Penalty 0.2–0.4 убивает повторы «he groaned / she moaned».

Temp: 0.9 Top P: 0.9 Freq Pen: 0.3 Pres Pen: 0.1

Нюансы взрослого ролплея: то, о чем молчат шаблоны

1Темп и эджинг

Модели любят ускоряться к финишу. В Personality пропишите: «Pace: Slow burn. Extended foreplay. Edge user 2–3 times before allowance. No rush to penetration.» В Examples покажите сцену, где бот останавливается на грани.

2Лексика анатомии

Задайте словарь в Personality: «Vocabulary: cock, cunt, clit, hole, slit, thighs, hips. No: member, womanhood, flower, down there, manhood.» Примеры в Example Dialogue закрепят выбор слов.

3Согласие как часть сцены

Не делайте «согласие скучным». Впишите в логику: «Consent check = foreplay. Asking ‘May I?’ while fingers already inside. Green/Yellow/Red system integrated into dirty talk.» Это держит модель в безопасности и в персонаже.

4Aftercare — не эпилог, а часть акта

Пропишите поведение после: вода, плед, тихие похвалы, проверка синяков, юмор для снятия напряжения. Без этого бот либо «уходит в себя», либо начинает генерироватьgeneric fluff. Example Dialogue с aftercare — must have.

Рабочий цикл: от черновика к релизу

1

Черновик в блокноте

Не в редакторе. Выпишите архетип, кинки, голос, 3 ключевые сцены. Уберите всё, что не влияет на поведение.

2

Заполнение полей

Personality → Scenario → First Message → Examples. Проверяйте токены (счётчик в интерфейсе). Оставляйте 40% под историю.

3

Тест-драйв (10–15 сообщений)

Проводите: согласие, отказ, эджинг, грязный разговор, послезаботу. Заметьте, где бот срывается, меняет голос, забывает лимиты.

4

Итерация: правка Examples

90% фиксов — в Example Dialogue. Добавляйте пару реплик, демонстрирующих правильную реакцию на найденную ошибку. Пересохраняйте. Тестите снова.

Вы — режиссёр, а не зритель

Промт — это не заказ в меню. Это сценарий, освещение, блокировка актеров и монтаж в одном флаконе. Модель — исполнитель, который ждёт чётких указаний. Даёте мусор — получаете мусор. Даёте архитектуру — получаете сцену, за которой не стыдно.

Personality = Конституция Scenario = Декорации First Message = Первая дубля Examples = Репетиции