
генерация обучающих материалов на английском языке с помощью ai
Снижение загрузки преподавателей за счёт AI-сервиса Генерация плейлистов и упражнений для учеников Проверка произношения и адаптация материалов
сайт проекта →
react django
менеджер проекта ux/ui дизайнер react разработчик python разработчик QA
май 2024 – ...
Вводные данные
Клиент
Современная школа английского для детей и подростков c сетью филиалов. Школа успешно существует с 2002 года, обучила более 50 000 тысяч студентов, имеет международные сертификаты качества, а также получает высокие оценки на рейтингах и премиях.
Проблема
У клиента возникли трудности с приобщением преподавательского состава к работе с нейросетями, в особенности с ChatGPT для подготовки материала к урокам, а также с самим доступом и использованием ChatGPT на территории РФ. Поэтому у бизнеса и преподавателей имелся ряд целей:
- Бесшовно взаимодействовать с ChatGPT;
- Повысить качество учебного материала и снизить временные затраты на подготовку к урокам;
- Интересно вводить новый материал. Объяснять его понятно и просто, адаптируясь под возраст и уровень учеников;
- Уменьшить время поиска материалов для отработки пройденных обучающих тем.
Задача
Перед командой стояла задача разработать MVP веб-сервиса, интегрированного с ChatGPT API, с помощью которого можно было генерировать качественные материалы для подготовки и проведения уроков максимально простым для пользователей способом - путем выбора готовых вариантов шаблонов с минимальным количеством ручного ввода информации.
Также необходимо было реализовать административную панель, для управления промптами, аналитики запросов к СhatGPT и модерации пользователей.
На момент обращения у клиента уже имелись первичные наработки по реализации данного сервиса, но требовалась компетентная команда, которая сможет реализовать данный продукт до начала нового учебного года в 2024 г.
Выбор стека разработки

Для реализации сервиса были выбраны производительные и гибкие инструменты:
- Для фронтенд части веб-сервиса использовали React, Next, Typescript;
- Для бэкенда Python (Django);
- База данных на Postgresql;
- Также использовали зарубежный VPS (Нидерланды) и интеграцию с API ChatGPT, чтобы сервис был доступен команде клиента без обходных решений на стороне каждого учителя.
Процесс работы
1.Проектирование
Роли пользователей и функционал
С целью адаптации интерфейса под функциональные задачи конкретных специалистов была реализована ролевая модель.
- 1. Преподаватель. Наиболее используемая роль в системе. Главная задача интерфейса для преподавателя — максимальная фокусировка на подготовке к уроку и отсутствие отвлекающих факторов: доступ только к конструктору урока; генерация упражнений, планов уроков и лексических подборок; отсутствие видимости админ-панели и настройки промптов, что упрощало интерфейс и снижало порог входа.
- 2. Администратор/Методист. Данная роль совмещает функции технического управления и управления образовательным контентом: настройка логики генерации; управление пользователями; просмотр статистики и логов запросов; ведение справочников (добавление новых уровней, грамматических тем и тд.).
- 3. Менеджер. Данная роль была внедрена на втором этапе разработки специально для модуля анализа звонков: загрузки записей разговоров; просмотра транскрипций и аналитических отчетов от AI.
2.Разработка

Это основной рабочий инструмент системы, обеспечивающий стандартизацию учебных материалов. Создание промптов с нуля для каждого занятия требует очень много времени и часто приводит к непредсказуемым результатам генерации. Для решения этой проблемы мы разработали интерфейс конструктора с каскадной логикой.
Вместо единого неструктурированного списка настроек реализована система зависимых полей: данные в каждом последующем селекторе фильтруются на основе выбора, сделанного в предыдущем. Это исключает возможность создания методически некорректных запросов.
- Возрастную группу — от этого зависит тон и сложность языка.
- Уровень ученика
- Программу и Unit — система подтягивает конкретную лексику и грамматику, которые сейчас проходят студенты.
- Тип задания и тд.
- Translation exercise — предложения на русском с использованием заданных слов (игнорируя грамматику).
- Open the brackets — упражнения с глаголами в скобках, например: I ___ (play) rugby while he ___ (put on) his boots.
- Multiple choice — тесты с вариантами ответов.
Мы запросили у заказчика типовые запросы учителей и зашили их в предустановленные сценарии. Когда преподаватель выбирает какой-либо параметр, тогда выбор этого параметра меняет структуру системного промпта. Также в ходе обсуждений с клиентом выяснилось, что система должна поддерживать не только стандартные сценарии, но и специфические форматы. Эта гибкость была реализована через параметр TASK TYPE, который не только меняет инструкцию для ИИ, но и определяет формат вывода результата. Для случаев, требующих индивидуального подхода, предусмотрено поле для свободного комментария. Пользователь может указать специфические пожелания, и ИИ перегенерирует результат с учетом этих уточнений, сохраняя при этом заданный методический контекст. Результат генерации выводится в отдельном блоке интерфейса с поддержкой форматирования. Для оптимизации рабочего процесса реализована функция быстрого копирования текста в буфер обмена одним кликом. После заполнения всех параметров система автоматически собирает детализированную инструкцию для ChatGPT.
Вот реальный шаблон, используемый в продакшене:
As a professional and experienced EFL teacher generate sentences, so I could use them in my classes as a {TASK TYPE}. The sentences should be appropriate for {AGE} years old children with {LEVEL} English Level. You should use characters, games and toys popular among children of this age. The sentence should be focused on {ASPECT} drilling. {GRAMMAR} should be a grammar topic used in the exercise. {WORDS} are vocabulary units.
Это административный модуль, который позволяет администраторам управлять логикой генерации без участия разработчиков и быстро улучшать качество промптов.
Вместо единственного жёстко зашитого запроса мы реализовали библиотеку шаблонов. Администратор видит список сохранённых промптов в левой панели и может в любой момент переключаться между ними или создавать новые версии.
Это дает возможность безопасно тестировать изменения на отдельных сценариях и возвращаться к предыдущей версии, если качество генерации ухудшилось.
Ключевая особенность редактора — текст промпта формируется автоматически на основе выбранных параметров.
Пользователь должен выбрать нужные опции в выпадающих списках (возраст, программа, тип задания, этап урока, отработка), и система мгновенно подставит соответствующие инструкции в текстовое поле ниже.
После автоматической генерации методист может вручную отредактировать любую часть текста прямо в поле. Если нужно добавить специфическое требование, методист просто дописывает это в текст. Система сохранит отредактированную версию и будет использовать её для генерации материалов.
Также была реализована система управления значениями, которые влияют на автоматическую генерацию текста промптов. Каждая сущность редактируется через кнопки добавления, редактирования и удаления. Когда методист добавляет новые параметры, эти опции появляются в выпадающих списках в разделе конструктора урока.
Это инструмент для мониторинга и анализа работы системы. Раздел позволяет администраторам отслеживать все обращения преподавателей к ИИ, анализировать паттерны использования и контролировать расходы на API OpenAI.

Каждое обращение преподавателя к системе сохраняется в виде записи с полным контекстом генерации. Таблица содержит детальную информацию о каждом запросе, что позволяет администраторам видеть не только факт использования, но и конкретные параметры работы. Для работы с большими объёмами данных реализована система фильтрации по датам. Администратор выбирает нужный период через календарный интерфейс и получает записи за указанный промежуток времени. Основные возможности:
- Выбор произвольного диапазона дат через date picker
- Кнопка «Экспортировать» для выгрузки данных в файл для дальнейшего анализа
- Возможность формировать отчёты за неделю, месяц или учебный год
Возникшие трудности
- Использование API ChatGPT в России:
- Реализация вложенных списков опций, которые используются в итоговом запросе:
Использование API ChatGPT в России решается арендой зарубежного VPS у провайдера, которого можно оплачивать с российских счетов. Реализация вложенных списков опций потребовала добавить вложенность значений в меню параметров и механизм, который по списку выбранных параметров выдаёт варианты следующих значений. Для этого было построено n-арное дерево из пар «родитель:ребёнок» и написан обход в ширину, собирающий варианты для фронтенда.
Результаты
- Мы разработали минимально жизнеспособный продукт (MVP) веб-сервиса всего за один месяц и сейчас продолжаем сотрудничество с клиентом.
- На данный момент, идёт подготовка к началу учебного года, в течение которого сервис будет проходить проверку гипотезы с основной целевой аудиторией (преподаватели английского языка).
«Выражаем благодарность команде flaton за качественную и оперативную разработку сервиса. Хотелось бы выделить тщательную проработку требований и консультацию по любым вопросам касательно, как лучше реализовать определенные моменты. Самое главное, уложились в ограниченный, для MVP, бюджет проекта» — Константин Евсеев, CEO Planet English.



