Краткий обзор «Генеративные агенты: интерактивные симулякры человеческого поведения»

Исследователи из Стэнфорда и Google создали «генеративных агентов» на основе ChatGPT (gpt3.5-turbo), чтобы имитировать поведение человека в песочнице, вдохновленной Sims. Результатом их работы стал симулятор социального взаимодействия, в котором каждый агент может взаимодействовать друг с другом и с окружающей средой, выполняя различные задачи, просто используя естественный язык.

Этот эксперимент невероятно захватывающий, и мне очень понравилось читать статью. Мы были свидетелями впечатляющих применений больших языковых моделей (LLM) и раньше, но я снова был поражен тем, чего они могут достичь.

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

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

Джон Лин — владелец аптеки в магазине Willow Market and Pharmacy, который любит помогать людям. Он всегда ищет способы упростить процесс получения лекарств для своих клиентов; Джон Лин живет со своей женой Мэй Лин, профессором колледжа, и сыном Эдди Лином, студентом, изучающим теорию музыки; Джон Лин очень любит свою семью; Джон Лин знает пожилую пару по соседству, Сэма Мура и Дженнифер Мур, уже несколько лет; Джон Лин считает Сэма Мура добрым и приятным человеком; Джон Лин хорошо знает свою соседку Юрико Ямамото; Джон Лин знает своих соседок, Тамару Тейлор и Кармен Ортис, но раньше не встречался с ними; Джон Лин и Том Морено — коллеги из The Willows Market and Pharmacy; Джон Лин и Том Морено — друзья и любят вместе обсуждать местную политику; Джон Лин довольно хорошо знает семью Морено — мужа Тома Морено и жену Джейн Морено.

Чтобы гарантировать согласованность действий агентов во времени, авторы расширили ChatGPT тремя внешними компонентами. Эти компоненты позволяют агентам устанавливать распорядок дня, реагировать на новые события и при необходимости изменять свои планы.

Поток памяти

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

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

  • Давность оценивает недавние объекты памяти выше, что повышает вероятность того, что события моментальной давности останутся в поле зрения агента. Это не что иное, как экспоненциальное затухание с коэффициентом 0,99, присвоенным каждой записи на основе часов игры в песочнице.
  • Важность: авторы предлагают ChatGPT присвоить балл важности от 0 до 10 записям в долговременной памяти, учитывая текущую ситуацию. Например, это может дать 2 за «уборку в комнате» и 8 за «пригласить любимого на свидание».
  • Релевантность оценивает воспоминания, связанные с текущей ситуацией. Авторы размечают текущее состояние агента и вычисляют релевантность, используя косинусное сходство между встраиванием текущего состояния и встраиванием в память.

Затем оценки нормализуются и объединяются, а воспоминания с наивысшим рейтингом включаются в подсказку для определения действий агента на каждом временном шаге в цикле действий.

Отражение

Рефлексия — второй тип памяти, фиксирующий абстрактные мысли агента. Я нахожу этот компонент особенно интересным, потому что он имитирует работу человеческого мозга.

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

Когда оценки важности недавних событий превышают определенный порог, авторы извлекают последние 100 записей из потока памяти и запрашивают ChatGPT с «Учитывая только приведенную выше информацию, на какие 3 наиболее важных вопроса высокого уровня мы можем ответить. предметы в утверждениях?». Сгенерированные вопросы затем используются в качестве запросов для извлечения соответствующих воспоминаний. После этого CahtGPT просят извлечь информацию и цитировать определенные записи из памяти в качестве доказательства, которые затем сохраняются как отражения в потоке памяти, включая указатели на цитируемые объекты.

Планирование

Третий компонент — планирование, переводящее записи из потока памяти и текущего состояния среды в высокоуровневый план действий. Сначала ChatGPT просят создать примерный план на день, используя предыдущий опыт и текущее состояние в качестве контекста для подсказки, а затем рекурсивно просят добавить детали для более реалистичного поведения.

Каждый план состоит из местоположения, времени начала и продолжительности (например, в течение 180 минут с 9:00 12 февраля 2023 г. в общежитии колледжа Ок-Хилл: комната Клауса Мюллера: стол, читать и делать заметки для исследовательской работы ). Эти планы также записываются в долговременную память, что наряду с наблюдением и размышлением позволяет агенту решать, как себя вести.

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

Среда

Мир песочницы Smallville — это виртуальный мир с различными областями и объектами, вдохновленными The Sims, где каждый элемент имеет текстовую метку. Агенты перемещаются по этому миру, как в видеоигре, и взаимодействуют с ним, совершая действия. Они помнят части мира, которые видели, в том состоянии, в котором видели их через поток памяти. Агенты также взаимодействуют друг с другом и могут разговаривать на естественном языке. На каждом временном шаге они выводят утверждение, описывающее их текущее действие, которое затем преобразуется в движения, влияющие на виртуальный мир.

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

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