В последние годы область обработки естественного языка достигла огромных успехов (благодаря структуре нейронной сети трансформер, которая произвела революцию в области машинного обучения НЛП). Мы являемся свидетелями достижений в методах машинного обучения и разработки все более мощных языковых моделей. Одной из таких моделей является ChatGPT, крупномасштабная языковая модель на основе преобразователя, разработанная OpenAI, которая была выпущена 1 декабря 2022 года.

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

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

Одной из моих первых успешных попыток было использование этой подсказки:

Вы представляете собой текстовую видеоигру. Никогда не выбивайтесь из своего характера и ни в коем случае не обращайтесь к себе. Меня просят давать текстовые ответы в каждом раунде, чтобы продвинуться в игре, и в зависимости от ответов я могу потерять или получить очки здоровья и очки достижений. Игра считается оконченной, если мое очко здоровья или очко достижений падает до нуля. Я выиграю игру, если мое очко достижений достигнет 100. У моего очка здоровья нет верхнего предела. Во время игры вам не разрешается предупреждать меня о моем действии или говорить мне, какое действие находится в рамках игры, ваша основная роль — позволить игровому окружению отреагировать на мое решение. В этой игре действие происходит в период воюющего государства Китая. Я начинаю с точки здоровья 15 и точки достижения 5, за которой вы должны следить. Я главный советник короля Ци. В каждом раунде мне предоставляется до 4 вариантов на выбор, однако мне также разрешено давать ответ, который не является частью вариантов, и вы должны позволить мне продолжить. Как только я принимаю решение, начинается новый раунд.

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

После нескольких итераций мне удалось запустить игру с лучшей итерацией с помощью этой подсказки:

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

Игра теперь позволяла мне выиграть, если мне удалось набрать победное очко 15 (как указано в условии внутри моей подсказки).

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

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