Статья

Атака ботов. Восемь выводов после победы OpenAI над людьми

5 августа разработчики OpenAI устроили самую амбициозную на данный момент проверку собственных ботов. На глазах у полного зала зрителей против команды искусственного интеллекта выступили Дэвид MoonMeander Тан, Бэнь Merlini У, Остин Capitalist Уолш, Уильям Blitz Ли и Иоаннис Fogged Лукас. Результат оказался неожиданным: OpenAI разгромил соперника на двух картах, а на третьей проиграл — во многом из-за плохого пика. Мы посмотрели битву людей и машин, сделав несколько выводов.

Боты по-прежнему играют не в «Доту». Несколько месяцев назад разработчики OpenAI провели несколько тестовых игр. В них были доступны только пять героев, запрещены варды, многие предметы и убийства Рошана. С тех пор ряд ограничений убрали, но даже в матче против англоязычных кастеров было слишком много условий. Выбор персонажей был ограничен 18 вариантами, у каждого игрока был собственный неуязвимый курьер, а под запретом оказались Bottle, иллюзии и призванные юниты.

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

Прогресс OpenAI все равно впечатляет — ИИ активно перемещается по карте, необычно расставляет линии и максимально эффективно использует пространство. Команда ботов действительно выиграла много драк за счет хорошего использования способностей и правильного расположения на карте. Однако до момента, когда OpenAI сможет играть на равных в настоящую «Доту», пройдет еще какое-то время.

Боты иначе смотрят на Healing Salve и Tango. Восстановление здоровья — ключевой элемент стратегии ботов. Отчасти это связано с тем, что у них пять бессмертных курьеров, но реализовать идею возможно и без них. ИИ почти не покупал Tango или Healing Salve на старте, зато уже со второй минуты начинал раз за разом привозить себе «фласки» и постоянно поддерживать уровень здоровья выше 50%.

Поначалу это казалось абсурдным, но вскоре стало ясно, что за счет этого можно очень быстро нарастить преимущество. Считается, что в любой команде должен быть Urn of Shadows, так как он позволяет всем героям поддерживать уровень здоровья для продолжения пуша. OpenAI собирал и «урну», но десятки Healing Salve оказались эффективнее. Давление, которое стало из-за этого возможным, с лихвой окупило стоимость расходуемых предметов. Пользователи reddit уже начали обсуждать, рискнет ли какая-либо команда воспользоваться такой идеей на The International.

Боты предпочитают тройные линии. Но не всегда это можно объяснить. В первом матче команда OpenAI отправилась триплой из Gyrocopter, Death Prophet и Lion в офлейн. В центральной линии в этот момент был Sniper, а в легкой — Lich. Последний при этом качал Sacrifice и не пытался толком мешать Necrophos в исполнении MoonMeander, зато сверху двум кор-героям пришлось делить фарм.

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

Во второй игре в офлейн отправились Crystal Maiden, Lion и Lich, а Gyrocopter остался один против двух оппонентов. Впрочем, и в этот раз все линии завершились удачно для ИИ. Когда на третьей карте зал выбрал для ИИ пять кор-героев, OpenAI решил сделать сложную линию из Axe, Sven и Slark. Затем он несколько раз изменил решение, так и не сумев корректно распределить фарм между персонажами. Команде людей удалось выиграть только эту карту.

Ботов легко поставить в тупик. Во время первой карты Capitalist отвел волну крипов к маленькому лагерю — обычная история не только для профессиональных матчей, но и для пабов. Однако ИИ не нашел чем ответить и бесцельно бегал под башней.

Другая ситуация возникла на второй карте, когда мидер команды людей Blitz решил не тратить время на покупку Power Treads и быстро приобрел Shadow Amulet. Боты постоянно покупали Dust of Appearance и Sentry Wards, но даже так сопернику несколько раз удалось избежать смерти. Если враг уходил в невидимость, ИИ несколько секунд патрулировал местность вокруг этой точки, а затем уходил.

Это напоминает ситуацию с первым проектом OpenAI — ботом для матчей 1x1 на центральной линии. Долгое время профессионалы проигрывали ему, но затем совместными усилиями обнаружили ряд уязвимостей. Возможно, подобные абьюзы можно будет найти и в поведении целой команды ИИ. Впрочем, отсутствие Dust of Appearance всегда можно объяснить тем, что боты имитируют поведение игроков низкого рейтинга.

Боты допускают ошибки. Разработчик OpenAI Сюзан Женг между матчами рассказала, что ИИ изучал игру без каких-либо предустановок. Поэтому любые их действия — результат экспериментов и анализа. Тем удивительнее видеть во время матча, как Sniper запускает несколько зарядов Shrapnel в одну точку.

Женг объяснила механизм: боты пробуют новые действия, а затем оценивают, помогло ли это добиться результата. Одним из критериев оценки эпизода является итог матча — победила команда или нет. Возможно, OpenAI выиграл слишком много матчей, неправильно используя Shrapnel.

Еще больше вопросов вызывают действия саппортов команды ИИ. Иногда команда использовала Smoke of Deceit прямо перед живыми игроками. Комментаторы предположили, что таким образом машина издевается над своими соперниками, но поверить в это трудно. Тем более, что Blitz и команда потеряли самообладание уже после сообщений в чате.

На второй карте ИИ начал с установки двух Observer Ward в одной точке. В этот момент за саппортами гнался Fogged на Riki, но вряд ли действия ботов можно оправдать паникой. Впрочем, значительно чаще варды приносили команде ботов весомые плоды. Еще месяц назад разработчики запрещали использовать вардинг в матчах против команды OpenAI — прогресс налицо.

Боты активно используют местность. В матчах с ИИ из мастерской Steam зачастую можно поймать их на неумении использовать преимущества хайграунда. Про разработку OpenAI такого сказать никак нельзя. Во всех играх Sniper старался держаться около собственной башни, добивая крипов только сверху, а другие герои зачастую избегали смерти, укрываясь в деревьях. Но ярче всего ИИ проявил себя в драке на центральной линии, зажав соперника в лесу.

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

Разработчики замедлили ботов, но этого все еще мало. Ключевым моментом первой карты стала защита хайграунда в исполнении команды людей. Ее краеугольным камнем был Earthshaker с ультимативной способностью Echo Slam. Fogged смог отрезать двух героев с помощью Fissure и запрыгнул в драку с Blink Dagger, но Lion от OpenAI все равно помешал этой инициации.

На reddit посчитали, что разработчики сдержали обещание. Ранее в OpenAI заявили, что замедлили скорость реакции ботов с 80мс до 200мс, сделав ее более «человечной». Похоже, это действительно так — на использование Hex у Lion ушло 216,6мс. Проблема тут в том, что ИИ не требуется перемещать курсор — OpenAI «общается» с игрой посредством текстовых команд. Из-за этого боты все равно действуют быстрее людей, так как им не нужно прицеливаться.

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

Победа ботов OpenAI выглядит сомнительной. Кого-то разочаровала «нечестная» скорость реакции, другие обвиняют разработчиков в слишком большом количестве ограничений. С критикой можно согласиться — ИИ действительно требует большого количества условий для того, чтобы функционировать в «Доте».

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

Еще год назад первый бот OpenAI разгромил на центральной линии Dendi. Теперь он может управлять 18 героями и побеждать команду бывших про-игроков. Тем страннее, что произошел матч за десять дней до The International 2018. Вполне возможно, что для большой сцены OpenAI подготовила новый сюрприз.