Сделали мини-приложение для Телеграма, которое генерирует нейросетевые квизы по контенту каналов

Рассказываем, как экспериментировали с языковыми моделями, чтобы сделать забавный проект для социальных сетей.

Сделали мини-приложение для Телеграма, которое генерирует нейросетевые квизы по контенту каналов

Привет! Это Дима, партнёр в рекламном агентстве Виноу. Недавно я запустил мини-приложение, которое генерирует квизы по контенту телеграм-каналов, и сейчас расскажу о процессе и результатах.

Прототип на коленке

Весной 2023 года мы в агентстве запустили телеграм-канал Виноудельня, чтобы делиться полезными советами и объяснять принципы работы для новичков в рекламной индустрии. Посты писали по очереди разные сотрудники агентства, я в том числе.

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

Концепт был такой: выкачиваем все посты из канала, отправляем их в GPT-3.5 Turbo с промптом уровня «сделай квизовый вопрос по тексту ниже», генерируем таким образом 500 вопросов и заворачиваем их в простой веб-сервис, чтобы можно было поделиться публично. Для последнего этапа, кстати, отлично подходит bubble.io — можно за пару часов собрать несложный прототип.

Прототип собрал целых 15 лайков в канале, пару десятков сообщений в рабочем чате и около 100 пользователей — для нишевой шутки на пару часов работы в целом неплохо.

Сделали мини-приложение для Телеграма, которое генерирует нейросетевые квизы по контенту каналов

Мини-приложение

Через несколько месяцев на одном из креативных штурмов подумали, не сделать ли в рамках этого концепта мини-приложение в Телеграме, чтобы генерировать такие квизы по любым каналам. Докрутили идею и отправились делать вместе с партнёрами по разработке.

Создать приложение для Телеграма — достаточно понятная задача, сложностей не возникло. А вот сделать ключевую функцию — генерацию смешных квизов, которые интересно проходить — оказалось удивительно непросто. Пришлось придумать, как усидеть на трёх стульях: делать интересные вопросы, оставаться в рамках бюджета и создавать иллюзию бесконечности квиза.

1. Интересные вопросы

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

Строить сложную агентную систему и подстраивать генерацию под стиль канала — долго и дорого, поэтому нужно было собрать универсальный промпт. Для этого я взял 15 разноплановых каналов и двигался небольшими итерациями: редактировал части промпта, запускал генерацию по всем квизам из выборки, оценивал результат. Через несколько десятков подходов получилось нечто похожее на правду — лаконичные вопросы по теме, на которые, как правило, интересно отвечать.

Иногда нейросеть генерирует странные вопросы, но это делает процесс только смешнее
Иногда нейросеть генерирует странные вопросы, но это делает процесс только смешнее

Заметка на будущее: имеет смысл начинать разработку с ключевой функции и выделять больше времени на тесты в генеративных проектах.

2. Стоимость генерации

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

Для этого сделали несколько вещей:

  1. Поставили ограничение в 50 вопросов на квиз.
  2. Отправляли все посты из канала одним запросом (а не по запросу на пост, как в прототипе), чтобы не обрабатывать промпт по несколько раз.
  3. Обрезали текст каждого поста до первых 500 символов на случай, если автор канала любит всё описывать в деталях.
  4. Использовали GPT-4o mini, который удачно вышел ближе к финальному этапу разработки и снизил стоимость генерации до 6 рублей за квиз.

3. Иллюзия бесконечности

Хотелось, чтобы каждый квиз можно было проходить бесконечно — и соревноваться по количеству правильных ответов подряд. Если вопросов 500, достаточно выдавать их в рандомном порядке, и всё будет хорошо. Если их 50, в случайной выдаче с неприятной частотой встречаются повторы, которые ломают всю магию.

В итоге сделали алгоритм, который управляет вероятностями, с которыми может выпасть каждый вопрос:

  1. Сначала показываем вопросы, которые пользователь ещё не видел.
  2. После этого с большей вероятностью выпадают вопросы, которые пользователь видел давно и потенциально успел забыть.

Получился нужный результат — иллюзия бесконечности с ограниченными ресурсами.

Релиз

Все проблемы решили, выпустили приложение. Кто угодно может создать бесконечный квиз по своему каналу и поделиться им с подписчиками. У каждого квиза есть рейтинг: чем больше правильных ответов подряд, тем выше позиция. Одна ошибка — начинаешь заново (но лучший результат сохраняется).

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

Многие проводили у себя конкурсы, чтобы подогреть интерес. Сработало неплохо: например, один из подписчиков на канале Молянова правильно ответил на вопросы 1632 раза (не факт, что честно, но тем не менее) и получил 3-месячную подписку на курс про нейросети (иронично).

Главная польза для авторов каналов — развлечение для подписчиков
Главная польза для авторов каналов — развлечение для подписчиков

Конверсия из просмотра в запуск приложения составила около 3%. В итоге получили 1600 пользователей без особых вложений в продвижение, узнали чуть больше о том, как лучше работать с языковыми моделями, да и просто хорошо провели время. Если хотите, чтобы для вас придумали и реализовали подобный проект или помогли с социальными сетями, пишите нам!

5
Начать дискуссию