Как мы использовали нейросеть для разработки обучающего курса

Делимся опытом: результаты, сюрпризы, проблемы, советы.

Как мы использовали нейросеть для разработки обучающего курса

Меня зовут Иван Костык, я директор по продуктовому менеджменту в Т1 Цифровой Академии (Холдинг Т1).

Мы работаем в EdTech в сфере b2b и делаем курсы для тех, кто работает с кодом.

В начале 2022 года мы решили попробовать нейросети как один из инструментов создания обучающего курса, чтобы проверить, какой объём работ можно доверить искусственному интеллекту без потери качества.

Когда мы исследовали, чем может помочь нейросеть разработчику, заметили, что ряд задач при разработке содержит рутинные процессы, которые уже умеет делать GPT.

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

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

Часть прототипов и MVP мы тоже можем переложить на нейросети, чтобы сократить ценник и TTM.

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

Спойлер: нейросеть, конечно, молодец, но за ней нужен глаз да глаз.

Нейронные сети и EdTech

В нашем случае мы разделили разработку курса на 4 этапа:

  • Сбор требований.

  • Проектирование карты курса.

  • Выбор визуального стиля.
  • Написание контента.

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

Инструменты на основе нейронных сетей, которые мы использовали

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

Для основных запросов мы использовали ChatGPT-4. С помощью ChatGPT-4 разрабатывали сценарии и CJM — визуальные схемы, на которых в виде блоков отображается как обучающиеся помодульно взаимодействуют с обучением. Допиливали при помощи Notion AI — здесь все запросы или промпты (prompt) рекомендуется писать на английском языке. Для создания визуальной части использовали Midjourney. Она помогала нам разрабатывать элементы дизайна, шаблоны сайтов, персонажей и так далее. Midjourney можно использовать только на личном устройстве и небесплатно.

Как это происходило на каждом этапе

Сбор требований

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

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

Чтобы заново не придумывать вопросы под заказчика, мы воспользовались помощью нейронки. Мы загрузили в нейросеть полное описание ситуации, а она выдала вопросы, которые стоило задать во время кастдева, причём для разных типов целевой аудитории.

Кастдев мы провели и с результатами возвратились в команду. Мы уже понимали нашу целевую аудиторию, их основные боли и то, что им хотелось бы видеть в образовательном решении.

И с этим вышли на следующий этап взаимодействия с нейронкой, чтобы спроектировать образовательное решение.

Проектирование карты курса

После того как мы локализовали проблемы, мы пошли в проектирование SJM (Student Journey Map) при помощи ChatGPT-4. Самое важное в этот момент — скормить нейросети все основные элементы будущей карты курса, объяснить важность каждого пункта и связи между ними. Затем необходимо описать смысл курса и перенести основные проблемы, выявленные на предыдущем этапе.

Мы всё это сделали и визуализировали получившийся результат в FigJam для дальнейшего согласования с заказчиком плана курса и проработки деталей.

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

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

Выбор визуального стиля

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

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

Когда определена концепция — снова привлекается нейросеть, чтобы сгенерировать уже итоговый вариант.

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

Как мы использовали нейросеть для разработки обучающего курса
Как мы использовали нейросеть для разработки обучающего курса

Пилотный проект показал, что экономия времени и ресурсов весьма существенная.

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

Подготовка контента

После согласования дизайн-концепции и контент-плана мы пошли в проработку контента.

При работе над сценарием нейросеть тоже может помочь: наполнить текстом, отредактировать. Например, эксперт-разработчик готовит презентацию о многопоточности и реактивном программировании на Java. И делает он это на своём техническом языке, да ещё иногда не сильно дружит с русским. Нейросеть сделает речь более понятной и интересной, обогатит её и как редактор, и как «соавтор».

Другой пример. Бывает, для курса нужен практикующий эксперт, который действительно грандиозный специалист в технологиях, но не любит или не умеет общаться, сниматься на видео. Мы можем «вытрясти» из нашего технологического гуру его знания и записать их с помощью виртуального аватара.

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

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

Мы разработали несколько шаблонов промптов, которые нам помогали проектировать контент от общего к частному. Вот несколько примеров, которые можно использовать как шаблоны:

Примеры запросов к нейронной сети

Покажу несколько запросов (промптов), которые мы использовали на каждом этапе при разработке учебного курса.

При общении с нейросетью мы исходили из следующих принципов:

  • обязательное структурирование промпта: role > task > instruction;

  • более развёрнутая структура: role — learners’ characteristic — instructional strategy — title & topic —example — task — output;

  • регулярное повторение ключевых слов;
  • дробление задачи на череду небольших шагов.

Промпт для написания целей:

Generate/edit ___ objectives that are specific, action-orientated & measurable using the following format:

“You will demonstrate that you can X [verb — recall, understand, evaluate, analyze, create] Y [concept or skill] by Z [description of what the learner will do to demo success]”.

Review these objectives and edit them so that a maximum of 20% contain the lower order verbs «remember” & “understand”, at least 80% contain the higher order verbs “evaluate”, “apply”, “analyze” & “create”. Develop evaluation criteria. Describe the four skill levels for each task to show students how their performance will be measured.

Алгоритм для написания учебной программы:

  1. Разработать учебные цели.
  2. Определить предпочитаемую педагогическую стратегию.
  3. Create a course outline which will achieve these objectives ___. Use defined strategy _____.
  4. Добавить дополнительные параметры (add additional parameters): учебные часы, обучающая платформа, форматы контента и т.д.
  5. Apply strategies like recall practice, interleaving, spaced practice & varied repetition to drive motivation & mastery across the end-to-end experience.

Алгоритм оптимизации учебной программы:

  1. Загрузить данные, вопросы и обратную связь из курса.
  2. Summarize the data into key messages & themes.
  3. Загрузить учебную программу.
  4. Identify opportunities to make this experience more learner-centred, based on your insights.
  5. Use this data to define my learners’ Zone of Proximal Development & design within it.

Промпт для работы со структурой занятия:

Я хочу, чтобы ты выступил в роли создателя образовательного контента. Тебе нужно будет создавать увлекательный и информативный контент для учебных материалов, таких как образовательные курсы, занятия и конспекты лекций. Мой первый запрос на предложение:

  1. Мне нужна помощь в разработке плана урока по [название модуля] для [описание целевой аудитории].
  2. В данном уроке должны быть раскрыты следующие темы: [список тем с подтемами или вопросами для обсуждения].
  3. Также для данного урока необходимо разработать практическое задание, которое будет в конце урока. Оно должно логически вытекать из теоретического материала. Вот основа для разработки практического задания: [содержимое из блока методов оценивания]. Формат методического задания: [описать формат — кейс/тест и т.д.].
  4. Учти, что длительность изучения студентом теоретической части не должна превышать [Х] минут, а практическая часть должна проходить средним учеником за [У] минут.
  5. Важно поработать с мотивацией нашего студента, важно, чтобы он: [список мотиваторов из SJM].

Промпт для работы с раскрытием темы в Х слайдах:

  1. Мне нужна помощь в создании содержимого для слайдов в уроке по [название модуля].
  2. Тема для раскрытия: [тема для раскрытия].
  3. Тип слайдов: [теоретический или практический].
  4. Вот основные пункты, которые должны быть раскрыты в этой теме: [список ключевых пунктов или вопросов для обсуждения].
  5. Если это практические слайды, вот задание, которое должно быть выполнено: [описание задания].
  6. Учти, что общее время, необходимое для изучения всех слайдов, не должно превышать [Z] минут.
  7. Важно, чтобы слайды были мотивирующими для студента, вот как это можно сделать: [список мотиваторов из SJM].

Я хочу, чтобы ты представил результат своей работы в виде следующих элементов для каждого слайда: Номер слайда | Текст на слайде | Графика или схема на слайде | Дополнительные материалы или ссылки для изучения (если применимо) |

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

Промпт для работы с каждым конкретным слайдом:

  1. Мне нужна помощь в создании содержимого для слайда [номер слайда] в уроке по [название модуля].
  2. Тема слайда: [тема слайда].
  3. Тип слайда: [теоретический или практический].
  4. Вот основные пункты, которые должны быть раскрыты на этом слайде:

    4.1. Определение роли бизнес-аналитика: ключевые обязанности, способности и навыки.

    4.2. Значимость бизнес-аналитика в команде и проектах.

    4.3. Быстрый кейс или пример реальной ситуации для демонстрации важности роли.

  5. Учти, что время, необходимое для изучения слайда, не должно превышать 2–3 минут.

  6. Важно, чтобы слайд был мотивирующим для студента, вот как это можно сделать: [список мотиваторов из SJM].

Я хочу, чтобы ты представил результат своей работы в виде следующих элементов: Текст на слайде | Графика или схема на слайде | Дополнительные материалы или ссылки для изучения (если применимо) |

Промпты для графики:

Для генерации интерфейса:

UI Design of Scented Candles, Landing page, Minimalistic, Elegant, Dreamy Pastel Color Palette, High Resolution — ar 4:3 — v 5

Для генерации интерфейсных элементов:

illustration, icon, simple, in blush illustration style of blockchain network, minimalistic, cryptocurrency symbols, Bitcoin symbol, blockchain, code, blue tones, soft, web3 development –no background –upbeat

Для генерации арта:

two men, brothers, one man has hair, arguing outside a house on a patio, 1980, realistic arms, vintage photograph, flash photography

Сюрпризы и проблемы при работе с нейронной сетью

Мы хотели сделать всё как можно быстрее, но недаром говорят: «Поспешай медленно».

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

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

Были и приятные сюрпризы. Например, мы думали, что нейросеть не сможет сгенерировать CJM (Customer Journey Map), т.е. схему, которая показывает, как пользователь будет проходить по модулям нашего курса. Мы скормили ей все основные элементы будущей CJM, объяснили важность каждого и связей между ними. Думали, что она потеряет логику в такой большой программе — ведь контент модулей да и сами форматы разные. Плюс ещё входное и выходное тестирование, а ещё необходимо учитывать условие попадания в группу по баллам. Мы беспокоились, что всё это нейросеть «в голове» не удержит и точно где-нибудь запутается, как с изображениями. Однако, как только мы научились правильно составлять запросы, всё срослось.

Плюсы и минусы работы с нейросетью

В первую очередь очевидна экономия за счёт того, что наши дорогостоящие специалисты не сидят над рутинными задачами. Их делегируют нейросетке, а человек только проверяет результат. Это похоже на то, как тимлид ставит задачу джуну, причём определёнными словами и используя определённый синтаксис, а тот за него делает какие-то базовые вещи. За ним, конечно, надо следить, проверять его работу, чтобы в «коде» не было ошибок. Может оказаться, что задание было понято неверно или молодой разработчик нашёл непроверенную статью и взял оттуда кусок уязвимого кода. Но зато большие объёмы простой базовой работы уже можно на него переложить.

Очевидна прибавка в скорости. Машина сделает задачу в тысячу раз быстрее при условии, если мы ей всё правильно объяснили. За счёт этого снижается Time To Market разрабатываемого продукта, тем самым увеличивается прибыль. Освободившееся человеческое время можно перенаправить на другие проекты.

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

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

Но автоматизация на основе нейросетей пока не способна полностью заменить специалистов, которые работают над продуктами. Просто потому, что результаты работы нейросети нужно проверять и оценивать. И сделать это может только человек. Да и сложную работу ей пока не стоит доверять.

Несколько советов

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

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

Midjourney часто добавляет в картинку много маленьких деталей и текста, который создаёт шум и не пригоден для реального использования. Для уменьшения количества текста можно использовать атрибут — no words, но он не всегда работает. Поэтому перед масштабированием концепции нужно причесать изображение в программе Krita или любом другом аналоге фотошопа.

Что касается Notion AI — всё, что эта система делает, можно сделать и в ChatGPT-4, но это будет сильно дольше и не так удобно. Основной плюс Notion AI — в ней можно работать с каким-то конкретным элементом текста. А в ChatGPT нам всегда приходится генерировать по новой весь текст целиком.

Вот основные полезные функции Notion AI, которыми я пользовался:

  1. Improve Writing — улучшает написанный текст, убирает ненужную пунктуацию и пытается модифицировать структуру предложений.
  2. Make Shorter, Make Longer — одни из самых крутых функций. Через них можно увеличить или уменьшить выбранный текст, тем самым попытаться ужать или развернуть мысль более глубоко.
  3. Change Tone — помогает изменить тон текста, сделать его более формальным, неформальным, весёлым и т.д.
  4. Simplify language — помогает упростить содержание текста.
  5. Explain this — объясняет выбранный элемент текста, помогает, когда в тексте есть неизвестные термины или в целом нужно сделать текст длиннее.
  6. Continue writing — одна из самых полезных функций, когда вам нужно получить больше «мяса», из которого можно выбрать нужную информацию.

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

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