NPC, що начебто «пам'ятають» гравця, вже траплялися не раз, і сценарій щоразу був схожий: за якихось тридцять хвилин розмови персонаж забував, що йому щойно вбили брата, або плутав гравця з героєм попереднього збереження. Ілюзія присутності розсипається швидше, ніж встигає прогрузитися екран завантаження. Тому питання вже не в тому, чи здатен генеративний AI колись витворити по-справжньому «живих» персонажів, а в тому, наскільки глибокою і наскільки затратною має бути ця пам'ять.

Пастка двох крайнощів: прапорці проти токенів

На сьогодні існують два полярні підходи. Перший — звичні ігри з деревами діалогів, де NPC «пам'ятає» виконаний квест лише тому, що в коді прописано умову на кшталт player_killed_bandit == true. Надійно, проте механічно, без будь-якого відчуття живої реакції. Другий підхід — експерименти з великими мовними моделями, де репліки генеруються на ходу: персонаж може пригадати образливе прізвисько, яке йому дали вчора, і навіть образитися на нього. Але це спрацює, лише якщо контекстне вікно ще не заповнилося по вінця і якщо розробники не вирізали частину історії заради економії токенів.

Справжня пам'ять — це не механічне зберігання тексту розмов, а здатність витягти з минулого саме те, що актуальне зараз, і діяти відповідно. Не повторювати слово в слово, а міняти ставлення, тон і навіть мету персонажа. Якщо гравець колись зрадив торговця, той не має просто констатувати «я пам'ятаю» — він повинен підняти ціни, відмовити в угоді або й взагалі нацькувати на гравця найманців за кілька годин ігрового часу. Реалізувати це справді непросто, зате це і є справжня складність, вартісна сама по собі.

Технічні глухі кути, серверний кошмар та економіка відкритого світу

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

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

Є ще один нюанс, про який майже не згадують: пам'ять NPC має бути не лише точною, а й цікавою. Персонаж, що пригадує кожну дрібницю, перетворюється на нав'язливого бухгалтера. Персонаж, що забуває важливе, викликає відчуття обману. Знайти баланс тут складніше, ніж здається, адже AI поки погано розпізнає, що варто тримати в пам'яті, а що можна сміливо відкинути.

Ілюзія свідомості проти емоційної реальності

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

Можливо, за кілька років з'являться системи, де NPC носитимуть із собою стислу, емоційно забарвлену версію спільної історії з гравцем, і навіть підлаштовуватимуться під його стиль гри. Але поки що це більше нагадує дорогий і нестабільний трюк, аніж справжню революцію.

А от ви б хотіли, щоб ваш улюблений торговець по-справжньому пам'ятав, як ви колись кинули його в болоті? Чи краще, щоб він просто завжди продавав зілля за нормальною ціною і не влаштовував драми?

Джерело: Galera News