Сделали мини-приложение для Телеграма, которое генерирует нейросетевые квизы по контенту каналов
Рассказываем, как экспериментировали с языковыми моделями, чтобы сделать забавный проект для социальных сетей.
Привет! Это Дима, партнёр в рекламном агентстве Виноу. Недавно я запустил мини-приложение, которое генерирует квизы по контенту телеграм-каналов, и сейчас расскажу о процессе и результатах.
Прототип на коленке
Весной 2023 года мы в агентстве запустили телеграм-канал Виноудельня, чтобы делиться полезными советами и объяснять принципы работы для новичков в рекламной индустрии. Посты писали по очереди разные сотрудники агентства, я в том числе.
Когда настало время писать очередной пост, я обнаружил, что вдохновения выдавливать из себя мудрую мысль скорее нет, хотелось сделать нечто смешное. Подумал, что в канале уже достаточно хороших постов и что можно, вооружившись генеративным ИИ, сделать по ним бесконечный квиз.
Концепт был такой: выкачиваем все посты из канала, отправляем их в GPT-3.5 Turbo с промптом уровня «сделай квизовый вопрос по тексту ниже», генерируем таким образом 500 вопросов и заворачиваем их в простой веб-сервис, чтобы можно было поделиться публично. Для последнего этапа, кстати, отлично подходит bubble.io — можно за пару часов собрать несложный прототип.
Прототип собрал целых 15 лайков в канале, пару десятков сообщений в рабочем чате и около 100 пользователей — для нишевой шутки на пару часов работы в целом неплохо.
Мини-приложение
Через несколько месяцев на одном из креативных штурмов подумали, не сделать ли в рамках этого концепта мини-приложение в Телеграме, чтобы генерировать такие квизы по любым каналам. Докрутили идею и отправились делать вместе с партнёрами по разработке.
Создать приложение для Телеграма — достаточно понятная задача, сложностей не возникло. А вот сделать ключевую функцию — генерацию смешных квизов, которые интересно проходить — оказалось удивительно непросто. Пришлось придумать, как усидеть на трёх стульях: делать интересные вопросы, оставаться в рамках бюджета и создавать иллюзию бесконечности квиза.
1. Интересные вопросы
Посты в каналах, оказывается, все пишут по-разному: у кого-то больше фактов, у кого-то длинные заметки с переживаниями, у кого-то всё вперемешку. А нужно, чтобы вопросы получались адекватными или хотя бы смешными с любым контентом.
Строить сложную агентную систему и подстраивать генерацию под стиль канала — долго и дорого, поэтому нужно было собрать универсальный промпт. Для этого я взял 15 разноплановых каналов и двигался небольшими итерациями: редактировал части промпта, запускал генерацию по всем квизам из выборки, оценивал результат. Через несколько десятков подходов получилось нечто похожее на правду — лаконичные вопросы по теме, на которые, как правило, интересно отвечать.
Заметка на будущее: имеет смысл начинать разработку с ключевой функции и выделять больше времени на тесты в генеративных проектах.
2. Стоимость генерации
Токены стоят денег, приложение для агентства — PR-проект с неочевидной доходной частью, поэтому пришлось подумать о том, как снизить стоимость генерации, чтобы не огорчить финансовый отдел в случае успеха.
Для этого сделали несколько вещей:
- Поставили ограничение в 50 вопросов на квиз.
- Отправляли все посты из канала одним запросом (а не по запросу на пост, как в прототипе), чтобы не обрабатывать промпт по несколько раз.
- Обрезали текст каждого поста до первых 500 символов на случай, если автор канала любит всё описывать в деталях.
- Использовали GPT-4o mini, который удачно вышел ближе к финальному этапу разработки и снизил стоимость генерации до 6 рублей за квиз.
3. Иллюзия бесконечности
Хотелось, чтобы каждый квиз можно было проходить бесконечно — и соревноваться по количеству правильных ответов подряд. Если вопросов 500, достаточно выдавать их в рандомном порядке, и всё будет хорошо. Если их 50, в случайной выдаче с неприятной частотой встречаются повторы, которые ломают всю магию.
В итоге сделали алгоритм, который управляет вероятностями, с которыми может выпасть каждый вопрос:
- Сначала показываем вопросы, которые пользователь ещё не видел.
- После этого с большей вероятностью выпадают вопросы, которые пользователь видел давно и потенциально успел забыть.
Получился нужный результат — иллюзия бесконечности с ограниченными ресурсами.
Релиз
Все проблемы решили, выпустили приложение. Кто угодно может создать бесконечный квиз по своему каналу и поделиться им с подписчиками. У каждого квиза есть рейтинг: чем больше правильных ответов подряд, тем выше позиция. Одна ошибка — начинаешь заново (но лучший результат сохраняется).
Дальше занялись продвижением, чтобы кто-то приложением воспользовался. Сделали пост в соцсетях агентства и отправились к админам каналов, чтобы они опубликовали квизы и у себя тоже. Оказалось, что авторы — приятные и контактные люди, которые готовы публиковать подобные вещи бесплатно.
Многие проводили у себя конкурсы, чтобы подогреть интерес. Сработало неплохо: например, один из подписчиков на канале Молянова правильно ответил на вопросы 1632 раза (не факт, что честно, но тем не менее) и получил 3-месячную подписку на курс про нейросети (иронично).
Конверсия из просмотра в запуск приложения составила около 3%. В итоге получили 1600 пользователей без особых вложений в продвижение, узнали чуть больше о том, как лучше работать с языковыми моделями, да и просто хорошо провели время. Если хотите, чтобы для вас придумали и реализовали подобный проект или помогли с социальными сетями, пишите нам!