{"id":14281,"url":"\/distributions\/14281\/click?bit=1&hash=ab757d18c623a4013353d71493ed166f5261785dc223f01a84b7b3412c030874","title":"\u041a\u0430\u043a \u0441\u0447\u0438\u0442\u0430\u044e\u0442 \u0442\u0435\u043c\u043f\u044b \u0440\u043e\u0441\u0442\u0430 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043a\u0438? ","buttonText":"","imageUuid":""}

Как дизайнеру сделать приложение с помощью ChatGPT

Я дизайнер, и я разработал iOS-приложение с помощью #ChatGPT . Хочу рассказать, как правильно работать с Джепетто, ведь к нему нужен особый подход.

Джепетто (так называет его мой коллега) дал дизайнерам суперсилу — запускать проекты без разработчиков. Теперь можно сделать прототип или полноценный пет-проект самостоятельно.

Мое приложение называется MYSLF. Оно помогает устраивать свидания с собой — особое время для рефлексии и восстановления. Вот что оно умеет.

Предлагает идеи свиданий. Я постоянно опрашиваю людей, собираю идеи и добавляю их в приложение, чтобы каждое свидание было интересным.

Помогает не забивать на себя. Бывает сложно остановиться и выдохнуть —приложение напомнит, если свиданий давно не было.

Поощряет сохранять воспоминания. Сохраняйте заметки и фотографии во время свидания. Будет приятно вернуться к ним в будущем.

Посмотрите, что получилось.

Скачать в App Store

Придется стать программистом. Ну, почти

Я начал разработку MYSLF с того, что сформулировал хотелки и попросил Джепетто сделать приложение. Конечно, это не сработало, ведь ChatGPT не может написать приложение за вас — он может только помочь.

Да, чтобы написать приложение с помощью ChatGPT придется стать почти настоящим программистом. Несмотря на то, что код вы не пишите, архитектура проекта и выбор технического решения все равно за вами. И, поскольку ChatGPT выдает только текст (внезапно, код — это текст), все манипуляции в среде разработки делаете тоже вы.

Основной сценарий работы с Джепетто — дать ему задачу, получить код, вставить код в нужный файл и запустить его. И так до релиза в апсторе. Но не поддавайтесь соблазну отдаться в руки ИИ целиком. Я рекомендую разбираться в том, что делаете.

У меня была ситуация, когда тормозило создание превью свидания. Картинка для превью в MYSLF создается так: делаются скриншоты двух первых заметок, получившиеся картинки поворачиваются на произвольный угол, накладываются друг на друга и «запекаются» в одну. Код Джепетто тормозил, потому что запекал картинку после каждого шага. Я заметил это и исправил ошибку.

Вы можете не знать, что делает конкретный кусок кода, но понимать его логику и место в архитектуре проекта — ваша ответственность. Чтобы было проще, начните разработку от общего к частному.

  • Опишите возможности приложения, его структуру и ограничения. Попросите Джепетто рассказать о вариантах реализации и рисках.
  • Попробуйте реализовать каркас — действуйте по принципу прогрессивного джипега. Во-первых, так вы познакомитесь с основами разработки, во-вторых, сразу поймете, насколько выбранный вариант работоспособен. Мне понадобилось несколько итераций, прежде чем получилось сделать MYSLF как надо.
  • Продолжите движение от общего к частному. К этому моменту Джепетто уже забыл, какой проект делает, зато у вас появилось четкое понимание.

Не стесняйтесь просить у ИИ помощи и задавайте вопросы по любому поводу: как создать файл, что делает код, где найти нужную настройку. Постепенно вы освоите необходимый минимум, и работа пойдет быстрее. Разработка с ChatGPT похожа на изучение языка в Duolingo — учишь теорию на практике.

Как общаться с ChatGPT

С Джепетто можно общаться на обычном языке. Он хорошо переваривает недосказанность и туманные формулировки, но чем ближе к конечному коду, тем точнее должен быть запрос.

Существует множество баек, как писать запросы к ChatGPT. Работая над MYSLF, я пришел к такому формату.

  • Начинал диалог с контекста: «Представь, что ты опытный iOS-разработчик». Я пробовал писать просто «ты опытный iOS-разработчик», но Джепетто душнил: «я не разработчик, а языковая модель».
  • Задавал технические ограничения: «Разрабатываем приложение для iOS14 и выше c использованием Storyboard, без сторонних библиотек».
  • Нумеровал каждое требование: например, «1) Сделай лейбл, 2) выведи в лейбл текст».
  • В конце писал «не пропусти ни одно из N требований», потому что в объемных запросах Джепетто любит «забывать» часть задания.

Дальше про сториборд и сторонние библиотеки можно не напоминать. В рамках диалога Джепетто сохраняет контекст.

Часть задач проще решить через интерфейс среды разработки. Попросите Джепетто дать подробную инструкцию, но имейте ввиду, что знания базовой модели ChatGPT ограничены январем 2022 года. Если у вас платная GPT-4, сделайте запрос с использованием поиска Bing. Джепетто «прочитает интернет» и выдаст актуальный гайд.

Джепетто умеет не только отдавать, но и принимать код. Можно поэкспериментировать с решением и, в случае неудачи, скормить ИИ предыдущий рабочий вариант со словами «давай вернемся к этому коду». Если в какой-то момент вы сами начнете программировать, Джепетто поможет исправить ошибки.

Вообще, не стесняйтесь вмешиваться в работу ИИ и ставить под сомнение его предложения. Даже если предложение корректное, всегда можно попросить Джепетто «сделать попроще», чтобы лично для вас код стал понятнее.

Говоря о возможностях Джепетто, важно упомянуть и его «тараканов». Имейте их в виду и сохраните больше нервных клеток, чем удалось мне.

У него есть лимиты

Во-первых, это лимиты на объем ответа. Если ответ получается большим, вместо кода ИИ расскажет, как этот код написать. Вам же как не-программисту нужен конкретный результат.

Во-вторых, есть «лимит понимания». Если в середине общения дать сложный запрос или предоставить большой кусок кода, Джепетто сломается: забудет контекст, начнет делать ошибки и игнорировать требования.

В обоих случаях поможет начать новый чат и скормить задачу по частям.

Он может зайти в тупик, но не признается

Джепетто до последнего старается решить задачу, даже если зашел в тупик. Тогда он начинает фантазировать или скакать между неработающими вариантами. У меня как-то случился такой диалог.

— Вариант А не подходит, выдает ошибку.

— Прошу прощения, тогда попробуйте вариант Б.

— Тоже не работает.

— Простите, вот вариант А.

— Но мы только что его пробовали, он выдает ошибку.

— Точно, прошу прощения. Попробуйте вариант Б.

и т. д.

Скорее всего, это означает, что ваша задача не имеет решения и нужен другой подход.

Он фантазер

Напомню, что ChatGPT — языковая модель, а не настоящий разработчик. В большинстве случаев Джепетто пишет работоспособный код, но иногда придумает несуществующие функции. Это могут быть функции, которые вы еще не написали, или, что забавнее, — функции, якобы встроенные в iOS.

Однажды я хотел получить из массива свиданий только актуальные. Джепетто предложил обратиться к выдуманному методу getAllCurrentDates, который, по его мнению, есть у всех массивов iOS.

Достаточно пожурить его за выдумки, и он предложит работающее решение.

Он все равно классный!

Сталкиваясь с ошибками и ограничениями Джепетто, неизбежно раздражаешься. В такие моменты полезно вспомнить, что перед тобой — магия.

Что дальше?

Надеюсь, к этому моменту вы уже привыкли к Джепетто, вошли во вкус и освоили основы разработки. Да, пока не получится создать проект без минимального понимания программирования, но еще вчера нужно было знать в разы больше.

Если создание полноценного проекта звучит слишком эпично, Джепетто будет полезен в ежедневных дизайнерских задачах. Представьте, что у вас есть коллега-разработчик, с которым всегда можно протестировать интерфейсную гипотезу — разные виды анимации, например. Применение ChatGPT сделает вас более эффективным дизайнером.

В общем, начните дружить с Джепетто, а если уже дружите, расскажите о своем опыте.

Ну и, конечно, попробуйте MYSLF.

Скачать MYSLF в App Store

0
3 комментария
Максим Лунин

Спасибо, что поделились. Познавательно)

Копирайтерам и маркетологам с крутыми идеями, вероятно, теперь тоже можно собраться с мыслями и набросать своих проектов)

Ответить
Развернуть ветку
Алексей Перминов

Звучит и выглядит оч круто. Хотелось бы еще по больше узнать про процесс верстки. А то вы не рассказываете каким волшебным образом код из Джепетто превратился в приложение доступное в IOS

Ответить
Развернуть ветку
Михаил Соломонов
Автор

Спасибо! Кодом можно верстать: пишете на свифте "синяя кнопка по центру экрана", и она появляется. Также есть Interface Builder — инструмент визуальной верстки, когда экран собирается почти как в графическом редакторе. Джепетто может написать инструкцию, как добавить ту же синюю кнопку через интерфейс-билдер

Ответить
Развернуть ветку
0 комментариев
Раскрывать всегда