Недавно я объединился с ChatGPT 3.5, чтобы разработать простую игру для снятия стресса, в которую можно играть в мобильных браузерах, и опыт был весьма восхитительным.

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

Если вы не знакомы с ChatGPT, это помощник чата AI (искусственный интеллект), разработанный OpenAI, который позволяет людям общаться с ним на естественном языке и помогать ему выполнять задачи. Он обладает мощными возможностями во многих областях, таких как написание статей, полировка текста или помощь в написании кода.

В моей простой игре нет ни концовок, ни рейтингов — она просто постоянно устраняет падающие ключи. Когда я не хочу ничего делать, но все же хочу чем-то занять руки, я могу включить фоновую музыку или подкаст и просто постучать по телефону, чтобы очистить мысли. Чтобы получить доступ к игре, перейдите по этому URL-адресу http://yingyingz.com/exp/keys.

В этом сотрудничестве у ChatGPT и у меня были четкие роли: я принимал решения, а он был исполнителем. Он играл роль фронтенд-разработчика программного обеспечения, генерируя более 99% игрового кода, а я внес небольшие изменения в небольшую его часть. Я, с другой стороны, носил много шляп, от проектирования, отладки и тестирования до развертывания.

И ChatGPT, и я сыграли решающую роль в этом проекте. Без меня игры бы не было, а без ChatGPT я бы не смог ее пройти. В некотором смысле ChatGPT действовал как консультант, время от времени давая полезные советы, но окончательное решение оставалось за мной. Я мог принять или отклонить его предложения, и он постоянно пробовал новые подходы и создавал новые эффекты, которые он послушно выполнял.

Конечно, ключ в том, чтобы четко общаться с ChatGPT, чтобы он мог понимать мои постоянно меняющиеся требования и создавать правильный код. Версия ChatGPT 3.5 оказалась на удивление точной и быстрой в понимании моих запросов и написании кода.

В целом, я очень доволен результатом и эффективностью этого сотрудничества.

• • •

Вот несколько вопросов, над которыми я размышлял, создавая игру.

С какой самой большой проблемой я столкнулся во время сотрудничества?

Самой большой проблемой было ограничение ChatGPT на количество токенов при вводе/выводе. Первоначально, когда я вносил изменения в код JavaScript, ChatGPT отправлял мне весь код, и я просто копировал и вставлял его в свой локальный файл. Однако, как только длина превысит предел маркера, его ответ автоматически прекратится, что приведет к неполному коду. Даже когда я попросил его продолжить, он не смог правильно отобразить код.

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

Если ChatGPT может писать хороший код, нужно ли мне еще уметь кодировать?

Я считаю, что можно выполнить задачу, не зная, как программировать, но эффективность будет ниже. Эта игра проста, для каждой требуется только один файл HTML, CSS и JavaScript. ChatGPT быстро пишет код, но также может создавать тарабарщину. Например, однажды он написал новую функцию, реализующую функцию, которая мне совершенно не нужна. Это может быть потому, что он неправильно понял мою просьбу. Если бы я не знал, как программировать, меня могли бы завести в тупик, и мне потребовалось бы больше времени, чтобы вернуться к предыдущему коду. Поэтому лучше всего, если у меня есть базовое понимание языка программирования, который использует ChatGPT, чтобы оперативно останавливать его, когда он пишет чепуху.

Несколько раз я указывал, что код ChatGPT не работает, и он извинялся, а затем пересматривал мою проблему или переписывал код. Надо сказать, ИИ неутомим и невероятно терпелив, практически не оказывая сопротивления на мои просьбы в процессе.

На что следует обратить внимание при общении с ChatGPT?

Как только я четко определил свою роль и роль ChatGPT, стал ясен и метод общения. Вы можете думать о ChatGPT как об очень интеллектуальном мозге, способном принимать и выводить ограниченную информацию, но неспособном слышать, видеть или выполнять действия. Каждый фрагмент кода, который он мне отправляет, основан на его огромной информационной базе данных, которая, по его мнению, может удовлетворить мои потребности. Как упоминалось ранее, я взял на себя несколько ролей, по сути действуя как глаза ChatGPT, помогая ему видеть результаты каждого запуска и сообщая ему, где необходимы модификации. Конечно, ChatGPT все равно, выступаю ли я его глазами или нет; это просто ответы на мои вопросы и ничего больше.

Чем четче мой ввод, тем точнее ChatGPT сможет меня понять и дать нужные ответы. Как тот, кто выдвигает требования, я должен сначала знать, чего я хочу, а затем точно описать это, используя естественный язык. При описании, если используются определенные термины (например, «отобразить диалоговое окно»), понятнее использовать эти термины напрямую, а не описывать их (например, «отображать окно, в котором отображается текст»).

ChatGPT также может дать мне несколько хороших советов, но я должен заранее спросить об этом. Например, первоначальный дизайн интерфейса игры был непривлекательным, поэтому я попросил его помочь сделать его современным и минималистичным. Он предлагал плоский стиль дизайна, удаление ненужных границ и рекомендуемые цвета. Мне понравилась идея, и я принял ее предложения. Позже я сделал несколько модификаций, прося каждый раз украшать интерфейс. Он модифицировал CSS так, чтобы он выглядел хорошо, а затем я вносил коррективы.

Кроме того, ChatGPT не поможет мне заблаговременно выявить проблемы; он отвечает только за эффективное и действенное выполнение моих запросов. Поэтому я должен активно замечать любые проблемы и сообщать, какие вопросы я хочу решить. Например, если мне нужно, чтобы он запомнил контекст и заметил, что он забыл предыдущий код, мне нужно предоставить его снова. Также был случай, когда как бы я ни менял конкретную деталь, она просто не работала. ChatGPT предоставил мне пять или шесть различных решений, но ни одно из них не сработало. Наконец, я отправил весь код и попросил его найти проблему, и он сказал мне, что одна функция была определена дважды, что, возможно, привело к тому, что одна перезаписала другую. После удаления одного из определений проблема была решена. Я думаю, что даже если бы существовали инструменты программирования, которые могли бы превратить ChatGPT в инструмент проактивного решения проблем, все равно было бы сложно охватить все ситуации, поскольку конкретные проблемы во многом зависели бы от того, какую функциональность люди хотят достичь с помощью своего кода.

Что лучше, ChatGPT 3.5 или ChatGPT 4?

Я прошел эту игру, используя ChatGPT версии 3.5. Наиболее важным фактором было быстрое время отклика и относительно высокая точность, что делало общение с ChatGPT чрезвычайно удобным. Я думаю, что версия 4 лучше подходит для точной обработки больших объемов информации, такой как интеграция информации, написание статей, перевод и редактирование, но ее время отклика чрезвычайно медленное, что делает ее непригодной для частого общения.

Чем мне как дизайнеру взаимодействия с пользователем могут помочь навыки программирования ChatGPT?

Я считаю, что дизайнеры взаимодействия с пользователем могут использовать ChatGPT для создания прототипов дизайна взаимодействия. В нашей текущей работе мы используем инструменты дизайна для превращения дизайнерских рисунков в интерактивные прототипы, на которые можно щелкнуть. Некоторые прототипы лучше реализовывать напрямую с помощью программирования, но у нас не хватает навыков или у инженеров нет времени. Если мы сможем сотрудничать с ChatGPT, нам не придется ждать появления инженеров. Более того, ChatGPT 4 уже поддерживает ввод изображений, что делает его еще более удобным.

Одним из самых интересных аспектов создания этой игры было то, что все детали дизайна пришли мне в голову, и мне не нужно было ничего рисовать на бумаге. Работая с ChatGPT, я могу думать, создавать и оптимизировать на лету. Если бы я программировал самостоятельно или сотрудничал с другим программистом, мне нужно было бы сначала создать черновик. Но поскольку ChatGPT кодирует чрезвычайно быстро и имеет низкую стоимость проб и ошибок, я могу позволить ему написать код на основе моих идей, а затем запустить и настроить его. Конечно, в более крупных проектах, в которых участвуют несколько человек или несколько человек, работающих с ИИ, этот подход может оказаться непрактичным, и потребуется более совершенный процесс. Тем не менее, стоимость проб и ошибок все равно будет значительно снижена. Единственным ограничением может быть невозможность каждый раз отправлять полный код из-за ограничений токена.

• • •

Попробуйте игру на http://yingyingz.com/exp/keys, наслаждайтесь :)