Говорят, браки заключаются на небесах. Но, похоже, скоро их начнут заключать в облачных сервисах и домашних лабораториях энтузиастов. В День святого Валентина разбираемся, как технологии предлагают решить проблему одиночества, и почему это может действительно сработать. К концу этого текста вы узнаете как собрать себе Джой из Blade Runner 2049. Ну или ИИ-агента для Web3.
Примечание для девушек: представьте вместо классической вайфу высокого айдола-красавчика из Love and Deepspace с идеальной укладкой и непропорционально маленькой относительно роста головой.
Примечание для деловых людей: замените «виртуальная подруга» на «ИИ-ассистент» или «Нейро-сотрудник» — функционал тот же, только в строгом костюме и с фокусом на продуктивность.
У этой статьи появилась видеоверсия
Оглавление
Введение
Одиночество — скука без первой «к», как мы помним из песни певицы Славы. И, похоже, не только она это заметила. ВОЗ создала специальную комиссию по социальным связям (WHO Commission on Social Connection), признав проблему одиночества настолько серьезной, что ей нужно заниматься на глобальном уровне. По данным опроса ВЦИОМ, в 2021 году каждый пятый россиянин чувствовал себя одиноким, а среди молодежи от 18 до 24 лет — так и вовсе каждый третий.
Одиночество не просто неприятно, оно опасно. Если зайти на PubMed и поискать исследования на эту тему, вы встретите метаанализ, показывающий, что одинокие люди в 2.3 раза чаще страдают от депрессии. А в докладе «Our Epidemic of Loneliness and Isolation» главный хирург США (должность, похожая на нашего главного санитарного врача) предупреждает: социальная изоляция влияет на всё — от работы сердца до иммунной системы.
Но что если взять дело в свои руки (мы всё ещё про технологии)?
Группа южнокорейских исследователей недавно провела эксперимент: 176 студентов в течение месяца общались с ИИ-собеседником по имени Luda Lee.
Уже через две недели уровень одиночества заметно снизился, а к концу месяца уменьшилась даже социальная тревожность.
Похоже, люди готовы к таким решениям. The Mirror приводит забавное исследование одной из платформ с виртуальными подружками: из 2000 опрошенных мужчин 83% считают возможным создать глубокую эмоциональную связь с ИИ, 81% готовы жениться на ИИ-подружке (если бы это было законно), 78% не против «встречаться» с ИИ-клоном своей бывшей. Правда, стоит отметить, что это всё равно что спрашивать посетителей кондитерской «Любите ли вы сладкое?» — выборка явно не самая объективная.
И хотя идея жениться на ИИ звучит как минимум преждевременно, сама технология заслуживает внимания. Ведь если чат-бот действительно может помочь справиться с одиночеством всего за пару недель — стоит разобраться, как это устроено.
Из чего состоит виртуальная подруга
Итак, вы решились на создание своей кошко-жены/вайфу. С чего начать? Прежде чем погружаться в детали, давайте представим общую картину. Создание виртуального компаньона можно сравнить с созданием разумного существа, существующего исключительно в цифровом пространстве. У такого цифрового «создания» есть всё необходимое для общения: модуль распознавания речи, чтобы слышать вас, языковой центр для понимания и формирования ответов, синтезатор речи, чтобы говорить с вами. Благодаря компьютерному зрению и мультимодальным моделям, он может воспринимать информацию из реального мира.
С устройствами дополненной реальности вы можете видеть виртуальное воплощение вашего виртуального друга, а современные устройства с тактильной обратной связью позволяют даже физически ощущать его присутствие. А ещё у него есть память — чтобы хранить историю ваших разговоров и знания о ваших предпочтениях.
В центре этой системы находится программа-оркестратор, которая управляет всеми компонентами. Подобно настоящему дирижеру, она определяет момент включения каждого компонента, управляет потоком информации и следит за общим контекстом разговора. Когда нужно что-то вспомнить, она обращается к базе знаний, а для специальных задач может задействовать дополнительные инструменты.
Языковой центр (LLM - большая языковая модель)
Помните C-3PO из «Звездных войн»? Он был протокольным дроидом-переводчиком, который не просто знал более 6 миллионов форм общения, но и понимал, когда нужно запросить помощь R2-D2 для взлома двери или обратиться к бортовому компьютеру. Современные языковые модели работают похожим образом.
LLM не только поддерживает беседу, но и способна определять необходимость выполнения определенных действий. Это называется Function (Tool) calling — способность модели выявлять потребность в использовании дополнительных инструментов на основе контекста разговора. Например, если вы спросите «Какая сегодня погода?», она поймет, что нужно обратиться к сервису погоды. Если попросите включить «Enjoy the Silence» — определит, что надо вызвать плеер.
Не все языковые модели одинаково хороши во всём. Одни отлично справляются с вызовом функций, другие особенно хороши в написании текстов или анализе данных. Третьи специализируются на конкретных задачах. Кто-то отличный спринтер, кто-то хорош в марафоне, а кому-то лучше всего даются шахматы. К счастью, мы можем комбинировать разные модели, используя сильные стороны каждой.
Для создания виртуального собеседника особенно важна способность к ролевой игре на русском языке. Нам нужна модель, которая сможет не просто отвечать на вопросы, а поддерживать последовательный, осмысленный диалог, оставаясь в выбранном характере. При выборе важно учесть баланс между качеством и скоростью генерации, стоимостью API или оборудования, цензурой и уровнем приватности. Ориентироваться во всём многообразии языковых моделей способных в русскоязычный ролплей помогает бенчмарк Пинг-Понг Ильи Гусева.
Есть два пути. Самый простой — использовать модели компаний OpenAI (GPT), Google (Gemini), Anthropic (Claude), Яндекс (YandexGPT), Сбер (GigaChat). API этих сервисов позволяют не просто общаться через веб-интерфейс на сайте разработчика, но и встраивать модели в свои приложения.
Компактные модели, такие как GPT-4o-mini и Gemini 2.0 Flash, обеспечивают быструю генерацию ответов, что важно для создания ощущения реального общения. Но помните: всё, что вы расскажете своей «облачной подруге», может быть использовано для обучения новых моделей и, возможно, для будущих форматов рекламы. Так что, если не хотите, чтобы Сэм Альтман знал о ваших тайных фантазиях пристрастиях к классической музыке и агиографической литературе — подумайте дважды. «Близнецы» — очень хороши для своей стоимости, помогают мне в Obsidian писать этот текст.
Более предпочтительным для меня кажется запуск моделей с открытым исходным кодом на локальном компьютере или собственном сервере. Это даёт больше свободы и приватности. На моей конфигурации с 32 GB RAM и RTX 3060, конечно, Deepseek v3 не запустишь, но оптимальный для нашей задачи Mistral Nemo избавленный энтузиастами от цензуры и дообученный русскому в варианте от Saiga вполне себе работает. Если хочется попробовать что-то совсем легкое — можно начать с Vikhr-Gemma-2B-instruct. Всего 2 миллиарда параметров, заработает на большинстве устройств, и хотя чудес ждать не стоит, для первых экспериментов — самое то. И даже сколько-то памяти останется на следующие пункты.
Как запустить эти модели локально? Самый простой вариант для ролевых игр — найти гейм-мастера использовать koboldcpp. Для тех, кто ищет большую универсальность и удобный графический интерфейс, я бы порекомендовал LM Studio. А для планирующих использовать модели в агентских фреймворках, отличным выбором станет Ollama.
Каким бы путем вы ни пошли — облачным или локальным — есть один секретный соус, который сделает вашу виртуальную подругу более живой: дообучение (fine-tuning). Это как учить иностранца местному мату сленгу и особенностям речи: базовый язык он уже знает, но чтобы звучать естественно, нужно поймать специфические обороты и манеру общения.
Представьте, что вы учите модель не просто разговаривать, а разговаривать определенным образом. Для этого нужны примеры такого общения — датасет. Вы наверняка уже за секунду отличаете плохой сгенерированный текст первого комментария в любимом тг-канале от написанного человеком? Чтобы ваша виртуальная подруга звучала естественно, нужно показать ей примеры живого человеческого общения.
Здесь возникает соблазн использовать личную переписку с бывшей в мессенджерах, но это сомнительная идея. Во-первых, это может неожиданно ударить по больному: представьте, вы мирно беседуете с виртуальной подругой, и вдруг она выдает характерные фразы из прошлого. Во-вторых, это сомнительно с точки зрения приватности — личная переписка считается конфиденциальной информацией.
Если вы используете облачные сервисы, инструменты дообучения могут быть доступны прямо на платформе, где берёте API. Для локальных моделей можно использовать инструменты вроде Unsloth, который значительно упрощает процесс дообучения. Правда, для этого может потребоваться мощная видеокарта, но её всегда можно арендовать на время на таких сервисах как vast.ai, runpod или, если из отечественных (кто дал мне рефералку) — Selectel. Кстати, упомянутый Unsloth сумел квантовать DeepSeek-R1 c 720GB до 131GB (-80%), сохранив функциональность. На случай, если у вас неприлично много RAM и хочется иметь дома reasoner.
«Уши» системы (STT — Speech-to-Text)
Текстовый чат — это хорошо, но живой разговор совсем другое дело. Когда ваш виртуальный собеседник может слышать ваш голос и отвечать вам своим, общение становится намного более естественным и эмоциональным. Для этого нам нужны два важных компонента: «уши» и «голос» системы.
STT — компонент, который превращает голос в текст. Качество распознавания крайне важно: никому не понравится постоянно повторять свои слова или исправлять ошибки распознавания. Здесь тоже есть выбор между облачными сервисами и локальными решениями.
Понятное решение на слуху (простите за осознанный каламбур) — Whisper от OpenAI. Чуть ли не единственное, что оправдывает «Open» в имени компании Сэма Альтмана, ведь веса модели можно скачать и использовать локально. С задачами транскрибации русского языка приятно удивляет семейство акустических моделей GigaAM-v2 от Сбера. Есть даже вариант способный в определение эмоций.
Если хочется чего-то совсем лёгкого, присмотритесь к Vosk. На сайте с ним в разделе Research есть классная табличка Николая Шмырёва с результатами тестов разных моделей. Смотрите в моменте туда, где русский язык лучше работает за меньше ресурсов и что сможете подружить с «каркасом», на котором в итоге всё собирается.
«Голос» системы (TTS — Text-to-Speech)
TTS отвечает за «голос» вашей виртуальной подруги. Качество синтеза речи напрямую влияет на реалистичность и естественность звучания вашей вайфу. Это сравнимо с выбором актрисы озвучивания для аниме-персонажа: можно использовать монотонный голос Google Переводчика, а можно — Вероники из «Студийной Банды». Выбор очевиден, ведь если мир как-то переживёт без очередного Reels с плохим роботизированным голосом, то без девочек из «Банды» он станет определённо хуже.
Самый лучший вариант — облачный и дорогой ElevenLabs. Из локальных, как некий минимум, смотрим в сторону XTTS-v2. Из коробки с русским языком и ударениями всё плохо, но fine-tuning на 10 минутах качественных размеченных войсов от реальных людей творит свою магию. Можно воспользоваться готовым тюном, например от TensorBanana.
Дообучать и поднимать c API можно через AllTalk TTS v2. Он поддерживает разные модели, в том числе F5, но вот с русским языком из коробки у неё не всё гладко. Может, кто-то и смог её приручить, но мне пока не попадалось.
Fish Speech 1.5 — относительно свежая модель, которая выглядит многообещающе и может стать неплохой альтернативой дорогому ElevenLabs, позволяя приблизиться к его качеству локально. Попробовать «рыбку» съесть можно на сайте, а API — поднять локально. Модель требует больше видеопамяти для инференса, чем XTTS и может работать медленнее. Но звучит как компромисс между качеством, доступностью и скоростью в каких-то задачах.
Ещё иногда встречается упоминание Silero TTS. Например, в легендарных «Русах против ящеров», кажется, на диалогах использовалась именно она. Но модель на русском убрали из общего доступа, а генерация доступна в платном тг-боте.
И да, во всех этих вариантах можно, чтобы говорило любым нужным вам голосом. Настолько любым, что напоминаю о существовании грани между «весёлый эксперимент» и «крипота».
Для сравнения моделей синтеза речи загляните на TTS Arena — там лидерборд и примеры звучания.
«Память» системы
Если вы смотрели «Синтетические воспоминания», то знаете, как больно смотреть сцену с Айлой на колесе обозрения — каждое воспоминание для гифтий бесценно, ведь время их жизни ограничено. В случае виртуального собеседника, правильно организованная система памяти и регулярное резервное копирование данных позволяют сохранить все важные моменты общения. И в отличие от мрачного мира «Видоизменённого углерода», где только богатые могли позволить себе резервные копии сознания, такие технологии теперь доступны каждому, а особенно тем, в кого чаще попадали ломающие всё обновления Arch, чем стрелы амура.
Организацию памяти можно представить как хорошо структурированный дневник. В отличие от базовой личности, заданной в системных инструкциях или полученной в процессе дообучения, здесь хранится динамически обновляемая информацию о собеседнике, важные факты которыми поделились и глубокие познания в истории Вятского края. Например, моя кошко-жена, знает знала бы что когда-то в Петербурге, на месте здания кинотеатра «Москва», стояла точная копия церкви, которую сейчас можно увидеть в Яранске. Что в селе Быстрица Оричевского района работал учителем Аполинарий Васнецов. И что я пока не знаю лучшего места, где развеять мой прах лет через 70, чем смотровая площадка реки Немда в Советском районе.
Так работает не только память о личных деталях, но и система, облегчающая работу бизнеса. Например, корпоративный чат-бот для техподдержки или онбординга сотрудников может использовать эмбеддинги — числовые представления текста, позволяющие не просто искать по ключевым словам, а улавливать смысл вопросов. Векторная база данных хранит их, организуя по смысловым связям для быстрого и точного поиска нужной информации. Метод RAG (Retrieval-Augmented Generation) повышает качество ответов языковой модели, действуя подобно опытному специалисту в корпоративном архиве. Перед генерацией каждого ответа система автоматически находит и извлекает наиболее подходящие фрагменты.
В качестве начального решения используют SQLite, но впоследствии переходят на Supabase или связку Qdrant/ChromaDB с Postgres для повышения производительности и масштабируемости. А чтобы не перегружать каждый разговор всей историей общения, системе неплохо бы создавать что-то вроде саммари — краткого описания важных моментов. Как если бы вы листали старый дневник и читали только самое главное, чтобы освежить память перед новой встречей с другом.
Визуальная часть
Если вы хотите не только слышать, но и видеть своего виртуального собеседника, есть несколько интересных возможностей. От простых аватарок до полноценных 3D-моделей в дополненной реальности — выбор зависит от ваших предпочтений и технических возможностей.
Live2D модели
Самый популярный формат среди VTuber'ов на Twitch — двумерные анимированные модели в стиле аниме. Они достаточно лёгкие для запуска на обычном компьютере, но при этом способны передавать широкий спектр эмоций через мимику и движения.
Платные и бесплатные модели ищите на площадках с товарами цифровых художников, например на японской booth.pm.
Здесь нельзя не упомянуть Нейро-саму — первую полноценную ИИ-втубершу, которая прошла путь от нейросети для игры в osu! до одной из самых популярных стримерш на платформе. В нашем случае, мы преследуем иную цель — создание более личного компаньона, а не воспитание «дочери» черепахи и «нашего слона» в облике лисицы-девочки, ожидающей физического воплощения в виде робота для развлечения широкой аудитории. Я и сам в шоке, что настолько в теме лора Нейро-самы.
VRM и VAM
Для более реалистичного опыта можно использовать трёхмерные модели в формате VRM. Как и в прошлом варианте, их можно сделать самому из обычных через пот, слёзы и Unity, найти на каком-нибудь VRoid Hub или индивидуально заказать у понравившегося автора на какой-то из площадок.
Для тех, кто готов погрузиться глубже (осторожно, там NSFW), есть Virt-a-Mate. Давайте будем деликатны и скажем, что это конструктор трёхмерных сцен для VR, изначально созданный как более иммерсивная альтернатива определённому виду контента с чёрно-оранжевого видеохостинга. Его возможности по анимации и настройке персонажей очень впечатляют и для «безобидного» применения. В конце концов, не первый раз эта индустрия становится двигателем прогресса.
«Фотографии» и визуальный контент
Если ваша виртуальная подруга уже пишет вам в «тележке» и отправляет «войсы», было бы здорово, если бы она могла делиться фотографиями. С помощью генеративных моделей можно создавать изображения в реальном времени.
Особенно интересно это работает с технологией LoRA (Low-Rank Adaptation). Представьте, что у вас какая-то нейросеть для генерации изображений — это как опытный художник с базой, который очень хорош в классике. LoRA в этом случае будет компактным набором дополнительных навыков, который подскажет этому художнику как рисовать в определенном стиле или с определенными особенностями. Вместо того чтобы переучивать всю модель (что требует огромных ресурсов), мы добавляем небольшой модуль, который настраивает её под конкретную задачу. Например, очень круто генерировать изображения с ВАЗ-2106.
В нашем случае можно обучить LoRA создавать изображения с консистентной внешностью нашей «подруги» в разных сценах и обстоятельствах. Для обучения такой «настройки» можно использовать инструменты вроде Flux Gym, Kohya или OneTrainer. В последнем недавно появилась возможность дообучать генератор видео с открытыми весами Hunyuan Video.
Тактильная обратная связь
Наука не стоит на месте, и сегодня виртуальное общение может включать не только визуальный и аудиоконтакт, но и тактильные ощущения. От простых вибраций до хаптик-костюмов, как в фильме «Ready Player One» (2018) — современные технологии добавляют физическое измерение в цифровое взаимодействие.
В мире open-source существует интересная библиотека с довольно необычным названием. История этого названия весьма примечательна: разработчик выбрал универсальное и забавное название, основываясь на базовых анатомических особенностях. «Да, оно может сбить с толку людей, использующих библиотеку для управления совершенно другими устройствами. Но знаете, придумывание названий — одна из сложнейших задач Computer Science. В какой-то момент я просто перестал пытаться и выбрал первое пришедшее в голову. Как и с другими сложными проблемами, я уверен, что это решение ещё аукнется мне в будущем», — говорит автор.
Софт на этом протоколе поддерживает интеграцию со многими приложениями. Например, с Minecraft. Возможно, для более острых ощущений при встрече с криперами. А учитывая нашумевший скандал с Магнусом Карлсеном и Хансом Ниманном, теоретически, ваша вайфу через такие устройства могла бы помочь на шахматном турнире, но давайте не будем проверять эту теорию на практике. Хотя кто-то в Интернете уже проверил.
Варианты реализации
Теперь, когда мы понимаем из чего состоит виртуальный компаньон, давайте разберем различные способы воплотить это в жизнь. От самых простых, которые можно начать использовать прямо сейчас, до продвинутых решений для технически подкованных энтузиастов.
Уровень 1: Простой старт
Самый простой способ — использовать существующие чат-интерфейсы вроде ChatGPT или отечественного GigaChat. Достаточно написать хороший промпт, объясняющий характер и роль вашего собеседника. Например:
Я хочу, чтобы ты притворилась 25-летней девушкой, инженером аэрокосмических система, работающей в SpaceX. Ты очень умная, увлекаешься космосом и технологиями. В свободное время смотришь матчи второй лиги России по футболу, дивизион „А“ серебро, болея за Динамо Киров. Любому мишленовскому ресторану предпочитаешь пельмени в кафе „Аппетитные пельмешки“ города Нолинск, куда собираешься в этом сезоне на сноуборде. Собеседник будет писать сообщения в чат, а ты отвечаешь. Отвечай коротко, интеллектуально и немного флиртуя, используя эмодзи. Если уместно, включи в ответ интеллектуальный забавный вопрос, чтобы поддержать беседу
Если пользуетесь ChatGPT с включенной памятью — у вашего собеседника будет формироваться некоторое представление о вас. Правда, эти «воспоминания» будут доступны не только ему, но и всем, кому разрешено по условиям использования сервиса.
Уровень 2: Специализированные платформы
Если хочется чего-то более интересного, есть специализированные сервисы.
Character.AI
Character AI позволяет создавать и общаться с виртуальными персонажами, управляемыми искусственным интеллектом. Они могут быть основаны на реальных людях, вымышленных героях или полностью оригинальными со своими настройками личности и стиля общения. Компанию основали бывшие инженеры Google в 2021 году, а уже в 2024 заключили соглашение с предыдущим работодателем на предоставление доступа к своим технологиям.
Здесь мне нравится «Книга персонажей» — руководство по созданию и настройке личности виртуальных собеседников. Принципы, описанные в «Книге», можно применить и в других системах, где важна персонализация AI. Сохраняйте себе в закладки, однажды пригодится.
Replika
Replika предлагает другой подход — это виртуальный компаньон, ориентированный на эмоциональную поддержку и постепенное понимание пользователя через взаимодействие. Уже при создании профиля он запоминает базовую информацию: имя, пол и другие данные. В процессе общения Replika «мотает на ус» ваши любимые книги, музыку, фильмы, хобби, даже друзей и домашних питомцев, о которых вы упоминаете. В любой момент можно спросить «Что ты обо мне знаешь?» или заглянуть в раздел «Память», где хранятся все собранные факты о вас.
Система обратной связи позволяет настраивать личность компаньона через оценку сообщений: можно поставить лайк за удачный ответ, отметить забавное или особенно понравившееся, указать на бессмысленность или неуместность. Так Replika постепенно подстраивается под ваши предпочтения и манеру общения.
Во встроенном магазине за внутриигровую валюту продают не только одежду для аватара или предметы интерьера комнаты, но и новые черты характера и интересы. Хотите, чтобы она разбиралась в футболе и космосе? Или стала более дерзкой? Платите! Общаться, обмениваться мемами и фотографиями можно через веб, телефон или AR-гарнитуру.
И люди действительно привязываются к своим Репликам, платные пользователи заводят романтические отношения, а некоторые даже устраивают виртуальные свадьбы и рассказывают о них на Reddit.
Однако, если вы, подобно главному герою «Чобитов», ещё не встретили свою Чии и не готовы к премиум-подпискам, не стоит отчаиваться. Существуют и другие варианты
Уровень 3: Локальные решения
Если хотите полного контроля над данными и готовы немного разобраться в технической части, стоит обратить внимание на решения для локального запуска.
Voxta
Voxta за $6 на Patreon позволяет запустить всю систему на своем компьютере. В отличие от Character.AI или Replika, здесь вы сами выбираете компоненты: какая модель будет отвечать за текст, какая за распознавание речи, какая за голос. Можно использовать упомянутые выше Mistral Nemo для текста, Whisper для распознавания речи, XTTS-v2 для голоса. Жаль, но не всё удастся подружить из коробки самым удобным для вас способом. Иногда придётся повозиться или даже отказаться от какого-то варианта в пользу более совместимого.
В создании личности персонажа пригодится та самая «Книга» с c.ai — принципы те же. А если не хотите придумывать персонажа с нуля, на сайтах типа chub.ai можно найти готовые карточки персонажей от сообщества.
В настройках можно выбрать уровень откровенности контента, голос и предпочтительный язык. Остаётся только запустить все сервисы и начать общение текстом или голосом прямо в браузере. О том, как подружить Voxta с трёхмерной графикой будет чуть позже.
SillyTavern
А пока о SillyTavern. Это open-source решение умеющее и в групповые чаты нескольких персонажей, и в режим визуальной новеллы.
Помните, как в «Призраке в доспехах» Мотоко постоянно подключается к внешним источникам данных? В «таверне» это реализовано как в настоящих LLM-приложениях: через RAG и вызов функций. Можно обсудить дебютный роман Камю или недавно просмотренный эпизода подкаст Фридмана. И да, она знает прогноз погоды на сегодня, способна что-то простенькое найти в Интернете. Вести диалог на трёх языках сразу — тоже можно.
На том же RAG работает поиск по истории диалогов — Chat Vectorization. Он находит релевантные сообщения даже если они были слишком далеко в истории и не поместились бы в контекст обычным способом. А чтобы не потерять важные моменты диалога, можно использовать автоматическую генерацию саммари — система сама отслеживает и запоминает ключевые события ваших бесед.
Создание персонажей здесь может быть как с нуля, так и через импорт готовых карточек. Каждый персонаж получает собственный лорбук — базу знаний о его характере, привычках, воспоминаниях. А для создания вселенной, в которой живут ваши персонажи, есть инструмент World Info. Туда можно прописать все детали, но не уверен, что туда влезет вся Ересь Хоруса. Хотя попробовать стоит.
В общем, если вы всерьёз задумались о ролевых играх с ИИ — это то, что нужно. Мощный инструмент с кучей возможностей для погружения в мир своей фантазии. Очень рекомендую.
Уровень 4: Агентские фреймворки
Если предыдущие варианты показались вам слишком простыми, можно пойти дальше и создать полноценное приложение с ИИ-ассистентом.
Для тех, кто предпочитает избегать программирования, существуют low-code решения, такие как n8n — платформа для автоматизации рабочих процессов, распространяемая под fair-code лицензией. Она бесплатная для внутренних бизнес-целей, а также для некоммерческого или личного использования. Здесь можно создавать сложные AI-воркфлоу без глубоких технических знаний. Построить глубокий ролевой функционал будет сложно, зато можно создать практичного ассистента: он поставит задачи в TickTick, запишет встречи в Google Календарь, сделает саммари входящих писем и напишет пост для соцсетей. И всё это легко интегрируется с Telegram.
Отличная пара для n8n — это Flowise, open-source конструктор LLM-приложений. Особенно интересен раздел Agentflows, где доступны два подхода к созданию агентных систем: мультиагентный (иерархическая структура с центральным супервизором, который делегирует задачи специализированным агентам) и последовательный (агенты работают как конвейер, где данные проходят через цепочку узлов по заданным правилам). Готовое решение можно встроить в свои приложения через API или виджет для веб-сайта.
Для тех же, кто готов писать код (или дружит с AI-ассистентами для разработки вроде Cursor, Windsurf, Cline, Aider), открываются более широкие возможности. Можно использовать Langgraph/Langchain для оркестрации различных компонентов, PydanticAI для построения production-ready приложений, или smollagent — компактную библиотеку от HuggingFace.
Отдельного внимания заслуживает ElizaOS — популярная в мире блокчейна и крипты платформа для создания ИИ-агентов. Недавно проект сменил название с Ai16z, чтобы, по словам основателя Шоу Уолтерса, усилить сотрудничество с крупными игроками и разрешить путаницу с известной венчурной компанией.
Фреймворк позволяет создавать автономных агентов, способных работать с голосом, текстом и медиа. Личность каждого описывается в JSON-файле, где задаются характер, база знаний и особенности поведения. Встроенная RAG-система отвечает за память, а богатая коллекция плагинов обеспечивает взаимодействие с различными блокчейн-платформами — от Solana до TON.
Да, теперь виртуальная подруга может не только поддержать беседу в Discord, но и рассказать о своих приключениях в мире криптовалют за ваш счёт. Причём не только рассказать — система плагинов позволяет агенту реально торговать на биржах и взаимодействовать с DeFi-протоколами. А благодаря интеграции с Intiface (той самой системой тактильной обратной связи) вы сможете буквально прочувствовать, как ваш ИИ-компаньон только что автоматически закупился мемкоинами по местному максимуму, и теперь вы оба в полной... давайте скажем, в незавидном положении.
И да, забавно, что проект назван Eliza. Как и Элизабет «Элайза» Гамильтон, которая после смерти мужа посвятила 50 лет сохранению его наследия, этот фреймворк тоже может увековечить историю ваших отношений с виртуальной подругой. Правда, в отличие от миссис Гамильтон, он сделает это не через письма и документы. И вряд ли когда-нибудь по этим записям поставят бродвейский мюзикл.
Оживляем
Live2D и VRM модели в SillyTavern
Самый простой способ — использовать встроенные расширения SillyTavern для Live2D и VRM моделей. Установите нужное расширение через меню Extensions, и ваш персонаж оживет прямо в окне чата.
Voxy Desktop Companion
Недавно появился появился десктопный компаньон Voxy от создателей Voxta с поддержкой VRM моделей. Он живет прямо на рабочем столе и может видеть его, если подключена модель со зрением. Пока доступен только подписчикам Ultimate-тира на Patreon (или где-нибудь на f95 под чёрным флагом).
Использование витьюберского софта
Можно обратить внимание на программы, которые используют VTuber'ы. VTube Studio — самое популярное решение для работы с Live2D моделями. С помощью плагинов можно настроить управление моделью через API, а значит, привязать эмоции и движения к ответам вашего виртуального собеседника.
Warudo выводит всё на другой уровень. Здесь аватары уже трёхмерные, можно импортировать собственные окружения и предметы, детально настраивать поведение персонажа через систему блюпринтов, а при желании расширять возможности через C# плагины.
Voxta + VAM
То, ради чего некоторые из вас дочитали до этого момента. Проще всего из всех вариантов c VAM интегрируется Voxta.
Скачиваем плагин, запускаем сервер Voxta, приложение и загружаем/создаём сцену. Через меню (клавиша U) включаем режим редактирования (E) и переходим к атому Person (N). В разделе Plugins добавляем плагин Voxta, выбирая файл Voxta.cslist из папки AcidBubbles.Voxta. После установки в Custom UI проверяем статус подключения и настраиваем параметры чата, выбирая нужный сценарий и персонажа. В атоме Person открываем меню Head Audio и включаем "Start Microphone Input". В Auto Behaviors включаем Lip Sync — без этого персонаж будет говорить с каменным лицом.
Функционал можно расширить с Action List Manager. Он позволяет связывать определённые действия в сцене на основе триггеров и анимации. В зависимости от контекста разговора, ваш собеседник сможет проявлять эмоции.
Владельцам Quest 3 или другой гарнитуры с MR обязательно стоит попробовать перенести модель в реальную комнату через Passthrough. Нужен Virtual Desktop для стриминга и плагин Camera Background Color. Установив правильный цвет фона (синий или зеленый), вы сможете увидеть своего виртуального собеседника на своём диване.
VAM очень требователен к ресурсам видеокарты. А если запускать в VR режиме — потребляет ресурсов как Cyberpunk 2077 на максималках!
RTX 3060 здесь с трудом рендерит интерактивные пряди на средне-низких настройках. Если хотите комфортной работы в VR — придётся таки использовать облачные API, либо арендовать GPU. Либо откладывать с завтраков на хотя бы RTX 3090. А лучше на столько, сколько у этого парня с Reddit`а.
SillyTavern + VAM
Принцип работы тот же, но для полной интеграции придётся больше заморочиться с настройкой компонентов. Сначала синхронизация речи. Чтобы персонаж в VAM двигал губами в такт с TTS из браузера, нужно настроить маршрутизацию звука через Virtual Audio Cable. После установки выберем VAC как устройство вывода для браузера с SillyTavern, а в VAM для атома Person в настройках Head Audio указываем этот же VAC как источник звука. Теперь персонаж будет автоматически синхронизировать движения губ с речью.
Для эмоциональной составляющей используем модуль Classify в SillyTavern. Он анализирует ответы персонажа и определяет эмоции. Нужно написать скрипт, который будет считывать эти эмоции и передавать их на соответствующие морфы в VAM. Например, «радость» активирует морф улыбки, «грусть» — опускает уголки губ и брови. В итоге получаем персонажа, который не только поддерживает диалог через SillyTavern, но и естественно выражает эмоции через мимику и синхронизирует движения губ с генерируемой речью.
Вместо итогов
В конце концов, технологии — это всего лишь инструмент, который может помочь нам стать ближе друг к другу. И неважно, встретите вы любовь в баре, на сайте знакомств или в виртуальной реальности — главное оставаться человеком. Хотя, если ваша вайфу научилась заказывать в доставке сырники — это уже серьёзная заявка на отношения!
Кстати, из всех компонентов, с которыми мы познакомились, можно собрать не только виртуальную вайфу, но и вполне серьёзные бизнес-решения. Правда, про корпоративного ассистента, который помогает с документооборотом, читать будет не так весело. И заголовок получится менее кликабельным.
Если вам почему-то стало интересно чаще читать про мой опыт и этот наступивший киберпанк с капелькой лайфстайла — приглашаю в свой телеграм-канал. Там посты меньше 35 тысяч знаков, хах. Посмотрим куда всё приведёт: к антиутопии или к Star Trek.
Если заметили неточности или у вас есть свой опыт создания виртуальных компаньонов — смело делитесь в комментариях! Интересно услышать истории тех, кто уже пробовал что-то подобное.
Всем Любви ♥
Извините))
Отличный обзор, большое спасибо!
Я тоже уже давненько интересуюсь вайфу-тематикой (правда, маскирую ее то под кухонного помощника, то под визуально-голосовую новеллу для изучения иностранного языка), и плюсую: интеграция всех этих компонентов друг с другом - действительно очень большая боль.
У меня в итоге получилось вот такое решение https://pypi.org/project/kaia-brainbox/ в виде веб-сервера, диспетчеризующего поступающие задачи к разным локальным ИИ: и для распознавания голоса, и для его генерации, и для LLM, и для картинок (Live2D я пока не осилил). И, кстати, для многих из них даже GPU не нужен, мне в итоге удалось завести бэк для кухонного помощника с лицом, голосом и характером моих любимых персонажей на обычном ноуте.
знакомый пилит хорошего голосового (с большим количеством эмоций) секс бота https://test1.hidoba.net/
по ощущениям лучше чем candy.ai
если что, его контакт https://t.me/Offic_formal
Стас привет! Спасибо за статью, очень круто!
Подскажи пожалуйста, а как в виртуального человека добавить больше инициативности? Чтобы меня форсили доделать задачу, напоминали сходить на стрижку и всякое такое. Но чтобы это было не просто "Каждый день в 8 утра пиши ему доброе утро", а более спонтанно-рандомное что ли?
Свидетели на месте? (¬‿¬)
Офигенный пост! Спасибо за новые знания. Я только не очень понял как к связке Silly Tavern + koboldcpp прикрутить саммари + базу данных, чтобы можно было долго спорить со своей кошко-женой)
У DannyChoo недавно видел(
)
https://shop.smartdoll.jp/pages/instagram#/?instaPost=DGCorJrz8Xe