Westworld тут! Популярне «місто» Стенфорда має відкритий вихідний код, 25 агентів штучного інтелекту закохані та знаходять друзів|З підручниками на рівні няні

Джерело: "Xinzhiyuan" (ID: AI_era), автор: Xinzhiyuan

Будьте готові, Stanford Smart Town, який викликав сенсацію у всьому AI-спільноті, тепер офіційно відкрито!

адреса проекту:

У цьому цифровому віртуальному містечку пісочниці «Західного світу» є школи, лікарні та сім’ї.

25 агентів зі штучним інтелектом можуть не тільки працювати тут, спілкуватися, спілкуватися, заводити друзів і навіть закохуватися, але кожен агент має власну особистість і історію.

Однак вони навіть не підозрюють, що живуть у симуляції.

Старший науковий співробітник Nvidia Джим Фан прокоментував:

Stanford Agent Town — один із найзахопливіших експериментів AI Agent у 2023 році. Ми часто говоримо про нові можливості однієї великої мовної моделі, але зараз із кількома агентами штучного інтелекту ситуація складніша та захоплююча. Група штучного інтелекту може вивести процес еволюції всієї цивілізації.

Тепер перше, що може постраждати, це ігрове поле.

Одним словом, попереду безмежні нові можливості!

Користувач мережі: Виробники ігор, ви розумієте, що я маю на увазі?

Багато людей вважають, що цей Стенфордський документ знаменує початок AGI.

Цілком можливо, що різні рольові ігри та симулятори використовуватимуть цю технологію.

Користувачі мережі також були дуже схвильовані, і їхні мізки були широко розкриті.

Хтось хоче дивитися Покемонів, хтось – детективи про вбивства, а хтось – любовні вар’єте...

«Я не можу дочекатися, щоб побачити любовний трикутник між агентами ШІ».

«Повторювані, нудні діалоги та одновимірна система особистості в Animal Crossing, яку поділяють усі жителі села, настільки розчаровують. Nintendo, навчись!»

«Чи можуть Sims перенести це?»

Якщо ви побачите, як штучний інтелект працює на NPC у класичній рольовій грі, як-от «God Realm», усе враження від гри буде зруйновано! "

Деякі люди також вважають, що ця технологія також має багато сценаріїв застосування в корпоративному просторі, наприклад, як співробітники взаємодіють із різними робочими середовищами/змінами процесу.

Звичайно, деякі люди казали, чого ти в захваті? Насправді ми живемо в такій симуляції, але наш світ має більшу обчислювальну потужність.

Так, якщо ми достатньо збільшимо цей віртуальний світ, ми точно зможемо побачити себе.

### Карпати: агенти штучного інтелекту – наступний рубіж

Раніше Карпаті, колишній директор Tesla і гуру OpenAI, заявив, що агенти штучного інтелекту зараз є найсучаснішим напрямком у майбутньому.

Команда OpenAI провела останні п’ять років деінде, але Карпаті тепер вважає, що «Агенти представляють своєрідне майбутнє для ШІ».

Якщо в статті пропонується інший спосіб навчання великої мовної моделі, хтось із групи Slack у OpenAI скаже: «Цей метод, який я пробував два з половиною роки тому, він не спрацював».

Однак коли агент штучного інтелекту з’являється на папері, усі колеги дуже зацікавлені.

Карпати колись назвав AutoGPT наступним рубежем швидкої інженерії

25 агентів ШІ в "Westworld"

В американському телесеріалі «Західний світ» робота з попередньо встановленою сюжетною лінією поміщають у тематичний парк, він діє як людина, а потім скидає свою пам’ять і потрапляє у власну основну сюжетну лінію нового дня.

У квітні цього року дослідники зі Стенфорда та Google фактично побудували віртуальне місто, в якому 25 агентів штучного інтелекту можуть виживати та виконувати складну поведінку. Його можна назвати «Західним світом», який стає реальністю.

Адреса паперу:

Архітектура

Щоб створити агентів, дослідники пропонують нову архітектуру, яка розширює велику мовну модель і може зберігати досвід агента на природній мові.

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

Зрештою, користувачі можуть використовувати природну мову для взаємодії з усіма 25 агентами в місті.

Як і вище, архітектура генеративного агента реалізує функцію "вилучення".

Ця функція приймає як вхідні дані поточну ситуацію агента та повертає підмножину потоку пам’яті для передачі в мовну модель.

З іншого боку, пошук має багато можливих реалізацій, залежно від важливих факторів, які агент враховує, вирішуючи, як діяти.

Головним завданням для генеративних архітектур агентів є те, як керувати великою кількістю подій і спогадів, які необхідно зберігати.

Щоб вирішити цю проблему, ядром архітектури є потік пам’яті, який є базою даних, у якій записується весь досвід роботи агента.

Агент може отримувати відповідні спогади з потоку пам’яті, які допомагають йому планувати дії, правильно реагувати, і кожна дія повертається в потік пам’яті для рекурсивного вдосконалення майбутніх дій.

Крім того, дослідження також представило другий тип пам’яті — рефлексію. Рефлексія — це абстрактне мислення високого рівня, створене агентом на основі нещодавнього досвіду.

У цьому дослідженні рефлексія — це процес, який періодично запускається, і механізм рефлексії буде активовано лише тоді, коли агент оцінить оцінки важливості останньої серії подій і накопичення перевищує встановлений поріг.

Генеративні агенти генерують більше деталей рекурсивно зверху вниз, щоб створити правдоподібні плани.

І ці плани спочатку лише приблизно описували, що робити в цей день.

Під час виконання плану генеративний агент безперервно сприймає навколишнє середовище і зберігає сприйняті спостереження в потік пам'яті.

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

Під час експериментальної оцінки дослідники виконали контрольовану оцінку цієї основи, а також наскрізну оцінку.

Контрольна оцінка полягає в тому, щоб зрозуміти, чи може агент самостійно генерувати правдоподібну індивідуальну поведінку. Наскрізна оцінка полягає в тому, щоб зрозуміти здатність до появи та стабільність агента.

Наприклад, Ізабелла планує вечірку до Дня Святого Валентина і запрошує всіх прийти. З 12 агентів 7 ще розглядаються (3 мають інші плани, а 4 не мають ідей).

Це посилання дуже схоже на режим взаємодії людини.

### Спілкуйтеся як реальна людина

У цьому світовому містечку-пісочниці під назвою Смолвіль позначено зони. Кореневий вузол описує весь світ, дочірні вузли описують області (будинки, кафе, магазини), а листові вузли описують об'єкти (столи, книжкові полиці).

Агент запам'ятовує підграф, який відображає частини світу, які він бачить.

Дослідники запрограмували природну мову для опису ідентичності кожного агента, включаючи їхню професію та стосунки з іншими агентами, як початкову пам’ять.

Наприклад, початкова пам'ять агента Джона Ліна така:

Джон Лін — уважний власник аптеки, який постійно шукає способи зробити ліки доступнішими для клієнтів. Дружина Джона Ліна Мей Лін є професором університету, а його син Едді Лін вивчає теорію музики.Вони живуть разом.Джон Лін дуже любить свою сім'ю. Джон Лін знайомий зі старою парою сусідів, Семом Муром і Дженніфер Мур, кілька років, і Джон Лін вважає Сема Мура доброю людиною. Джон Лін дуже близький до своєї сусідки Юріко Ямамото. Джон Лін знав своїх сусідок Тамару Тейлор і Кармен Ортіс, але ніколи з ними не зустрічався. Джон Лін і Том Морено – колеги по фармацевтиці та друзі, які люблять обговорювати місцеву політику тощо.

Так виглядає ранок Джона Ліна: прокидається о 6 годині, починає чистити зуби, приймає душ, снідає, а перед тим, як вийти на роботу, він зустрінеться з дружиною Мей і сином Едді.

Таким чином, коли починається симуляція, кожен агент має власну початкову пам’ять.

Ці агенти соціально взаємодіють один з одним. Коли вони помітять один одного, може виникнути розмова.

З часом ці агенти формують нові стосунки та запам’ятовують свою взаємодію з іншими агентами.

Цікава історія полягає в тому, що на початку симуляції агент був ініціалізований, щоб влаштувати вечірку до Дня святого Валентина.

У ряді подій, які відбуваються згодом, можуть бути точки невдачі. Агент може не продовжувати наполягати на цьому намірі, або забути розповісти іншим, або навіть забути з’явитися.

На щастя, у симуляції вечірка до Дня Святого Валентина дійсно відбулася, і багато агентів зібралися разом і мали цікаві взаємодії.

Підручник рівня няні

Конфігураційне середовище

Перш ніж налаштовувати середовище, вам спочатку потрібно створити файл utils.py, що містить ключ OpenAI API, і завантажити необхідні пакети.

Крок 1. Створіть файл Utils

У папці reverie/backend_server (папці, де знаходиться reverie.py) створіть новий файл utils.py, а потім скопіюйте та вставте у файл такий вміст:

Скопіюйте та вставте свій OpenAI API Keyopenai_api_key = ""# Вставте свій ключ імені_owner = ""maze_assets_loc = "../../environment/frontend_server/static_dirs/assets"env _matrix = f"{maze_assets_loc}/the_ville/matrix"env_visuals = f"{maze_assets_loc}/the_ville/visuals"fs_storage = "../../ environment/frontend_server/storage"fs_temp_storage = "../../environment/frontend_server/temp_storage"collision_block_id = "32125"# Verbose debug = True

буде замінено вашим ключем API OpenAI і вашим іменем.

Крок 2. Установіть файл requirements.txt

Встановіть усе, що зазначено у файлі requirements.txt (ми наполегливо рекомендуємо спочатку налаштувати віртуальне середовище).

Наразі команда провела тестування на Python 3.9.12.

Запустіть симуляцію

Щоб запустити нову симуляцію, потрібно запустити два сервери одночасно: сервер середовища та сервер симуляції агента.

Крок 1. Запустіть сервер середовища

Оскільки середовище реалізовано як проект Django, потрібно запустити сервер Django.

Щоб зробити це, спочатку перейдіть до середовища/інтерфейсу_сервер (де знаходиться manage.py) у командному рядку. Потім виконайте таку команду:

python manage.py runserver

Потім відвідайте його у своєму улюбленому браузері.

Якщо ви бачите підказку «Ваш сервер середовища запущений і працює», це означає, що сервер працює нормально. Переконайтеся, що сервер середовища продовжує працювати під час виконання симуляції, тому тримайте цю вкладку командного рядка відкритою.

(Примітка: рекомендовано використовувати Chrome або Safari. У Firefox можуть виникнути деякі збої інтерфейсу, але це не повинно вплинути на фактичну симуляцію.)

Крок 2. Запустіть макетний сервер

Відкрийте інше вікно командного рядка (сервер середовища, який ви використовували на кроці 1, усе ще працює, і його потрібно не змінювати). Перейдіть до reverie/backend_server і запустіть reverie.py, щоб запустити макетний сервер:

python reverie.py

На цьому етапі з’явиться підказка командного рядка із запитом: «Введіть ім’я роздвоєної симуляції: «.

Наприклад, тепер ми хочемо запустити симуляцію, яка містить трьох агентів, Ізабеллу Родрігес, Марію Лопес і Клауса Мюллера, а потім введіть наступне:

база_the_ville_isabella_maria_klaus

Тоді з’явиться підказка: «Введіть назву нової симуляції:».

Наразі вам потрібно лише ввести довільне ім’я для представлення поточної симуляції (наприклад, «test-simulation»).

тест-симуляція

Забезпечте роботу сервера емулятора. На цьому етапі з’явиться таке підказка: «Введіть параметр»

Крок 3. Запустіть і збережіть моделювання

Перейдіть до simulator_home у своєму браузері та залиште вкладку відкритою.

Тепер ви побачите карту міста та список агентів, активних на карті, і можете використовувати стрілки клавіатури для переміщення по карті.

Щоб запустити симуляцію, вам потрібно ввести таку команду на сервері симуляції із запитом «Введіть параметр»:

бігти

Зауважте, що наведене вище потрібно замінити цілим числом, що представляє кількість ігрових ходів для моделювання.

Наприклад, якщо ви хочете змоделювати гру зі 100 кроків, ви повинні ввести run 100. При цьому ігровий крок означає 10 секунд у грі.

Тепер почнеться симуляція, і ви зможете спостерігати, як агент переміщається по карті в браузері.

Після завершення запуску знову з’явиться запит «Ввести параметр». На цьому етапі ви можете продовжити симуляцію, повторно ввівши команду запуску та вказавши потрібну кількість ігрових кроків, або ввівши exit, щоб вийти без збереження, або fin, щоб зберегти та вийти.

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

Крок 4. Повторне моделювання

Щоб відтворити запущену симуляцію, просто запустіть сервер середовища та перейдіть за такою адресою у вашому браузері: replay//.

де має бути замінено назвою симуляції, яка відтворюється, і буде замінено цілий часовий крок, з якого починається відтворення.

Крок 5. Демонстраційне моделювання

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

Щоб правильно продемонструвати симуляцію зі спрайтами символів, спочатку необхідно стиснути симуляцію. Для цього за допомогою текстового редактора відкрийте файл compress_sim_storage.py, розташований у каталозі reverie. Потім виконується функція стиснення з назвою цільового макету як вхідних даних. Таким чином файл симуляції буде стиснутий і готовий до презентації.

Щоб почати демонстрацію, будь ласка, відкрийте наступну адресу у своєму браузері: demo///.

Зауважте, що і мають те саме значення, що й згадане вище. Можна використовувати для керування швидкістю презентації, де 1 означає найповільнішу, а 5 — найшвидшу.

Спеціальне моделювання

У вас є два варіанти налаштування макетів.

Спосіб 1: Записати та завантажити історію агента

Перший полягає в ініціалізації агента з унікальною історією на початку симуляції.

Для цього вам потрібно 1) почати з однієї з базових симуляцій, 2) записати та завантажити історію агента.

Крок 1. Запустіть базове моделювання

У репозиторій включено дві базові симуляції: base_the_ville_n25 (25 агентів) і base_the_ville_isabella_maria_klaus (3 агенти). Одну з базових симуляцій можна завантажити, виконавши описані вище кроки.

Крок 2. Завантажте файл історії

Потім, коли буде запропоновано «Ввести параметр», вам потрібно завантажити історію агента за допомогою такої команди:

виклик -- завантажити історію_ville/.csv

де, потрібно замінити на назву існуючого файлу історії.

У репозиторій включено два приклади файлів історії: agent_history_init_n25.csv (для base_the_ville_n25) і agent_history_init_n3.csv (для base_the_ville_isabella_maria _klaus). Ці файли містять список записів пам'яті для кожного агента.

Крок 3. Подальше налаштування

Щоб налаштувати ініціалізацію шляхом запису власних файлів історії, помістіть файли в таку папку: environment/frontend_server/static_dirs/assets/the_ville.

Формат стовпця настроюваного файлу історії має відповідати прикладеному файлу історії. Тому автор рекомендує починати процес з копіювання та вставки файлів, які вже є в сховищі.

Спосіб 2: Створіть новий базовий макет

Для більш глибокого налаштування вам потрібно буде написати власний базовий файл симуляції.

Найпростіший спосіб — скопіювати та вставити наявну папку базової емуляції, а потім перейменувати та відредагувати її відповідно до ваших вимог.

Довідкові матеріали:

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити