Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Що вміють AI-тулзи для автоматизації процесів. Досвід Edtech-стартапу

Усі статті, обговорення, новини про AI — в одному місці. Підписуйтеся на DOU | AI!

Усім привіт! Я Вадим Ільченко, Lead Software Engineer в Mate academy. Ми Edtech-стартап, даємо змогу людям вивчати програмування та опановувати IT-професії. Я дуже задоволений, що процеси в компанії дозволяють розробникам експериментувати і приходити зі своїми ідеями.

Раніше у блозі на DOU наш CEO Роман Апостол розповідав, що багато рішень в нас ідуть «знизу догори» і в людей є свобода дій. Ми спробували, отримали результат, вирішили включати це в наші процеси.

Так сталось і з імплементацією AІ у наші навчальні процеси, тож далі спробую поділитись нашим досвідом використання ChatGPT на LMS-платформі.

Передісторія

AІ — це майбутнє, яке вже стало реальністю. Великі компанії, великі індустрії вже неможливі без штучного інтелекту. Це технологія, яка стає комодіті. Її не можна забороняти, а навпаки, треба навчитись використовувати та керувати нею. Принаймні, такого принципу ми дотримуємось у своїй роботі.

Якщо говорити про AI рівня ChatGPT, то такі рішення ми в роботі не використовували. Тренування модельки такого рівня вимагає дуже багато ресурсів і, разом з тим, у нас не було конкретної проблеми, яку ми б могли вирішити через LLM.

Говорячи про ML загалом, у нас є homegrown рішення для перевірки вакансій для наших студентів. Ми збираємо вакансії з різних ресурсів, далі моделька їх пропускає або відхиляє в залежності від того, чи підходить вакансія нашим випускникам. Якщо все добре, далі вакансія потрапляє в кабінет до студента.

Також пробували будувати модель для перевірки технічних знань студентів, але проєкт тоді поставили на «холд» і далі стадії «proof of concept» він не пішов.

Залучення ChatGPT

У нас ніколи не було цілі «замінити» людей машинами, але є ціль підвищувати продуктивність працівників і студентів. Це як з автокомплітом в IDE, де ти оптимізуєш витрати часу.

З появою ChatGPT, який може дати відповідь на більшість запитань, мій колега Python Developer Данило Тютюшкін запропонував повернутись до ідеї перевірки технічних знань студентів — автотехчеків. Ми спробували порівняти відповідь студента з відповіддю AІ — і це спрацювало, згаданий вище проєкт «ожив».

Наступні ітерації — допомога менторам з code review та AІ-асистент для студентів, що проходять базові безкоштовні курси. Крім того, у всіх згаданих вище процесах продовжують брати участь люди. Вони залишаються ключовою ланкою в процесі навчання студентів.

Code review домашок

Щоб оптимізувати операційну роботу, ми вирішили реалізувати асистента для ментора, який залишає «pending» коментарі до pull request’ів студентів. З корисних покращень — ChatGPT дуже добре бачить помилки в написанні змінних, може порадити кращий неймінг, також допомагає з рефакторингом логіки чи написанням якіснішого коду.

У менторів є власний розділ на платформі, де вони роблять рев’ю домашки студентів. Тут в GitHub задачах з’явилась кнопка «Review with AI»:

Після її натискання на GitHub створюється pending review. Зміни з pull request’у передаються в ChatGPT, який відповідає нам, що не так з кодом, і вже коментарі від модельки пушаться назад в GitHub до pending review.

Тут же можна побачити, як моделька зрозуміла контекст задачі і які ключові речі з чек-листів вона хоче бачити в імплементації.

Після завершення «AI review» ментор переходить на GitHub і вже там закінчує перевірку. Як бачимо, навіть з рядками, до яких залишаються коментарі, моделька чудово впоралась.

Нюанс імплементації: ми порівнювали моделі GPT-3.5 та GPT-4 і остання працює суттєво краще. GPT-3.5 могла залишати 40 коментарів до невеликого PR’у, з яких релевантних не більше 20%. З GPT-4 релевантність коментарів виросла до 60%+. Проте все одно наприкінці ментор, який знає студента і знає, про що ця задача, може побачити більш узагальнений вигляд цього pull request і дати якісніше review.

Також ми дали модельці більше контексту про наші внутрішні процеси. Умовно, якщо вона робить code review, то ми надаємо контекст про умову задачі і важливі пункти з чек-листа, які мають бути реалізовані при виконанні. Тобто ChatGPT виконує загальну задачу, але з доданим нами контекстом він реалізує це краще, ніж вона б працювала в загальному.

Дисклеймер: AI допомагає детальніше перевіряти код, але останнє слово за людиною, адже ментор все одно має узгоджувати те, що згенерував ChatGPT. Тобто далі після «асистента» ментор проводить власний code review, залишає додаткові коментарі, де це потрібно, та приймає рішення про «approved» чи «rejected» роботи.

Результат: попри те, що зараз потрібно почекати, поки GPT порев’ювить код і потім ментор сам перевірить роботу — на деяких задачах нам вже вдалось скоротити час на перевірку.

Щодо якісної сторони: студенти отримують розгорнутіші коментарі. Для прикладу, коли людина перевіряє 50 однакових робіт за день, її увага може банально замилюватись і пропускати незначні помилки. В AІ з цим проблем немає. Йому завжди ок написати щось типу «ось тут ти назвав змінну women, а зберігаєш тільки імена жінок, давай перейменуємо на womenNames» скільки завгодно разів.

AІ-асистент для студента

Ще одна з фіч, яку ми додали на платформу: AІ-асистент для студентів на базовому курсі. Коли студент робить помилку при вирішенні задач на платформі, з’являється кнопка «Отримати поради від AI».

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

Якщо після запуску коду він не проходить тести, з’являється кнопка «Отримати допомогу від AI», яка генерує пораду на основі поточного коду і умови задачі.

Що мене здивувало, так це факт, що моделька розуміє навіть таблиці в markdown синтаксисі. Тут вона розпарсила умову задачі і підказує, що треба використати колонку date_of_dismissal:

Якщо ж ви спробуєте запитати щось, що не належить до умови задачі, моделька може «накричати» :)

Нюанси імплементації: перша ітерація була досить цікава, бо AІ буквально повертав код, який можна вставити в редактор, і цей код проходив тести. Тому ми «підкрутили» запит, щоб AІ направляв, в яку сторону думати і на що звернути увагу, а не повертав готове рішення.

Дисклеймер: AІ-асистент допоможе людям пройти базовий курс на 100%, але при цьому не можна сказати, що ми отримаємо гірших студентів, оскільки залишається співбесіда з інтерв’юером, лайвкодінг, тож процес відбору ніяк не змінюється. Крім того, в кандидатів залишається можливість поставити запитання в sandbox-чаті.

Трохи інсайтів з аналітики: Більш ніж половина тих, хто проходить базовий курс, спробували AI-асистента. І це співвідношення росте. У людей є можливість оцінити відповідь і 80%+ оцінок зараз позитивні. Ми працюємо над тим, щоб рейтинг був 90%+. У середньому 1 людина користується тулзою 20+ разів на тиждень, тобто ця «фіча» дійсно корисна людям і вони повертаються до її використання.

Те, що людина може швидше отримати фідбек на свою роботу і швидше може рухатись — це суттєво бустить її перформанс. З ключових бізнес метрик — глибина проходження базових курсів, як і фінальна конверсія, росте.

P.S. Якщо хтось захоче потестити цього віртуального асистента, вам треба через сайт відкрити курси повного дня і зареєструватись — все, ви на платформі з базовим курсом та АІ-асистеном.

Автотехчеки

Також у нас є ще третя тулза на базі ChatGPT — автотехчеки. Це автоматизована перевірка знань для тренування студентів, щоб допомогти їм навчитись правильно відповідати на запитання. Адже, які б круті технічні знання студент не мав, якщо він не зможе пояснити їх словами, то, скоріш за все, він провалить співбесіду.

Завдяки AІ ми організували цей процес тренування. AІ-тулза не просто слухає, а ще й пояснює, що можна зробити краще.

За цією ідеєю та імплементацією автотехчеків стоять Full Stack Developer Павло Тимофєєв і Python Developer Данило Тютюшкін. У цьому матеріалі для DOU хлопці вже давали невеличкий коментар про те, як Mate academy використовує автотехчеки. Наразі колеги аналізують статистику, допрацьовують баги, які виникають у процесі використання автотехчеків студентами і, сподіваюсь, згодом більше розкажуть про свій досвід аудиторії DOU.

Люди проти машин: навіщо тоді ментор/ людина

Якщо AІ робить code review студентів та репетирує з ними питання для співбесіди, то навіщо тоді ментор? Так, це дуже класна тулза. Але як я і писав, її головна задача — оптимізувати, автоматизувати роботу та зробити нас продуктивнішими, а не замінити.

Безумовно, через AІ існує ризик виникнення певних обмежень для існуючих професій, однак я б краще акцентував на тому, що будуть виникати і нові професії. Впевнений, що ChatGPT не замінить девелоперів чи дизайнерів, але девелопери, які використовують ChatGPT — замінять девелоперів, які не вміють ним користуватись.

Банальна аналогія: якщо ви вмієте користуватись code editor — ви заміните людей, які по хардкору сидять в блокноті і кажуть, що батько мій писав в блокноті, я пишу в блокноті і діти мої писатимуть в блокноті. І це — ключова концепція, що ті, хто вмітиме використовувати AІ — замінять тих, хто не вмітиме.

Приміром, найвідоміша річ для кодерів зараз — це, мабуть, GitHub Copilot. Спочатку я скептично до нього ставився, ніби ж, вмію код писати, не розумів, чим він мені допоможе. Зараз я бачу, що він дуже добре закриває рутинні задачі. Написати якусь допоміжну функцію, покрити код тестами, зробити «рутинну» CRUD-операцію — він робить це за одне натискання на «tab». А у мене з’явилось більше часу для «цікавіших» речей.

Звісно, він не замінює людину, але як асистент працює на відмінно. Щодо користі для компанії — зараз ми купуємо корпоративну підписку на copilot всім працівникам, які пишуть код.

Що може непокоїти: як і будь-яким інструментом, AІ треба вміти користуватись. Це як з гуглінням. Якщо ви не вмієте цього робити, навряд чи ви отримуватимете релевантні результати.

Також важливо розуміти, що AІ не можна сліпо довіряти. Він може підштовхнути до рішення, дати поради, але він не напише за вас статтю, не створить програму, не вирішить проблему. Це — асистент, але не заміна живій людині.

Чого слід остерігатись

Будь-яка технологія чи тулза може потрапити не в ті руки. На щастя, з ChatGPT це фізично обмежено. Своєю чергою ми проганяємо контент наскільки він polite/ impolite, модеруємо загалом. Якщо умовно студент в базовому курсі напише щось інше замість коду, програма видасть — сорян, так не можна говорити. На скрінах вище теж показував це як приклад.

Щодо безпеки. Якщо ви не будете передавати секретні ключі чи персональні дані в Open AI, то за їх витік можна не хвилюватись. Приміром, ми розуміємо, що люди можуть переживати за захист персональних даних, тому наголошуємо, що в наших процесах персональні дані користувачів не передаються сторонньому сервісу. Єдине, що ми передаємо, це код студента чи надиктовану відповідь.

Що маємо у підсумку

Ось цей зовнішній коментар з сайту DOU від Івана Цимбалюка (Іване, сподіваюсь, ти не проти, що я його заскрінив) дуже влучно передає ціль нашого використання AІ.

Загалом ChatGPT — це дуже потужний інструмент, який відкрив можливості, про які раніше ми не могли мріяти. Його буквально всюди інтегрують. Навіть Grammarly вже дозволяє «перефразувати» ваш текст чи змінити tone of voice за допомогою ChatGPT. І все це безкоштовно, хоча раніше було доступно тільки в платній версії.

В Sentry (інструмент для моніторингу помилок) з’явились підказки від AІ, який з тексту помилки і stacktrace генерує поради, як ці помилки виправити. У GitHub працюють над «Сopilot X». Ми тестуємо його на репозиторіях, і він генерує гарні вірші в описі наших PR’ів.

👍ПодобаєтьсяСподобалось29
До обраногоВ обраному10
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Крута стаття! Ви молодці!

Стикалися з проблемою перевищення ліміту запитів до GPT по API, таймінгами? Цікаво, як виришіли її

В якийсь момент ми почали виходити за дефолтний хард ліміт по грошах (вроді $120). Для мене було неочевидно, що для підвищення ліміту треба прямо в сапорт писати, але проблему швидко вирішили. Це загалом все. Щодо рейт лімітів — в нас платний акаунт з доступом до GTP-4 і там досить високі рейти, за які складно вийти нашим сетапом.
Проблема швидкості відповіді від OpenAI поки залишається, те ж код рев’ю займає ~1хв. AI підказка студенту — ~10с. Але зараз всюди так, тому поки робимо файні анімації на завантаження :)

Дуже круто, що ви експериментуєте з різними версіями ChatGPT, адже судячи з результатів це дійсно допомагає оптимізувати виконання рутинних задач. Так тримати, Mate Academy! Дякую за корисний огляд та змістовну статтю!:-)

AI не є ідеальною машиною і теж робить дуже багато помилок. Просто питання чи ви зможете їх виявити. Ця тулза допомагає нам в роботі, але аж ніяк не заміняє нас. Ми ще довго будемо жити у світі, де роботи не можуть замінити людський ресурс. Принаймні наше покоління цього не застане точно.

100% там забагато помилок і неточностей навіть в gpt-4. AI дуже добре працює як асистент, а не як заміна. Підштовхнути до рішення, щось підказати — топ. Розраховувати, що нас це замінить — поки рано.

Щодо виявлення — ми не перекладаємо навчання повністю на AI і не задіюємо його в критичних процесах. Люди все ще тут :)

Дякую за дуже конкретну і яскраву статтю.

Підписатись на коментарі