Развертывание и практика MiroFish: создание системы прогнозирования общественного мнения с нуля

March 17, 2026

Введение

Задумывались ли вы когда-нибудь, можно ли заранее предсказать реакцию пользователей сети на новую государственную политику или цепную реакцию, которую может вызвать PR-кризис?

Традиционный анализ общественного мнения опирается на исторические данные и экспертный опыт, что по сути является «взглядом в прошлое». Но MiroFish предлагает совершенно новый подход: позволить ИИ создать высокоточный цифровой параллельный мир, где тысячи агентов с уникальными личностями и долгосрочной памятью свободно взаимодействуют друг с другом, позволяя нам наблюдать за возникновением группового поведения.

Это то, что называют «Роевым интеллектом» (Swarm Intelligence).

MiroFish — это открытый движок прогнозирования на базе мультиагентных систем, выпущенный в 2025 году и работающий на симуляционном движке OASIS. Он может принимать любые исходные материалы (пресс-релизы, аналитические отчеты или даже сюжеты романов), автоматически выстраивать цифровой мир и выдавать прогнозные отчеты.

Сегодня мы начнем с нуля, развернем MiroFish и построим простую систему моделирования общественного мнения.

Основные концепции

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

Исходная информация (Seed Information)

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

Цифровой параллельный мир

Это главная инновация MiroFish. Он не просто заставляет ИИ генерировать текст, а создает настоящий «мир»:

  • У каждого агента есть независимая личность, память и логика поведения.
  • Агенты взаимодействуют друг с другом, распространяют информацию и формируют фракции.
  • В системе проявляются групповые характеристики, которые невозможно предсказать на основе индивидуального поведения.

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

Рабочий процесс

Полный цикл работы MiroFish состоит из 5 шагов:

  1. Построение графа: извлечение сущностей и связей из исходных материалов для создания графа знаний.
  2. Создание среды: генерация личностей агентов и настройка параметров симуляции.
  3. Запуск симуляции: параллельное моделирование на двух платформах с динамическим обновлением памяти.
  4. Генерация отчета: ReportAgent анализирует результаты и создает прогноз.
  5. Глубокое взаимодействие: вы можете поговорить с любым персонажем в симулируемом мире.

Подготовка среды

MiroFish — это фуллстек-проект, фронтенд и бэкенд развертываются раздельно.

Требования к оборудованию

КонфигурацияРекомендуетсяМинимум
CPU8 ядер4 ядра
RAM16 ГБ8 ГБ
Диск50 ГБ SSD20 ГБ
GPUОпциональноN/A

WARNING

Если вы планируете запускать более 40 циклов симуляции, желательно иметь более 16 ГБ ОЗУ. В процессе моделирования каждый агент хранит собственную память, что приводит к быстрому росту потребления ресурсов.

Зависимости ПО

ИнструментВерсияОписание
Node.js18+Среда для фронтенда
Python≥3.11, ≤3.12Среда для бэкенда
uvАктуальнаяМенеджер пакетов Python

Проверьте вашу среду:

node -v    # Должно быть >= 18.0.0
python --version  # Должно быть между 3.11 и 3.12
uv --version

Быстрое развертывание

Мы продемонстрируем способ развертывания из исходного кода, так как это дает больше гибкости.

1. Клонирование проекта

git clone https://github.com/666ghj/MiroFish.git
cd MiroFish

2. Настройка переменных окружения

cp .env.example .env

Отредактируйте файл .env, вставив настройки вашего API. Есть два основных варианта:

Вариант А: Использование Alibaba Bailian (рекомендуется официально)

LLM_API_KEY=ваш_ключ_aliyun
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus

Вариант Б: Использование других OpenAI-совместимых API

LLM_API_KEY=ваш_ключ_api
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-4o

Также необходимо настроить Zep Cloud (для управления памятью агентов):

ZEP_API_KEY=ваш_ключ_zep

TIP

У Zep Cloud есть бесплатный ежемесячный лимит, достаточный для ознакомления. Регистрация: https://app.getzep.com/

3. Установка зависимостей

npm run setup:all

Это одновременно установит:

  • Зависимости Node в корневом каталоге
  • Зависимости фронтенда
  • Зависимости Python (автоматически создаст виртуальное окружение)

Если интернет медленный, можно выполнять по шагам:

npm run setup           # Фронтенд
npm run setup:backend   # Бэкенд

4. Запуск сервиса

npm run dev

После запуска:

  • Фронтенд: http://localhost:3000
  • Бэкенд API: http://localhost:5001

Альтернатива: Развертывание через Docker

Если вы хотите быстро начать работу, используйте Docker:

# 1. Настройте переменные окружения
cp .env.example .env

# 2. Запустите контейнеры
docker compose up -d

Docker автоматически пробросит порты 3000 (фронтенд) и 5001 (бэкенд).


Практическое применение

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

1. Доступ к Web UI

Откройте в браузере http://localhost:3000, вы увидите главный интерфейс MiroFish.

2. Создание задачи прогнозирования

Нажмите «Создать прогноз» и выберите тип «Моделирование общественного мнения».

3. Ввод исходного материала

Введите в текстовое поле новостной повод, например:

Крупная интернет-компания объявила сегодня о сокращении 10% сотрудников,
объяснив это необходимостью сосредоточиться на ключевых направлениях бизнеса.
Новость мгновенно вызвала бурные обсуждения в соцсетях. Часть сотрудников
выразила недовольство отсутствием предварительного уведомления, другие
пользователи отнеслись с пониманием к экономическому давлению на бизнес.
CEO компании в письме сотрудникам подчеркнул, что это трудное, но необходимое
решение, и компания предложит щедрые компенсации и помощь в трудоустройстве.

4. Описание требований к прогнозу

Опишите на естественном языке, что именно вы хотите предсказать:

Предскажите, как будет меняться реакция пользователей после этой новости?
Сформируется ли негативный фон? Как долго он продлится?
Какие группы людей какую позицию займут?

5. Начало симуляции

Нажмите «Начать симуляцию», система:

  1. Извлечет ключевые сущности (компания, CEO, сотрудники, пользователи).
  2. Построит граф знаний.
  3. Сгенерирует агентов с разными ролями (сочувствующий сотрудник, рациональный аналитик, праздный наблюдатель и т.д.).
  4. Начнет моделирование взаимодействий.

TIP

Для первого раза рекомендуется установить 20–30 циклов, а затем увеличивать при необходимости.

6. Просмотр результатов

По завершении вы получите детальный отчет, включающий:

  • График тренда развития ситуации.
  • Распределение основных мнений.
  • Прогноз ключевых переломных моментов.
  • Рекомендуемую стратегию реагирования.

7. Глубокое взаимодействие

Это самая интересная часть MiroFish. Вы можете:

  • Поговорить с любым агентом лично: «Ты — пользователь, сочувствующий сотрудникам. Что ты думаешь об этой ситуации?»
  • Попросить ReportAgent ответить на вопрос: «Как изменится ситуация, если компания выпустит открытое письмо с разъяснениями?»

Настройка провайдера ИИ

Выше мы использовали модели Alibaba. Но если вы хотите снизить затраты или использовать другие модели, рассмотрите платформу Defapi.

Defapi — это сервис-посредник, где цены в два раза ниже официальных, и поддерживаются:

  • OpenAI (GPT-4o, GPT-4.5)
  • Anthropic (Claude Sonnet, Claude Opus)
  • Google (Gemini)

Он полностью совместим с OpenAI SDK, нужно лишь изменить два параметра:

# Использование Defapi
LLM_API_KEY=ваш_Defapi_Key
LLM_BASE_URL=https://api.defapi.org/v1
LLM_MODEL_NAME=openai/gpt-4o-mini

Или в коде:

from openai import OpenAI

client = OpenAI(
    api_key="ваш_Defapi_Key",
    base_url="https://api.defapi.org/v1"
)

response = client.chat.completions.create(
    model="openai/gpt-4o-mini",
    messages=[{"role": "user", "content": "Привет!"}]
)

TIP

Интерфейс Defapi полностью совместим с OpenAI SDK. В MiroFish не нужно ничего менять в коде, достаточно обновить переменные окружения.


Устранение неполадок

1. Ошибка при npm install

Проверьте версию Node.js:

node -v

Должна быть 18+. Если версия верна, но установка не удается, попробуйте:

npm cache clean --force
npm install --legacy-peer-deps

2. Установка зависимостей Python зависла

Убедитесь, что версия Python находится в диапазоне 3.11–3.12:

python --version

Если нет, используйте pyenv или conda для управления версиями.

3. Ошибка "Model not found" при запуске бэкенда

Проверьте правильность LLM_MODEL_NAME. Форматы имен различаются у разных провайдеров:

  • Alibaba: qwen-plus
  • OpenAI: gpt-4o
  • Defapi: openai/gpt-4o-mini

4. Симуляция работает слишком медленно

Пути оптимизации:

  • Уменьшите количество циклов симуляции (с 40 до 20).
  • Используйте более легкую модель.
  • Сократите количество агентов.
  • Проверьте стабильность сети (задержки API).

5. Слишком высокое потребление памяти

Если у машины меньше 16 ГБ ОЗУ, ограничьте количество одновременных процессов в .env:

MAX_CONCURRENT_AGENTS=10

Или уменьшите число агентов, взаимодействующих в каждом цикле.

6. Пустая страница фронтенда

Проверьте, работает ли бэкенд:

curl http://localhost:5001/health

Если возвращается ошибка, проверьте правильность загрузки файла .env.


Дальнейшие возможности

Настройка личностей агентов

MiroFish позволяет настраивать профили агентов при создании задачи. Можно указать:

  • Возраст, профессию, черты характера.
  • Позицию (за/против/нейтрально).
  • Биографию.

Тонкая настройка делает симуляцию максимально приближенной к реальности.

Подключение новых источников данных

На данный момент поддерживаются текстовые материалы. В будущем можно будет подключить:

  • API соцсетей (сбор реальных данных).
  • RSS-ленты новостей.
  • Финансовые базы данных.

Сферы применения

MiroFish полезен не только для анализа новостей:

  • Финансовое прогнозирование: моделирование рыночных настроений.
  • Оценка госполитики: предсказание социальной реакции на новые законы.
  • Сценарное мастерство: развитие сюжетов (например, предсказание концовки классических романов).
  • Кризис-менеджмент: отработка стратегий реагирования на PR-угрозы.

Дополнительные ссылки

Если вы интересуетесь мультиагентными системами и хотите почувствовать, как ИИ предсказывает будущее, MiroFish — отличная точка входа.

Updated March 17, 2026