Учитель кода: в России создали виртуального преподавателя-программиста
Российские ученые создали сервис, способный научить людей программированию, оценить навыки и подсказать, в каком направлении следует двигаться дальше, рассказали «Известиям» авторы проекта. Сейчас виртуальный учитель информатики уже способен анализировать код на одном из языков. Кроме того, разработан сайт, где можно разобрать более 7 тыс. задач. Эксперты отмечают, что задумка разработчиков выглядит интересной, но на данном этапе она не способна заменить преподавателей вузов.
Виртуальный преподаватель
В МГТУ им. Н.Э. Баумана совместно с Московским физико-техническим институтом создали виртуального преподавателя информатики — сервис для изучения программирования на практике с помощью искусственного интеллекта, рассказали «Известиям» авторы проекта. Сейчас платформа проходит внутреннее тестирование в МГТУ, в дальнейшем разработчики планируют ее применять и в других вузах.
— Когда пользователь решает задачу в области программирования, сервис анализирует исходный код решения с помощью нейросети, преобразуя его в вектор в многомерном пространстве. Так платформа понимает, какие алгоритмы использовал студент в конкретной задаче и на каком уровне они реализованы, — рассказал «Известиям» создатель проекта Роберт Хажиев.
На основе совокупности решений, количества попыток и других факторов ПО выстраивает карту знаний пользователя и выявляет слабые места. Далее алгоритм рекомендует релевантные по сложности задачи либо на изучение новых тем, либо на закрепление старых, тем самым составляя персональную образовательную траекторию, отметили авторы проекта.
На сайте представлено более 7 тыс. задач по более чем 30 различным темам. Благодаря этому пользователь может выбрать нужную под себя, а рекомендательный алгоритм способен построить непрерывный и последовательный путь обучения для любого студента. Кроме того, доступны и тренировки по спортивному программированию, рассказали авторы.
— В данный момент сервис принимает решения только на С++ (один из самых популярных языков). Нередко его выбирают в качестве первого языка из-за возможности использовать разные парадигмы программирования. Однако в будущем планируется добавить поддержку Python, Java, C# и других, — сказал Роберт Хажиев.
По словам разработчиков, на платформу можно зайти как с компьютера, так и с телефона. В мобильной версии сайта доступны просмотр задач, оценка уровней сложности и рекомендаций, а также добавление в избранное, позволяющее выбирать задачи на будущее. В дальнейшем планируется добавить игровые элементы, чтобы упростить понимание того, как правильно писать программы.
Будет ли виртуальный программист востребованным
Тренд на использование LLM (языковых моделей, обученных на огромных объемах данных. — «Известия) в преподавании очевиден и обоснован: большие лингвистические модели эффективны при решении широкого круга задач. Это объясняет рост числа новых разработок в этой области, сказал руководитель отдела разработки Content AI Александр Субботин.
— При этом команда должна грамотно оценить риски и спрогнозировать вероятные технические трудности, которые придется преодолеть перед запуском. Если брать текущие доступные модели типа ChatGPT для решения конкретных задач и не дообучать их на специализированной тематической выборке, то они будут выдавать пустые, неконкретные советы, — отметил специалист.
Сегодня появляется софт, который успешно борется с ложными ответами, но и он обладает определенными ограничениями. Решение задач в области обучения программированию — большой вызов для студенческой команды, и ее успешность будет зависеть от технических компетенций, сказал Александр Субботин.
— Такой виртуальный преподаватель очень пригодится тем, кто только начинает учиться программировать. Часто бывает, что у студента не получается решить задачу, и он еще не владеет материалом достаточно, чтобы понять, где у него пробелы в знаниях, а рекомендация, как работать дальше, поможет сдвинуться с мёртвой точки и сэкономить много времени на поиске нужных сведений в литературе и Сети, — рассказал «Известиям» старший преподаватель РЭУ имени Плеханова и Московского политехнического университета Алексей Денисов.
Что касается спортивного программирования, то там классы задач очень разные. И такой интеллектуальный помощник, способный разбирать код и пояснять ошибки, будет очень полезен, подчеркнул преподаватель.
— Внедрение искусственного интеллекта в образовательный процесс неизбежно. Разработка МФТИ представляется весьма действенным средством поддержки. Особенно это касается области индивидуальных образовательных траекторий или дистанционного обучения, когда студенты из отдаленных регионов или других стран учатся в крупнейших вузах и имеют лишь периодический контакт с преподавателем, — отметил доцент департамента стратегического и инновационного развития Финансового университета Михаил Хачатурян.
Такое решение может быть эффективным не только в изучении программирования, но и в гуманитарном образовании. Разумеется, полностью заменить контакт с преподавателем оно не сможет, но способно взять на себя решение рутинных задач, резюмировал он.