снижение загрузки преподавателей за счет разработки веб-сервиса
внедрение ИИ-анализа звонков менеджеров
оптимизация AI-запросов и уменьшение задержки
снижение загрузки преподавателей
внедрение ИИ-анализа звонков менеджеров
оптимизация 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 в России:

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

  • Реализация вложенных списков опций, которые используются в итоговом запросе:

Вышло так, что в текущее меню параметров нужно было добавить вложенность их значений (Как пример хлебные крошек или вложенное меню). Также для фронтенда требовалось сделать механизм, позволяющий получить по списку выбранных параметров - варианты выбора следующих значений.

Получилось, что из значений параметров получилось n-нарное дерево, состоящее из пар {родитель:ребенок}. Под это дерево был написан обход в ширину, собирающий варианты выбора значений и передающих эти варианты на фронтенд.

Результаты
  • Мы разработали минимально жизнеспособный продукт (MVP) веб-сервиса всего за один месяц и сейчас продолжаем сотрудничество с клиентом.
  • На данный момент, идёт подготовка к началу учебного года, в течение которого сервис будет проходить проверку гипотезы с основной целевой аудиторией (преподаватели английского языка).
«Выражаем благодарность команде flaton за качественную и оперативную разработку сервиса. Хотелось бы выделить тщательную проработку требований и консультацию по любым вопросам касательно, как лучше реализовать определенные моменты. Самое главное, уложились в ограниченный, для MVP, бюджет проекта»
Константин Евсеев
CEO, Planet English
react
Встраиваемый интернет-магазин платформы для корпоративных соцсетей
подробнее
react
go
P2p биржа
для обмена
криптовалютой
подробнее