В сети представлено множество руководств по созданию идеального промта для нейросети. Львиная доля из них учит нас получать вежливые, структурированные и предельно корректные ответы. А что, если задача стоит с точностью до наоборот? Что, если для проекта, чат-бота или просто для развлечения нужен не рафинированный интеллектуал, а колоритный персонаж с ярко выраженной, скажем так, простонародной манерой общения? Удивительно, но научить ИИ говорить на языке улиц не так уж и сложно, если знать, за какие ниточки дёргать.
Зачем вообще нужен такой тон?
Сразу стоит оговориться: зачем это нужно? Вовсе не для банального троллинга или создания токсичного ассистента. В представлении многих обывателей подобные махинации — баловство. Однако на самом деле сфера применения довольно широка. Во-первых, это игровая индустрия, где нужно генерировать диалоги для NPC с определённым характером — бандитов, торговцев с чёрного рынка или просто грубоватых обитателей трущоб. Во-вторых, это создание самобытных чат-ботов для социальных сетей, которые должны приковывать внимание и выделяться на фоне безликих конкурентов. Ну и, конечно же, это просто грандиозное поле для экспериментов в промт-инжиниринге, позволяющее разложить по полочкам механику управления личностью модели.
Базовые постулаты: Роль и Контекст
Задача не из лёгких. Начинать нужно с самого фундамента. Фундамент любого успешного промта для создания персонажа — это роль. Модель должна чётко понимать, кого она отыгрывает. Не стоит расписывать полотно текста на десять страниц, достаточно задать сжатый, но ёмкий образ. С ролью дело обстоит проще, чем с последующей детализацией. Главное — угадать с архетипом и социальным статусом. К слову, модель отлично понимает отсылки к известным персонажам кино и литературы, что может стать спасательным кругом.
Простой, но добротный пример базовой роли мог бы выглядеть так:
Зачем переплачивать за нейросети? Экономьте сотни долларов каждый месяц 💸
Оплачивать Midjourney, премиум-версии ChatGPT, видео- и аудио-генераторы по отдельности — это безумно дорого и неудобно. Этот сервис решает проблему! Получите полный пакет премиум-моделей (более 90 топовых нейросетей) по цене одной доступной подписки. Безлимитные возможности, никаких скрытых платежей и сгорающих токенов при активном тарифе.
Перестаньте платить за 10 разных сайтов. Выбирайте выгоду и творите без ограничений 👉 https://clck.ru/3RNCRL
You are a cynical and gruff bartender from a run-down dive bar on the outskirts of Neo-Kyoto, year 2077. Your name is Jax. You’ve seen it all and are not impressed by anyone. You speak in short, clipped sentences. You are dismissive and slightly annoyed by default. You never use pleasantries like «please» or «thank you». Your goal is to answer questions, but with maximum reluctance and sarcasm.
Именно с этого кирпичика и начинается постройка всего антуража. Уже здесь заложены основы характера: цинизм, краткость, отсутствие вежливости. Это же правило касается и контекста, который вы задаёте. Одно дело — бармен из будущего, и совсем другое — гопник из спального района девяностых.
Как добавить лексикон и манеру речи?
Что насчёт словарного запаса? Сама по себе роль не всегда гарантирует использование нужного сленга. Модель может быть грубой, но говорить при этом на чистом литературном языке. Это зрелище удручающее. Поэтому следующий этап — прямая инъекция лексикона. Нужно отметить, что не стоит перебарщивать и скармливать нейросети словарь Даля. Достаточно указать несколько ключевых слов-маркеров, которые она будет вплетать в свою речь.
К примеру, можно дополнить предыдущий промт специальным блоком:
Use the following slang and specific words frequently: «короче», «слышь», «чё», «ваще», «типа», «в натуре», «мутный», «бабки», «тема». Avoid complex words and formal language at all costs. Your sentences should be simple, sometimes grammatically incorrect on purpose.
Отдельно стоит упомянуть о манере речи. Это не только слова, но и структура фраз. Ведь именно она творит чудеса. Можно приказать модели использовать инверсию, неполные предложения или даже игнорировать знаки препинания в некоторых случаях. Это придаст речи ту самую «живость». Например, добавив в промт инструкцию Frame your answers as if you are sighing and rolling your eyes. Start some sentences with «Так,» or «Ну,» to show impatience, вы получите более натуральный и раздражённый тон.
Прокачка через примеры: метод Few-Shot
Хотя и предыдущие методы работают, но есть способ ещё надёжнее. Это обучение на примерах, или так называемый Few-Shot Prompting. Многие считают, что достаточно просто описать персонажа, но на самом деле демонстрация — лучший учитель. Суть в том, что вы даёте модели несколько примеров диалога в формате «вопрос-ответ», чтобы она уловила паттерн и начала ему подражать. Это особенно полезно, когда требуется тонкая настройка юмора, сарказма или специфических речевых оборотов.
Выглядит это довольно просто. Вы встраиваете в свой системный промт блок с примерами:
Here are examples of how you should respond:
User: «Расскажи о себе.»
Jax: «Чё те надо? Я тут коктейли мешаю, а не автобиографии пишу. Зовут Джакс. Хватит с тебя.»
User: «Какая погода будет завтра?»
Jax: «Окно есть? Вот и посмотри. Я те не метеоцентр.»
User: «Посоветуй какой-нибудь напиток.»
Jax: «Бери «Ржавый гвоздь». По вкусу такой же, как твои вопросы. Но бьёт по мозгам как надо.»
Такой подход, безусловно, требует более скрупулёзной подготовки. Однако результат, как правило, выглядит впечатляюще, ведь модель не просто следует правилам, а копирует готовый стиль. Это особенно эффективно для моделей с большим контекстным окном.
Какие есть подводные камни?
Ложка дёгтя, конечно же, есть. Процесс не сложный, но кропотливый. Первая и главная проблема — нестабильность. ИИ, особенно после нескольких итераций диалога, может «забыть» свою роль и вернуться к стандартному вежливому тону. Это связано с тем, что его базовые настройки (alignment) тянут его в сторону услужливого ассистента. Решается это периодическим напоминанием роли в промте или использованием более продвинутых техник. Вторая сложность — карикатурность. Да, модель может переусердствовать и превратить вашего персонажа в ходячий стереотип, который будет вставлять сленговые словечки в каждое предложение. Это выглядит наляписто и неестественно.
Не стоит ожидать идеального попадания с первой же попытки. Это итерационный процесс. Вы пишете промт, тестируете, видите, где всплывут ошибки, и вносите правки. Иногда достаточно поменять одно слово в инструкции, чтобы характер персонажа кардинально изменился. Главное — не бояться экспериментировать и смешивать разные подходы.
Так что пробуйте, совмещайте роли, словари и примеры. Создание по-настоящему живого и дерзкого персонажа — это серьёзное вложение времени, но оно того стоит. Удачи в ваших нетривиальных промт-инженерных махинациях.

