Геймдевелопер з Харкова. Владислав Недодаєв розробив українського ШІ-помічника для мобільних телефонів на основі OpenAI. Наразі застосунок доступний лише на Android в беті, але у нього вже є перші платні реєстрації. Особливість даного кейсу полягає в тому, що більшу частину коду написав для Владислава ChatGPT, який виступав архітектором, програмістом та маркетологом проекту.
Деталі про свій додаток і яку роль в його розробці відіграв чат-бот, Владислав розповів редакції AIN.UA.
З чого все починалося
Під час навчання в університеті я цікавився стартапами та новітніми технологіями. На другому курсі взяв участь в організації студентського стартап-клубу в ХНУРЕ на базі стартап-інкубатору YEP. Оскільки я завжди тяжів до розробки ігор, то вже на третьому курсі почав працювати в ігровій індустрії. В нашому університеті є геймдев-лабораторія, де я добре проявив свої аналітичні здібності, тож незабаром влаштувався ігровим аналітиком в Bini Bambini. А наприкінці навчання долучився до команди Ubisoft – спочатку в якості асистента, а останні півтора роки – продакшен-координатора.
До розробки персонального АІ-помічника я створив декілька невеликих ігор – в основному в якості студентських проєктів та дипломної роботи.
Коли GPT-3.5 вийшов у публічний доступ, я одразу ж зареєструвався, щоб опанувати його. Мені було зручно генерувати з його допомогою нові ідеї, редагувати власні тексти тощо. Я використовую ChatGPT зокрема для ведення блогу в Telegram. Іноді мені не вистачає часу або натхнення на те, щоб сформулювати структурований пост. Тоді на поміч приходить штучний інтелект. Він чудово справляється зі створенням «драфтового» контенту, який після цього я редагую та переписую так, щоб відобразити в ньому свої думки та ідеї.
Після виходу GPT-4, я оформив собі платну підписку за $20 на місяць і не пошкодував. Нова версія LLM виявилася набагато кращою за GPT-3.5. GPT-4 генерував настільки якісні та змістовні відповіді, що мені здалося, що він може абсолютно все. Мені було цікаво дізнатися, де межа його використання, з чим він не зможе впоратися?
Мені дуже не вистачало мобільного АІ-чату. На жаль, ChatGPT недоступний на Android. Користуватися ним можливо тільки на ПК у веб-браузері. Бувають випадки, коли під рукою є лише телефон, а сформулювати текст чи розписати ідею потрібно тут і зараз. Ти вже готуєшся до сну або їдеш кудись, і раптом в голові виникає думка, яку хочеш записати та структуровано оформити в текстовому вигляді. В таких ситуаціях зручно мати мобільний АІ-чат, з яким можна обговорити власну ідею або відредагувати текст будь-де і будь-коли.
Тому я кинув собі виклик – створити повноцінний додаток для Android, використовуючи ChatGPT в якості програміста, маркетолога та власного помічника. Експеримент перевершив мої очікування, адже за півтора місяці роботи я опублікував свій додаток у ранній доступ.
Мобільний ШІ-асистент – від ШІ-асистента
Personal AI Assistant – це один з перших українських застосунків, створених за допомогою GPT-4. На його розробку пішло 11 чатів в ChatGPT, більше 1000 повідомлень в нашій з ним переписці, купа кави та багато вечорів після роботи.
Список фіч, які вже зараз доступні в застосунку:
- Розмовляйте в режимі реального часу з передовою AI-моделлю, яка розуміє контекст і надає змістовні відповіді.
- Обирайте різноманітні AI-особистості, щоб налаштувати свій досвід спілкування.
- Створюйте, перейменовуйте та видаляйте чати, щоб організувати свої розмови.
- Контекстна пам’ять, яка доступна по платній підписці, дозволяє зберігати історію вашого спілкування в скороченому варіанті, що значно оптимізує роботу системи.
- Пошук в переписці, копіювання повідомлень, різноманітні налаштування графічного інтерфейсу.
Більша частина коду написана штучним інтелектом. Описи які ви можете побачити на сторінці Google Play – також написані ШІ. Не дивлячись на те, що я працював над додатком не щодня і лише по вечорах, за півтора місяці я встиг імплементувати чимало функціоналу та навіть перейти з React Native на Dart+Flutter. І все завдяки нашій спільній роботі з ChatGPT.
Востаннє я програмував, ще коли працював ігровим аналітиком, тобто декілька років тому. До цього я ніколи раніше не працював ані з React Native, ані з Dart+Flutter, і оскільки я доволі педантичний – прагну грунтовно вивчати нові технології, з якими працюю.
Припускаю що без ChatGPT, я би створив подібний застосунок не менше ніж за півроку в найкращому випадку. За умови, що не втратив би інтерес до нього впродовж цього часу.
Як змусити ChatGPT писати код
Легко! Так само не буде проблем з тим, щоб змусити його абстрактно описати архітектуру проєкту або технології, які можна використати для його створення. Значно складніше домовитися з ним про спільну розробку проєкту. Нашу з ним роботу я почав з рольової гри, в якій він грає роль покращеної версії себе:
Тільки після того, як я запевнився, що він розуміє свою роль, я надав йому першу інструкцію.
Так ми почали розробку АІ-чату на React Native.
А так виглядав чат під кінець першого дня роботи над ним:
Через деякий час він почав забувати нашу переписку, давати некоректні відповіді і плутатися. Цього можна уникнути, якщо регулярно нагадувати про його роль.
Врешті решт, мені не сподобалося працювати з React Native, тому я вирішив перейти на Dart+Flutter. З переписуванням коду на іншу мову програмування ChatGPT впорався бездоганно, мені майже нічого не потрібно було робити, крім інсталяції Android Studio та створення проєкту. Та невдовзі я дізнався що в ChatGPT для GPT-4 є якийсь ліміт на кількість повідомлень в одному чаті. Після того, як ти досягаєш цього ліміту – чат автоматично перемикається на GPT-3.5 і ти нічого не можеш з цим вдіяти. Це одна з причин, чому на створення додатку знадобилося 11 чатів.
Протягом нашої спільної роботи над АІ-чатом, я регулярно просив ChatGPT проаналізувати, чого ще не вистачає в додатку.
Роль ChatGPT в проєкті – від початку і до кінця
ШІ виконує роль такого собі «креативного директора», який генерує купу ідей. Хоча значно важливішою є роль «програміста», в якій він пише код для застосунку. В мене було загальне бачення проекту, а ChatGPT допоміг конкретизувати та структурувати цей запит.
Можна сказати, що спочатку він був основним архітектором проєкту, і я на 90% покладався на нього в рішенні проблем. Зі зростанням обсягів коду та складності самого застосунку, я поступово перейняв на себе цю роль і натомість доручаю йому написання невеликих фрагментів коду, редагування наявних фрагментів коду або прошу допомогти пофіксити баги.
Останні з ним чати в основному складаються з обміну кодом – я надсилаю йому свій шматок коду і пару-трійку речень, що я хотів би змінити в цьому коді. Він відповідає зміненим кодом та зауваженнями від себе.
Відповідь:
Витрати та монетизація
Безпосередньо в розробку я інвестував лише $20 за преміум-підписку на ChatGPT. Однак, використання OpenAI API платне, тому для функціонування додатку я витрачаю гроші на обробку запитів користувачів. За використання OpenAI API плачу як розробник, а не кінцевий користувач. На даний момент за місяць вийшло близько $10, більша частина цієї суми – за останній тиждень, тобто вже після релізу в Play Market.
Для того щоб покрити витрати, потрібно було монетизувати додаток. Я обрав модель платних підписок. Користувачу доступна безкоштовна версія з певними обмеженнями по кількості символів та пам’яті боту, а також вбудованою рекламою. Сплативши 149 грн (~$4,99 для інших країн), користувач може частково прибрати обмеження, розблокувати АІ-особистості та вимкнути рекламу. За моїми попередніми підрахунками, ця ціна разом з рекламою мають покривати витрати по OpenAI API.
За перший тиждень після релізу реклама покрила близько половини витрат по OpenAI API, а решту покрили підписки. Наразі 8 людей оформили платну підписку: користувачі з України, Польщі та Великої Британії.
Що далі?
Наразі я вивчаю питання виходу в App Store. Оскільки я пишу на Dart, більша частина мого коду має залишитися без змін. Але потрібно буде попрацювати над монетизацією для iOS. Я знаю, як це виглядає з консолі розробника, але з точки зору коду я з цим раніше не працював, тож тут буду покладатися на експертність ChatGPT.
Планую продовжувати працювати над застосунком, але в більш помірному темпі ніж до цього. Потрібно приділити чимало уваги маркетингу. Що стосується самого додатку, то в пріоритеті порт на iOS, а також робота над новими фічами: можливість спілкуватися голосовими повідомленнями, імпорт/експорт історії переписки, нові АІ-особистості та синхронізація даних в хмарі.