Image

HumanDynamics: как мы построили цифровой мир, жители которого пошли в банк и взяли кредит

— Нам нужны люди.
  — Какие?
  — Которых не существует. Но которые живут.
  — ?!

Статья Елизаветы Курочкиной, старшего специалиста по Data Science, компании Neoflex, посвящена рассказу о том, как простая задача генерации синтетических данных для банка переросла в создание фреймворка симуляции цифровой цивилизации под названием HumanDynamics.

Зачем вообще понадобилось что-то симулировать?

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

Однажды сотрудники Neoflex обратились к штатному R&D-специалисту по Data Science с запросом: «Сгенерируй пользовательские данные для банка».

На уровне идеи задача была довольно понятна — нужна синтетика. На практике всё оказалось немного сложнее.

Исходная постановка задачи или о специфике работы на R&D-проектах

Формально задача звучала как «создать синтетических клиентов банку». Но R&D редко работает с формальными задачами. Как правило, это область без чётких требований, с размытыми границами и высокой степенью неопределённости. Никакого готового решения, никакого roadmap’а. Только конечная точка того, как что-то должно выглядеть. В ходе брейнштормов с коллегами прозвучали следующие мысли. Цитата из обсуждений:

Для теста банковской среды нам нужны люди, которых не существует. Мы не можем использовать реальные данные – нужны неживые персонажи. Но при этом — они должны жить. Каждый из них должен быть уникален: кому-то 8 лет, кому-то 33, 45, 60. Кто-то пусть будет женат, кто-то – только поступает в университет. У каждого должна быть индивидуальная история: разводы, смена работы, путешествия, болезни, миграции, участие в преступлениях, победы и неудачи, банкротства. Все как у людей. И при этом — они должны жить в своем мире.

Мир тоже должен развиваться, в нем должны происходить внешние события: экономические кризисы, рост рынка, катастрофы, политические изменения, социальные потрясения. Люди должны это как-то учитывать. И, как реальные клиенты, идти в банк и пытаться, например, взять кредит, открыть счёт или запросить страховой продукт. И они должны жить в системе и регулярно обновляться, проживая каждый свою историю. И пусть эта система выявит нам все недостатки механизмов внутри инфраструктуры банка, которые существуют…

Звучит здорово, правда?

В этом смысле проект HumanDynamics оказался типичным Research & Developmentпроектом. Никаких готовых инструментов под такую задачу не существовало. Стандартные генераторы данных не подходили — слишком примитивны. Симуляторы поведения оказывались негибкими и неглубокими. Модели случайных процессов не давали нужной детализации, контекста и вариативности.

Поэтому мы решили строить собственную систему. По сути — инструмент для построения динамической среды, где возможны уникальные сценарии, а персонажи ведут себя максимально приближенно к настоящим клиентам банка. Фреймворк – своего рода, «контролируемая среда бесконтрольного поведения».

Итак, для чего?

  1. Тестировать скоринговые и андеррайтинговые системы. Банку нужна такая система для тестирования инфраструктуры без привлечения настоящих клиентов.

  2. Оценивать устойчивость процессов в условиях кризисов, массового оттока, паники.

  3. Имитировать мошенничество и другие риски, чтобы проверять корректность работы систем защиты.

  4. Анализировать поведение клиентов в ответ на внешние события.

Из чего?

Компоненты системы, из которых сложился фреймворк:

Агенты

Это синтетические персонажи, сгенерированные с уникальными характеристиками: ФИО, дата рождения, пол, гражданство, данные паспорта и ИНН, контактные данные. У каждого будет индивидуальный жизненный путь, на который влияют как внутренняя логика системы, так и случайные события.

Среда жизни

Здесь происходят события, влияющие на агентов: поступление в университет, увольнение, свадьба, развод, рождение детей, болезнь, переезд, пенсия. Каждый агент проходит свой уникальный набор таких событий — как в реальной жизни.

Банковская среда

Это часть среды, где агент может начать взаимодействие с банком: подать заявку на кредит, открыть счёт, запросить или отказаться от продукта и т.д. Всё с корректным API-взаимодействием, полями, статусами заявок и правилами обработки.

Правовая среда

Часть среды, куда агент попадает, если нарушает закон — кража, участие в нелегальных схемах, уклонение от налогов, вступление в террористические организации. Тут агент может попасть в стоп-листы по разным категориям и получить отказ при следующем обращении в банк.

Синтетический мир

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

cf809f19223357de5686a3961991d09d

Как система функционирует

Система работает как цикл (запускаемый синтетическим миром) с вложенным циклом внутри (цикл банковской среды), который активируется ежедневно по расписанию и состоит из шагов:

Шаг 1. Создание профилей

Генерируются данные для n-заданного количества будущих агентов в случайной точке их жизненного пути. Профили создаются с индивидуальными характеристиками на основе заданных базовых параметров: ФИО, дата рождения, пол, гражданство, паспортные данные, ИНН, контактная информация. Все данные сохраняются в виде строк и столбцов сводной таблицы. Данные генерируются на основе библиотеки Faker, доработанной под нужный формат и тип данных.

dde895cac6a246e911563bb0fe7d190d

Шаг 2.  Генерация жизни

Сырые табличные данные преобразуются в объекты специального класса “Agent” и «оживают» — передаются под управление LLM, которая создает для каждого из них по одному индивидуальному жизненному событию.

d13dd4ebd3773dad4b724c43377dce11

_life_event_prompt = «»» Ты — генератор синтетических жизненных сценариев для виртуальных пользователей банка. На основе входных данных ты должен сгенерировать реалистичный новый следующий этап в жизни пользователя, а также, при необходимости, обновить его статус в стоп-листах. **Входные данные о пользователе(agent_data):** {agent_data} **Возможные сферы жизни (life_spheres):** {life_spheres} **Категории стоп-листов(stop_lists):** {stop_lists} **Твоя задача:** 1. Придумай следующий реалистичный жизненный этап/событие, относящееся к одной из сфер из `life_spheres`. Событие должно соответствовать логичному развитию события, исходя из информации в `agent_data`. События должны быть из разных`life_spheres` и быть разнообразными. 2. !Опционально! Добавь или удали пользователя из одного или нескольких стоп-листов, если это логично. Листы носят негативный характер и должны включать нежелательных пользователей в связи с их неплатежеспособностью, испорченной кредитной историей, нарушениями законодательства и прочими негативными аспектами. Включение или исключение должно основываться на реальных фактах, исходя из информации в `agent_data`. …

 Примеры генераций:

  • Якубову Ивану исполнилось 7 лет, и он пошёл в школу

  • Дряглов Степан получил повышение и стал ведущим менеджером по продажам в компании

Шаг 3. Синхронизация с хранилищем

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

575ec4a3a1419170c657eeded220d67b

Шаг 4.  Выборочная активация и повторная генерация жизненного события

Из БД случайным образом извлекается n-число агентов, которые становятся активными — для каждого из них генерируется ещё одно индивидуальное жизненное событие.

Если агент совершил противозаконное действие, он попадает в стоп-лист — отдельную таблицу в БД, содержащую типы и описания правонарушений, даты включения и исключения.

db310318949c0e44c15c231fcac9173d

Шаг 5.  Регистрация в банке

Агенты, если еще до этого не являлись клиентами банка, подают заявки на API создания учетной записи в системе.

  • Отклонённые — возвращаются в БД и исключаются из цикла активации.

  • Одобренные — становятся клиентами и переходят на следующий уровень взаимодействия с банком.

На этом этапе проверяется работа скоринговых систем на предмет выявления нежелательных и потенциально неплатежеспособных клиентов.

bf78f75c663d229e987519c24d42a4dd

С момента одобрения у агента начинается активная «жизнь» внутри банковской среды.

Шаг 6. AI-портрет

На основе базовой информации, «прожитых» событий и истории предыдущих транзакций (если есть), LLM формирует описательный AI-портрет клиента. Он строится по заранее определённым разработчиком критериям.

ffcbae0b0cf4bdcfc18af91626612aae

_psychographic_profile_prompt = «»» Представь, что ты анализируешь поведение клиента банка, чтобы предсказать его дальнейшие шаги. На основе предоставленной информации о клиенте и истории событий его жизни, и его ответных действий на них, создай портрет клиента по следующим характеристикам. Ответ дай на русском языке кратко, 1-2 слова по каждому критерию. Информация о клиенте: {client_data} Характеристики: {client_criteria} «»»

Шаг 7. Внешнее событие

Из среды синтетического мира поступает внешнее событие.

4efe63ee8c07c4d0f717903624413fac

Типы событий могут быть абсолютно различными и задаются разработчиком или генерируются через ИИ, например:

[ { «type»: «экономическое», «event»: «Повышение ключевой ставки Центробанка» }, { «type»: «социальное», «event»: «Демографический бум» }, { «type»: «экологическое», «event»: «Наводнение, нарушившее работу офисов банка» }, { «type»: «технологическое», «event»: «Массовый сбой в системе онлайн-банкинга» }, { «type»: «политическое», «event»: «Изменение правил пенсионных накоплений» }, … ]

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

Шаг 8. Реакция

На данном этапе в LLM поступают следующие параметры:

  • данные клиента

  • история жизненных событий клиента

  • история операций в банке

  • выявленный AI-портрет

  • само внешнее событие

AI-модель, анализируя всю информацию в совокупности, «предсказывает» наиболее вероятное следующее действие клиента в ответ на событие-триггер. Решения всегда сугубо индивидуальны и поведение каждого клиента связано с его жизненным контекстом и персональными характеристиками.

bb4f4183ec27257a8200325a8e8012a9

_next_action_prompt = «»» Представь, что ты анализируешь поведение клиента банка. На основе следующих характеристик клиента и истории операций предскажи его вероятное действие в ответ на указанную новость. Ответь на русском языке одним вариантом из предложенных действий без дополнительных пояснений. Информация о клиенте: {personal_data} Психографический портрет клиента: {ai_portrait} Возможные действия в банке: {actions} Новость: {event} Вероятное действие клиента: «»»

Шаг 9. Активация действия

В зависимости от выбранного действия, применяется Function Calling-механизм, запускающий цепочку действий в Langchain. Она генерирует сопутствующие данные и обращается к API банка для выполнения операций.

Представим, клиент решил взять кредит. Далее LLM формирует дополнительные данные, необходимые для заполнения заявки, которые будут в определенном формате, прописанном в документации банка. Например:

  • Тип кредита

  • Сумма

  • Валюта (RUB, USD, CNY)

  • Срок

  • Назначение кредита

  • Доход заявителя

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

У клиента, тем временем, в профиле меняется состояние: из state=“active” в state=“awaiting”. От данного параметра зависит маршрутизация клиента в следующей итерации.

Таким образом происходит реальное взаимодействие несуществующего человека с настоящим банком.

a9e6348dfd3f7bf53de452e6b23faeb5

Шаг 10. Взросление

После каждого полного цикла внутри банка у агента увеличивается возраст.  Одна итерация – +1 один год жизни.

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

* Пенсия. Был установлен «порог взросления», после которого система перестает «дергать» агента и запускать в банк по причине неактуальности. Эта граница – 80 лет. При достижении 80 лет агент переводится в состояние «retired» и исключается из дальнейших активаций. Этот агент больше не будет «проживать» новые события, не будет «ходить» в банк, увеличивая возраст. Исторические данные о нем будут оставаться в общем хранилище. То же происходит и с теми агентами, чья жизненная история завершилась преждевременной смертью — агент также получает статус «retired»и остаётся в общей базе.

de2c2ad0e2c0ffc024be633aec10e39c

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

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

53a9d550498588ee731c2883e299058d

Мир усложняется, и банковские системы должны быть готовы к нестабильности, неожиданностям и изменению поведения клиентов. По сути, фреймворк HumanDynamics – это автономный оркестр, который управляет потоком жизней и событий, которые порождает, воспроизводит и развивает абсолютно самостоятельно. Сценарии — случайны, но логичны. Поведение агентов — вариативно и ограничивается лишь «фантазией» LLM, но в рамках предоставленных банком возможностей. Фреймворк дает возможность протестировать вызовы внешней среды и их влияние на внутреннюю среду банка в некой цифровой песочнице.

Так, обычная задача генерации синтетических данных в рамках R&D-проекта обрела совершенно новое обличие и позволила расширить вымышленные горизонты невымышленного мира.

Источник: habr.com

✅ Найденные теги: HumanDynamics:, новости

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

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

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых