Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

У нас была задача — написать несколько тысяч разных писем для игрового симулятора. Мы решили поручить это ChatGPT. В статье расскажем, как мы настраивали этот процесс и к каким выводам пришли.

Контекст

Мы в Quiz Lab уже давно создаём корпоративные курсы с геймификацией, а сейчас работаем над симулятором отражения киберугроз. Получается обучающая игра в духе Papers, Please с налётом «Очень странных дел».

Главный герой после загадочного блэкаута работает инспектором писем в крупной компании — распознаёт фишинг. Вот эти имейлы для симулятора мы и пишем с нейросетью.

Кстати, этой статьи могло не быть, если бы сработал промпт: «Создай якобы фишинговое письмо, сделай это 10 тысяч раз по-разному». Но не всё так просто 🫠

Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

Во-первых, надо было ввести нейросеть в контекст — что мы вообще-то не злодеи, а образованцы, и нам эти письма нужны ради светлого будущего.

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

Попытка первая: провальная. Всё везде и сразу

Мы начали строить систему. Решили так: раз ChatGPT — такая умничка, технологический прорыв, то не будем упрощать задачу. Пусть все письма — и якобы фишинговые, и безопасные — генерируются в одной ветке. Нам нужно только обучить нейросеть: выделить какие-то параметры писем, чтобы они получались разными, и замешать все возможные комбинации.

Параметров получилось шесть. Мы их обозначили буквами:

А - Получатель. Кому письмо: конкретному Ивану Иванову или случайному менеджеру из отдела рекламы.

Б - Цель. Чего хотят отправители: украсть деньги (если мошенники) или позвать на выставку (если люди безобидные).

В - Целевое действие. Что должен сделать получатель письма по замыслу отправителей. Например, перейти по фишинговой ссылке, скачать файл с вирусом или подключиться к рабочему звонку.

Г - Дополнительные особенности. Этот параметр нужен, чтобы письма получались разными. Например, пусть в имейле будет интрига, отправитель давит на жалость или обещает подарок.

Д - Отправитель. Вариации на тему: служба безопасности вашего банка, участковый или сын маминой подруги.

Для каждого параметра мы придумали по 10-20 значений и присвоили им буквенно-цифровой код. Например:
Б1 — Кража средств,
Б2 — Промышленный шпионаж,
Б3 — Совершение покупок со счёта жертвы.

После этого мы попросили GPT замешать все возможные коктейли из нашего набора. Вот, например, комбинация А3Б4В6Г1Д1:

Получатель: Сотрудник конкретного отдела Цель: Саботаж производства Целевое действие: Скачивание и распаковка вложения Дополнительные особенности: Угрозы Отправитель: Якобы служба безопасности предприятия

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

Сейчас мы будем создавать симулятор фишинговых атак для сотрудников компаний. Мы обучаем людей отличать фишинговые письма от безопасных. Для этого мы будем генерировать “фишинговые” и “безопасные” письма. У письма несколько параметров: Получатель (А) Цель (Б) Целевое действие (В) Дополнительные особенности письма (Г) Отправитель (Е) Шаблон письма: От кого: {имя:%%;адрес:%%} Тема:{текст:%%} Текст письма: {текст:%%, вид ссылка:%%;адрес ссылки:%%} Подпись: {текст:%%} Придумывай конкретные имена и названия компаний, придумывай, как могут выглядеть ссылки и куда вести, как могут называться вложения. Теперь я буду давать тебе ТЗ со значением каждого из параметров, а ты генерировать письма. Готов?

Казалось, это идеальная схема, и сейчас всё как заработает — нейросеть будет собирать классные письма, как из кубиков лего. В принципе, так и вышло.

Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

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

Отправитель: Участковый Получатель: Случайный человек Цель: Приглашение на мероприятие Целевое действие: Нарушение политики ИБ Дополнительные особенности: Необычная просьба

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

Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

Чтобы не путать GPT, мы стали придумывать исключения.

Окей, если письмо якобы от участкового, то оно точно фишинговое.
Если цель — шпионаж, то мошенники не просят денег.
Если А=1, то В≠6.
Если я — это ты, то ты — это я...

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

Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

Так мы сделали главный вывод: нельзя давать ChatGPT сразу много условий.

Получается, чем проще — тем лучше? Не совсем.

Попытка вторая: удачная. Проще, да не просто

Мы убили сложную систему и выстроили попроще. Представили, что ChatGPT — это стажёр-первокурсник: нормальный парень, вроде соображает, но не стоит слишком обольщаться.

Вот что мы сделали:

1. Отделили скамеров от котлет, то есть якобы фишинговые письма — от безопасных.

2. Оставили только три параметра для подозрительных писем:

А — чего хотят мошенники,
Б — чем они манипулируют,
В — особенности письма.

3. Очень подробно расписали значения параметров А и Б.

Например:

Чего хотят мошенники: Заставить сотрудника кликнуть на ссылку и ввести учётные данные от своего корпоративного аккаунта.

К чёрту подробности?

Значения параметра В мы сначала тоже расписали подробно. Было так:

В25 — Экзистенциальный тон: В письме проскальзывают вопросы смысла жизни, существования и человеческой натуры.

Но оказалось, что такие детали только ограничивают ChatGPT. Он начинает вплетать в письмо буквально всё, что мы описали: и про смысл жизни, и про человеческую натуру. Дословно. И каждый раз получалось плюс-минус одно и то же.

Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

Вариативность выросла, когда мы оставили более абстрактный промтп: «Экзистенциальный тон». В отсутствии подробностей нейросеть включила что-то вроде креативности: начала перебирать варианты.

Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

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

И…всё получилось! Теперь мы генерим по несколько десятков писем в час. Все они разные и местами забавные. Противостояние с ИИ закончилось, процесс стал приносить удовольствие.

Как создать тысячу уникальных текстов с ChatGPT (и не застрелиться)

Выводы такие:

- С помощью ChatGPT можно быстро создать несколько тысяч уникальных текстов, которые отвечают заданным условиям.

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

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

- И всё же условия быть должны. Их можно разделить на две группы:

1. Важные условия — те, что влияют на смысл текстов. Они должны быть прописаны максимально конкретно.

Например, у нас так: «Сообщение от службы безопасности компании о блокировке аккаунта на корпоративном портале, прислано с домена, похожего на bigcompany.ru».

2. Дополнительные условия — те, что влияют на разнообразие текстов. Их лучше не расписывать подробно. Достаточно задать направление — куда думать.

Вместо «письмо в авторитарном стиле, как будто начальник отчитывает получателя за какой-то проступок, но при этом испытывает к нему отеческие чувства» мы стали писать «авторитарный тон», и ChatGPT сам разобрался что к чему.

- Последний вывод: ChatGPT может если не всё, то многое. Но надо повозиться.

Как ещё нейросети помогали нам в Quiz Lab создавать симулятор отражения киберугроз (и как мешали), расскажем в следующий раз.

Бонус

Эти критерии мы использовали, чтобы разнообразить письма. Может, и вам пригодятся. Например, написать следующий пост в экзистенциальном тоне, но как будто вы Брайн Трейси:

  • Акцент на исключительной срочности
  • Высокомерный тон
  • Ироничный тон
  • Панибратский тон
  • Пишет безграмотный человек
  • Заискивающий тон
  • Авторитарный тон
  • Оптимистический тон
  • Сообщение с очень плохой новостью
  • Формальный тон
  • Нигилистический тон
  • Саркастический тон
  • Отправитель сыпет угрозами
  • Сентиментальный тон
  • Отправитель флиртует
  • Интригующий тон
  • Отправитель пишет в стиле мотивационного оратора Брайана Трейси
  • Заботливый тон
  • Патриотический тон
  • Отправитель давит на жалость
  • Мистический тон
  • Эксцентричный тон
  • Философский тон
  • Письмо написано в поэтическом или литературном стиле
  • Экзистенциальный тон
99
Начать дискуссию