View in Telegram
Generative Agents: Interactive Simulacra of Human Behavior Joon Sung Park, Joseph C. O'Brien, Carrie J. Cai, Meredith Ringel Morris, Percy Liang, Michael S. Bernstein Статья: https://arxiv.org/abs/2304.03442 Недавно упоминал эту прикольную работу (https://t.center/gonzo_ML/1467) от команды из Стэнфорда и Гугла, она прям классная, хочется её рассмотреть. В работе создают генеративных агентов, симулирующих человеческое поведение. Агенты живут своей жизнью: просыпаются, готовят завтрак, идут на работу и т.п., общаются с другими агентами, сохраняют воспоминания, планируют следующий день. Для агентов собрали сэндбокс под именем Smallville в виде маленького городка. Там есть дома, колледж, магазины, парк, кафе и т.п. В домах есть отдельные комнаты, в них есть предметы типа столов и шкафов. Этот мир описывается деревом, где в листьях отдельные предметы. Отображается всё в виде спрайтовой 2D-игры (собрана на Phaser, https://phaser.io/). Написанный сервер обеспечивает передачу состояния мира агентам и отвечает за перемещение агентов и их взаимодействия. Внутри себя он поддерживает JSON-структуру с состояниями агентов. Агентом является аугментированная памятью событий LLM, в данном случае ChatGPT (gpt3.5-turbo), GPT-4 в момент написания статьи была invite-only, поэтому её использовать не смогли (но должно быть лучше и дороже). В основе архитектуры агента три компонента: 1) Memory stream для хранения жизненного опыта (experiences) агента. 2) Reflection, синтезирующий воспоминания в более высокоуровневые выводы. 3) Planning, транслирующий умозаключения агента и состояние среды в верхнеуровневые планы и детальные поведения. Memory stream, база жизненного опыта агента, по сути центральный элемент архитектуры агента. Записи в базе и умозаключения агента идут на естественном языке, для этого и используется LLM. В случае когда агент участвует в куче событий челленджем является поднятие из памяти наиболее релевантных, иначе можно тупо перестать влезать в промпт. Суммаризацией тоже не всегда можно добиться нужного результата, важные вещи могут выпасть, тем более что важность может меняться в зависимости от ситуации. Поэтому важно вытягивать релевантное. У каждого объекта в памяти есть текстовое содержимое, дата создания и дата последнего обращения. Самый базовый тип элемента в памяти -- это наблюдение (observation), то что агент напрямую воспринимает. Это могут быть действия самого агента или наблюдаемые поведения других агентов или предметов. Пример наблюдений из памяти Изабеллы Родригес, работающей в кофейне: "(1) Isabella Rodriguez is setting out the pastries, (2) Maria Lopez is studying for a Chemistry test while drinking coffee, (3) Isabella Rodriguez and Maria Lopez are conversing about planning a Valentine’s day party at Hobbs Cafe, (4) The refrigerator is empty". Специальная retrieval-функция получает на вход текущую ситуацию агента и возвращает подмножество событий из памяти, чтобы передать в LLM. Скор каждого элемента зависит от трёх факторов: - Recency, экспоненциально затухающая свежесть, вычисляемая из времени последнего обращения к элементу. - Importance, что прикольно, получаемая из LLM по целочисленной шкале от 1 до 10, где 1 это что-то совсем бытовое и незначительное (чистил зубы), а 10 что-то очень важное (развод, поступление в колледж). - Relevance, которая считается через косинусную близость полученных через LLM эмбеддингов запроса и элемента памяти. Все три фактора нормализуются к диапазону [0, 1] и суммируются с весами (в текущей работе веса одинаковые). Лучшие кандидаты из памяти, что влезают в промпт, оставляются. Reflection это второй тип памяти после observation, более высокоуровневый и абстрактный, генерируемый агентом. Они тоже хранятся в memory stream и достаются retrieval’ом. Рефлексии генерируются периодически, когда сумма importance скоров для последних событий агента превосходит некоторый порог. На практике это происходит два-три раза в день.
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily