Может ли робот заменить <название профессии>? Этим вопросом задавались еще читатели Карела Чапека, употребившего слово «робот» в значении искусственного подневольного трудяги, практически раба. В 2022-м ответов стало как-то даже слишком много — в массы пошел обученный на знаниях всего мира генеративный AI (далее, с вашего позволения, ГАИ), чья основная задача — создавать нечто в ответ на запрос пользователя. В результате появляется артефакт: текст, звуки, изображения или их последовательность, блок-схемы, программный код и прочее. Возвращаемся к вопросу — если машина все же смогла в творчество, то нам-то, людям креативных профессий, чем теперь заниматься? Ответ лежит на поверхности: если не можешь победить движение — возглавь его. О том, как это сделать, покажу и расскажу на примере работы геймдизайнера.
Не будем заостряться на том, что вообще такое генеративный AI и как он устроен — информации об этом в интернете более чем достаточно, на крайняк можно спросить у самих чатботов. Я же хочу сфокусироваться на практическом применении этих программ. Более того, в рамках заметки я ограничиваю взаимодействие до формата text2text, который еще недавно существовал лишь в сильно урезанном варианте (например, процедурное приключение 2019 года AI Dungeon). В основе описанного ниже — опыт мой и моих коллег-геймдизайнеров, а рассмотренные интерфейсы ограничены ChatGPT 3.5, Bing AI и Notion AI по состоянию на начало марта 2023-го.
Начнем с базовых вещей. Что в целом умеют публично доступные ГАИ?
- Складывать слова в предложения, а предложения — в осмысленные абзацы
- Создавать таблицы и списки
- Придумывать стихотворения, соблюдая рифму и размер
- Писать и оформлять код
- И самое главное — обновлять результаты на основе дальнейших уточнений
Поясню про последнее: нейросеть умеет «учиться», то есть если сказать «повтори свой ответ, но замени синий бластер на фиолетовое копье», она выдаст практически тот же результат с изменениями, согласно новым вводным. А вот чего ГАИ совсем не умеет — это понимать человеческую речь и обнаруживать связи так, как это делает человеческий мозг. Несмотря на достоверно построенные фразы, которыми общаются чатботы, бывает так, что в них крайне мало смысла. Порой чатбот на голубом глазу несет откровенную чушь и даже не пытается подвергнуть ее сомнению.
Несмотря на то что все три рассматриваемые модели основаны на одной и той же технологии фирмы OpenAI, у каждой есть свои фишки.
Умеет хранить историю отдельных бесед и контекст внутри каждой из них. Неплохо понимает и общается на русском языке, но в стихи умеет с трудом.
Умеет предлагать развитие диалога контекстными фразами-подсказками и подтягивает в чат результаты поиска в Bing. Ограничен 8 запросами в одной ветке диалога плюс часто закрывает диалог при подозрении на агрессию со стороны пользователя. На русском и иных языках общается прилично, но стихи сочинять не способен, даже после многочисленных попыток обучить его. При этом на английском выдает отличный результат без предварительной подготовки.
Не показывает историю взаимодействия, но умеет хранить ее и отображать саммари по запросу. Способен из текста составить план действий, найти объяснение термину, перевести на другой язык и тезисно пересказать написанное.
Какую пользу можно извлечь из общения с генеративным AI? В первую очередь — это, разумеется, создание контента. Придумать 15 вариантов для названия уровня с болотом и ацтекскими руинами? Легко. Предложить 10 второстепенных навыков к ролевой системе S.P.E.C.I.A.L.? Пожалуйста. Сгенерировать матрицу 20х20 с уникальными сгруппированными названиями рядов и столбцов? Займет полминуты.
В плане генерации контента можно сравнить нейросеть с человеком с очень большой наигранностью и насмотренностью: она может навскидку привести любое количество вариантов, но их качество точно так же со временем будет уходить от исходного запроса. Продолжая метафоры, ГАИ может за несколько секунд выдать примерно такую же «руду», какую вы получите от получасового брейншторма с разогревом и генерацией. И точно так же как с креативными сессиями, больше всего времени у вас уйдет на последующее разгребание и фильтрацию результатов.
Спасибо врожденной «насмотренности», нейросеть предлагает клиенту релевантные ответы и на более креативные запросы. Например, с ней можно поговорить про режимы игры, обсудить правила, цели, средства, задачи игроков. Она даст аргументированный ответ на вопрос «какой вариант асинхронного мультиплеера для гоночный игры мне выбрать, если я хочу, чтобы игроки максимально ощущали, что они соревнуются с другими» (спойлер: скорее всего это будет ghost racing), предложит побочные активности для Team Deathmatch, расскажет какой туториал лучше всего подойдет для визуальной новеллы.
Более того, если попросить ее описать концепт на основе небольшого числа вводных («придумай match-3, который будет популярен у жителей Индонезии»), нейросеть предложит вполне разумный вариант такой игры. А если не понравится — всегда можно попросить сгенерировать другой концепт на тех же вводных. Она «знает» и про другие аспекты разработки: может подсказать, каких разделов не хватает в дизайн-документации, что нужно для реализации трехмерной анимации в выбранном движке, в каком порядке производить ассеты.
А что еще круче — нейросеть умеет корректировать результат, если объяснить ей, что было не так в ее ответе. И это, к сожалению, самая необходимая и самая частая функция, к которой обращаются операторы нейросетей. Редко бывает так, что чатбот с первого же запроса выдает хотя бы подходящий результат, не говоря уже про идеальный. Систему надо кропотливо обучать, пока она не «поймет» все вводные и не выдаст ответ в рамках задуманного. Двигаться можно по-разному: мелкая рихтовка напильником может привести к тому, что нейросеть не удержит все предыдущие правки, а слишком большой запрос, наоборот, может одним махом сломать систему. К счастью, всегда можно начать заново, буквально с чистого листа.
Важно помнить, что какую бы рекомендацию ни выдала нейросеть, ей нельзя безоговорочно следовать. Ни один чатбот не отвечает за результат и последствия своей работы, так что если вы собираетесь воспользоваться ее решением, но при этом вы не знаете досконально, рабочее оно или нет — его хорошо бы каким-то образом перепроверить.
Я хочу остановиться на нескольких реальных кейсах, когда ChatGPT и Notion AI решили настоящие геймдизайнерские проблемы.
В первом случае нужно было сравнить между собой объем работы над двумя картами: изометрической и гексагональной. Можно тупо посчитать размеры в экранах — да, но это мера неопределенная; можно прямо по пикселям — все равно есть риск ошибиться из-за разности измерений гексов и тайлов. Левелдизайнер, наконец, решила спросить у Notion AI: как сравнить между собой изометрическую и гексагональную карты? И получила простой ответ — сравнить их площади. Но как их посчитать, что для этого нужно? ГАИ не заставил ждать: «ширина и высота ячеек, ширина и высота карты». Вбили все необходимые параметры — получили точный расчет с ответом, какая карта больше другой.
Вроде бы все получилось, но остался вопрос — всегда ли ГАИ дает надежные советы? Можно довериться, а можно поразмышлять логически (для объема работ над контентом надо посчитать… объем контента), спросить у Google или у профессионального сообщества. Можно даже перепроверить у другой нейросети!
Второй кейс — на карте-прототипе нужно сформировать топологию из грейбоксов разных размеров, чтобы оценить сроки отрисовки и заранее понимать, что нужно будет рисовать и моделировать. Как правило, для карт (или даже их участков) стараются придумывать отдельные биомы, но даже в их рамках надо понимать, какого размера и объема могут быть объекты, какой формы. В размышлениях геймдизайнер обратилась к ГАИ: «назови основные объекты для карты в большой онлайновой игре», и получила целый список категорий — от растительности и ландшафтных объектов до рукотворной архитектуры и точек интереса. Более того, искусственный интеллект посоветовал добавить элементы и спецэффекты для пущей реалистичности. Геймдизайнер взяла список, выделила из него основные типы объектов и разбила на список примитивов: кусты будут низкими треугольниками, деревья — высокими параллелепипедами, горы — прямоугольники на пол-экрана. Этого хватило для стартового объема задач арт-отделу.
На этот раз генеративный AI сработал как база данных с большой наигранностью и контекстным поиском. Он выдал список наименований по теме и даже включил в него точки интереса, о чем не всякий геймдизайнер вспомнит сразу (а вот левелдизу такие вещи знать необходимо).
Третья история тоже касается контента на заданную тему, но на этот раз был задействован и культурный контекст. Нужно было в сильно ограниченные сроки под тему для ивента придумать ресурсные циклы и крафтовые цепочки. Традиционный путь — изучение конкурентов и свои прошедшие ивенты, гуглинг общепринятых практик, креативные сессии с брейнштормами — занял бы много времени. Зато ГАИ всего за час накидал варианты предметов, игровых сущностей и цепочек. Ко всему прочему удачно совпало, что часть этих сущностей уже была когда-то нарисована, так что еще и переиспользование ассетов сократило время в разработке ивента. Осталось лишь собрать черновые ресурсные циклы на основе отобранных предметов, и заменить уже имеющейся графикой некоторые из предложенных сущностей.
Геймдизайнер, которая рассказала мне об этом кейсе, привела следующую методику обращения к культурному контексту в работе с ГАИ. Допустим, тема ивента — «Дело о пропавшем путешественнике во времени», локация — Лондон. Запросы в AI сформированы так:
— Ты художник и рисуешь жилище Доктора Кто. Назови 10 предметов, которые ты бы изобразил в его комнате и почему
— Какие растения мог бы выращивать Доктор Кто и зачем? Назови 10 растений
— Назови 10 предметов, которые бы Доктор Кто положил в чемодан, если бы уехал в путешествие на необитаемый остров
— Назови 10 любимых изобретений Доктора Кто и как он бы их использовал
Четвертый кейс — технические знания. У геймдизайнера-тимлида возникла проблема: нужно ускорить производство прототипа, при этом не увеличивая расходы на кодинг. Для начала он запросил код для системы управления персонажем от третьего лица в Unity. Нейросеть предложила стандартное решение. После нескольких вариаций (взбираться на препятствия, а не прыгать) выдала новый код, он даже работал, но был не оптимальным. При попытке усложнить задачу ГАИ выдал слишком комплексный вариант, который попросту не работал бы в том прототипе. Геймдизайнер дал еще одну несложную задачку — написать код для нарезки картинки в пазл, чтобы сравнить с тем, который у него уже имелся. Решение оказалось отличным, а после уточнений так и вовсе стало похоже на то, что ранее написал программист.
Получается, что написать несложные системы и простой код ГАИ может без проблем, если не требовать от него чего-то выдающегося. Как только запрос становится сложнее, код может сломаться, притом что выглядит вполне рабочим. И уж тем более нет смысла давать задачу оптимизировать код — лучше просить нейросеть рассказать о функциях движка и давать подсказки для оптимизации, чтобы реализовать ее самому.
Получается, что чего-то нейросети все же умеют, а чего-то — совсем нет. Значит, работой мы (пока еще) обеспечены! Подведем итог:
- Генерация контента — основная функция text2text нейросетей на основе технологий Open AI. Умеет доставать из своей обширной базы подходящие данные, группировать их по указанным признакам и составлять списки практически любого размера.
- Обмен знаниями — благодаря обширной «начитанности», «насмотренности» и «наигранности» ГАИ может пересказать любое произведение с сюжетом, экономя заметно больше времени, чем требуется на гуглинг или просиживание штанов в Википедии.
- Контекстное общение — опять же, из-за гигантской базы данных и выстроенных связей нейросеть «понимает» контекст и может общаться и давать информацию в заданном ключе. Кроме того, она «знает» как устроены разные процессы и может предлагать вполне разумные на человеческий взгляд идеи.
- Анализ данных — если скормить чатботу табличку или иной массив данных, он сможет проанализировать его и сделать выводы, а если попросить — то еще и расширить этот массив новой информацией.
- Творческие задачи — если вам когда-нибудь приходилось использовать латеральное мышление, то общение с ГАИ будет очень знакомым — и по стилю, и по эффекту. Ожидайте от него необычных идей, но не полноценные решения творческих задач.
- Обучаемость — на небольшой дистанции (3-4 реплики) нейросеть еще может корректировать выдачу по указаниям пользователя, но чем дальше — тем хуже. Можно потратить кучу времени на обучение, но чаще всего ГАИ возвращается к изначальному состоянию, игнорируя направляющие. Можно попробовать загружать все указания в одном сообщении, но и тут есть риск, что ГАИ не сможет жонглировать всеми шариками одновременно.
За четыре месяца, на протяжении которых волна популярности ChatGPT растет и ширится, было написано множество заметок, статей и обзоров. В большинстве из них дается всего одна рекомендация: начинайте изучать и подчинять себе искусственный интеллект. Возможно, сегодня он еще не умеет выполнять многие ваши задачи, но прогресс не стоит на месте — и уж лучше оседлать его сейчас, чем потом барахтаться в пыли позади всех.
Специально для этой цели я завел группу в Телеграме, куда я приглашаю всех энтузиастов, осваивающих генеративный AI, делиться своим опытом решения профессиональных задач: https://t.me/aigdd