Prólogo
¿Alguna vez te has preguntado si podrías predecir la reacción de los internautas tras el anuncio de una política, o las repercusiones en cadena que podría traer una crisis de relaciones públicas?
El análisis tradicional de la opinión pública se basa en datos históricos y experiencia de expertos, lo que esencialmente es «mirar hacia atrás». Sin embargo, MiroFish nos ofrece un enfoque completamente nuevo: permitir que la IA construya un mundo digital paralelo de alta fidelidad, donde miles de agentes inteligentes con personalidades independientes y memoria a largo plazo interactúan libremente, para luego observar la emergencia del comportamiento grupal.
Esto es lo que se conoce como «Inteligencia de Enjambre» (Swarm Intelligence).
MiroFish es un motor de predicción multi-agente de código abierto lanzado en 2025, impulsado en su base por el motor de simulación OASIS. Puede recibir cualquier material semilla (comunicados de prensa, informes de análisis, incluso tramas de novelas), construir automáticamente un mundo digital y luego generar informes de predicción.
Hoy comenzaremos desde cero para desplegar MiroFish y construir un sistema sencillo de deducción de opinión pública.
Conceptos Clave
Antes de poner manos a la obra, comprendamos algunos conceptos fundamentales.
Información Semilla
La información semilla es el punto de partida de la predicción. Puede ser una noticia, un informe de análisis financiero, un fragmento de una novela o incluso una discusión candente en redes sociales. MiroFish extraerá entidades clave, relaciones entre personajes y el contexto de los eventos a partir de estos materiales.
Mundo Digital Paralelo
Esta es la innovación central de MiroFish. No se trata simplemente de que la IA genere un bloque de texto, sino de construir un «mundo» real:
- Cada agente tiene una personalidad, memoria y lógica de comportamiento independientes.
- Los agentes interactúan entre sí, difunden información y forman facciones.
- Todo el sistema mostrará características grupales que el comportamiento individual no podría predecir.
Imagina lanzar una noticia falsa en este mundo y observar cómo fermenta, se revierte y finalmente forma una corriente de opinión; ese es el poder del mundo digital paralelo.
Flujo de Trabajo
El flujo de trabajo completo de MiroFish se divide en 5 pasos:
- Construcción del Grafo: Extrae entidades y relaciones del material semilla para construir un grafo de conocimiento.
- Configuración del Entorno: Genera los perfiles de los agentes y configura los parámetros de simulación.
- Ejecución de la Simulación: Simulación paralela en doble plataforma con actualización dinámica de memoria.
- Generación de Informes: El ReportAgent analiza los resultados de la simulación y genera el informe de predicción.
- Interacción Profunda: Puedes dialogar con cualquier personaje dentro del mundo simulado.
Preparación del Entorno
MiroFish es un proyecto full-stack, con despliegue separado para el frontend y el backend.
Requisitos de Hardware
| Configuración | Recomendado | Mínimo |
|---|---|---|
| CPU | 8 núcleos | 4 núcleos |
| Memoria | 16 GB | 8 GB |
| Almacenamiento | 50 GB SSD | 20 GB |
| GPU | Opcional | N/A |
WARNING
Si planeas ejecutar más de 40 rondas de simulación, es mejor contar con 16 GB de memoria o más. Durante el proceso, cada agente mantiene una memoria independiente, por lo que el consumo de RAM crece rápidamente.
Dependencias de Software
| Herramienta | Versión Requerida | Descripción |
|---|---|---|
| Node.js | 18+ | Entorno de ejecución del frontend |
| Python | ≥3.11, ≤3.12 | Entorno de ejecución del backend |
| uv | Última versión | Gestor de paquetes de Python |
Verifica tu entorno:
node -v # Debería ser >= 18.0.0
python --version # Debería estar entre 3.11 - 3.12
uv --version
Despliegue Rápido
Usaremos el método de despliegue mediante código fuente para que puedas personalizarlo con mayor flexibilidad.
1. Clonar el proyecto
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish
2. Configurar variables de entorno
cp .env.example .env
Edita el archivo .env e introduce tu configuración de API. Hay dos opciones:
Opción A: Usar Alibaba Bailian (Recomendado oficialmente)
LLM_API_KEY=tu_clave_api_aliyun
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus
Opción B: Usar otras API compatibles con OpenAI
LLM_API_KEY=tu_clave_api
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-4o
También es necesario configurar Zep Cloud (para la gestión de memoria de los agentes):
ZEP_API_KEY=tu_clave_api_zep
TIP
Zep Cloud tiene una cuota gratuita mensual suficiente para comenzar. Regístrate en: https://app.getzep.com/
3. Instalar dependencias
npm run setup:all
Esto instalará simultáneamente:
- Las dependencias de Node en el directorio raíz
- Las dependencias del frontend
- Las dependencias de Python (creando automáticamente un entorno virtual)
Si la red es lenta, puedes ejecutarlo por pasos:
npm run setup # Frontend
npm run setup:backend # Backend
4. Iniciar servicios
npm run dev
Una vez iniciados los servicios:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:5001
Alternativa de despliegue con Docker
Si quieres empezar rápido, también puedes usar Docker:
# 1. Configurar variables de entorno
cp .env.example .env
# 2. Iniciar contenedores
docker compose up -d
El método Docker mapeará automáticamente los puertos 3000 (frontend) y 5001 (backend).
Práctica Real
Ahora crearemos una tarea de deducción de opinión pública.
1. Acceder a la Web UI
Abre tu navegador en http://localhost:3000 y verás la interfaz principal de MiroFish.
2. Crear tarea de predicción
Haz clic en «Nueva Predicción» y selecciona el tipo «Deducción de Opinión Pública».
3. Ingresar material semilla
Introduce un fragmento de noticia en el cuadro de texto, por ejemplo:
Una conocida empresa de Internet anunció hoy que despedirá al 10% de su plantilla,
alegando que el ajuste empresarial es necesario para enfocarse en sus áreas principales.
La noticia generó inmediatamente un acalorado debate en redes sociales. Algunos empleados
expresaron su descontento, afirmando que no hubo comunicación previa; otros internautas
mostraron comprensión ante las presiones operativas de la empresa.
El CEO de la compañía enfatizó en una carta interna que esta es una decisión difícil
pero necesaria, y que la empresa ofrecerá compensaciones generosas y ayudará a los
empleados recomendándolos para nuevas oportunidades laborales.
4. Describir necesidades de predicción
Describe en lenguaje natural qué quieres predecir:
Predice cómo evolucionará la reacción de los internautas tras el anuncio de estos despidos.
¿Se formará una corriente de opinión negativa? ¿Cuánto podría durar? ¿Qué grupos tomarán qué posturas?
5. Iniciar simulación
Haz clic en «Iniciar simulación» y el sistema:
- Extraerá entidades clave del material semilla (empresa, CEO, empleados, internautas).
- Construirá el grafo de conocimiento.
- Generará múltiples agentes con diferentes perfiles (internauta que empatiza con empleados, analista racional, espectador casual, etc.).
- Comenzará la simulación de interacciones.
TIP
Para la primera simulación se recomiendan de 20 a 30 rondas. Aumenta el número tras observar los resultados.
6. Ver resultados de la predicción
Al finalizar, verás un informe detallado que incluye:
- Curva de tendencia de la opinión pública.
- Distribución de los principales puntos de vista.
- Predicción de puntos de inflexión clave.
- Estrategias de respuesta sugeridas.
7. Interacción profunda
Esta es la parte más interesante de MiroFish. Puedes:
- Hablar uno a uno con cualquier agente: «Eres ese internauta que simpatiza con los empleados, ¿qué opinas de esto?».
- Pedir al ReportAgent que responda preguntas específicas: «Si la empresa publica una carta abierta de respuesta, ¿cómo cambiaría la opinión pública?».
Configuración de Proveedores de IA
Arriba usamos el modelo de Alibaba Bailian. Pero si quieres reducir costes o usar otros modelos, puedes considerar la plataforma Defapi.
Defapi es un servicio de retransmisión de API con precios que son la mitad que los oficiales, compatible con:
- OpenAI (GPT-4o, GPT-4.5)
- Anthropic (Claude Sonnet, Claude Opus)
- Google (Gemini)
Es totalmente compatible con el SDK de OpenAI, solo necesitas modificar dos parámetros:
# Usando Defapi
LLM_API_KEY=tu_clave_Defapi
LLM_BASE_URL=https://api.defapi.org/v1
LLM_MODEL_NAME=openai/gpt-4o-mini
O usarlo en el código:
from openai import OpenAI
client = OpenAI(
api_key="tu_clave_Defapi",
base_url="https://api.defapi.org/v1"
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "¡Hola!"}]
)
TIP
La interfaz de Defapi es totalmente compatible con el SDK de OpenAI. No necesitas cambiar nada en MiroFish, solo modifica las variables de entorno.
Solución de Problemas Comunes
1. Fallo en npm install
Verifica la versión de Node.js:
node -v
Debe ser 18+. Si la versión es correcta pero falla la instalación, intenta:
npm cache clean --force
npm install --legacy-peer-deps
2. La instalación de dependencias de Python se queda trabada
Confirma que la versión de Python está entre 3.11 y 3.12:
python --version
Si no está en ese rango, usa pyenv o conda para gestionar la versión de Python.
3. El backend lanza "Model not found"
Revisa si LLM_MODEL_NAME es correcto. El formato varía según el proveedor:
- Alibaba Bailian:
qwen-plus - OpenAI:
gpt-4o - Defapi:
openai/gpt-4o-mini
4. La simulación es muy lenta
Sugerencias de optimización:
- Reduce el número de rondas (de 40 a 20).
- Usa un modelo más pequeño.
- Reduce la cantidad de agentes.
- Asegúrate de tener una conexión fluida (las llamadas a la API tienen latencia).
5. Uso de memoria demasiado alto
Si tu máquina tiene menos de 16 GB de RAM, limita el número de agentes concurrentes en el .env:
MAX_CONCURRENT_AGENTS=10
O reduce la cantidad de agentes que interactúan en cada ronda.
6. Página de frontend en blanco
Verifica si el backend está funcionando:
curl http://localhost:5001/health
Si devuelve un error, revisa si las variables del .env se cargaron correctamente.
Direcciones Avanzadas
Personalizar la personalidad de los agentes
MiroFish permite personalizar el perfil del agente al crear una tarea. Puedes especificar:
- Edad, profesión, rasgos de carácter.
- Tendencia de postura (a favor / en contra / neutral).
- Historia de trasfondo.
Mediante ajustes finos del perfil, la simulación puede acercarse más a escenarios reales.
Acceso a más fuentes de datos
Actualmente soporta material semilla en texto. En el futuro se podrá conectar a:
- API de redes sociales (para obtener datos reales de opinión pública).
- Fuentes RSS de noticias.
- Bases de datos financieras.
Ampliación de escenarios de aplicación
No solo sirve para la opinión pública; MiroFish también puede usarse para:
- Predicción financiera: Simular la evolución del sentimiento del mercado.
- Deducción de políticas: Predecir la reacción social tras el anuncio de una política.
- Escritura creativa: Deducir el rumbo de una trama (por ejemplo, dejar que la IA prediga los capítulos finales de una novela clásica).
- Simulación de crisis: Ensayar estrategias de respuesta ante crisis de relaciones públicas.
Lecturas Avanzadas
- Repositorio GitHub: https://github.com/666ghj/MiroFish
- Demo en línea: https://666ghj.github.io/mirofish-demo/
- Documentación oficial: https://deepwiki.com/666ghj/MiroFish
- Plataforma Defapi: https://defapi.org
- Motor OASIS: https://github.com/camel-ai/oasis
Si te interesan los sistemas multi-agente y quieres experimentar la sensación de «dejar que la IA prediga el futuro», MiroFish es un excelente punto de partida.