TIPS 60 · MIROFISH

Mil clientes falsos antes del lanzamiento

MiroFish paso a paso: qué es, cómo instalarlo en tu ordenador, qué darle a leer para ensayar un lanzamiento y cómo hacer preguntas a los clientes falsos. Con sus límites, dichos claros.

Qué es y por qué importa

Antes de un lanzamiento, normalmente vas a ciegas. ¿El precio es el correcto? ¿Se entiende la frase de arriba de la página? ¿El anuncio despierta curiosidad o molesta? Lo descubres cuando llegan los primeros clientes de verdad, y para entonces ya has gastado tiempo y dinero.

MiroFish es un motor de simulación con muchos agentes, gratuito y de código abierto en GitHub, con más de 80.000 estrellas. Un agente aquí es un personaje movido por un modelo de IA: tiene una edad, un carácter, una memoria y sus propias ideas. Tú le das un material de partida, que el proyecto llama semilla: la página de tu producto, la lista de precios, un anuncio, una noticia. Él construye con eso un pequeño mundo, lo llena de agentes y los deja hablar entre ellos en dos redes sociales simuladas, una de feed como Twitter y otra de comunidades como Reddit. Al final escribe un informe, y puedes hacer preguntas a cada uno de ellos.

Es para quien está a punto de lanzar algo por su cuenta. No es una bola de cristal, es un ensayo general: te enseña dónde tu página podría no gustar, y por qué, antes de que lo descubra un cliente de verdad.

1. Qué necesitas

  • Git, Node.js, Python y uv, un gestor de paquetes para Python. Las versiones correctas están en la tabla Prerequisites del README: para Python también hay un límite máximo, así que la más reciente podría no funcionar. O solo Docker.
  • Una clave API de un modelo de lenguaje que use el formato del SDK de OpenAI. El README recomienda el modelo qwen-plus en la plataforma Bailian de Alibaba, pero vale cualquier servicio compatible.
  • Una clave de Zep Cloud, el servicio que guarda la memoria del mundo simulado en forma de grafo, es decir, un mapa de personas, cosas y relaciones. Según el README, la cuota gratuita mensual basta para un uso sencillo. MiroFish solo se conecta a Zep Cloud.
  • Los textos que tiene que leer, en archivos PDF, Markdown o TXT.

Una cosa que conviene saber desde ya: el programa funciona en tu ordenador, pero lo que subes sale hacia el servicio del modelo y hacia Zep Cloud. No le des documentos confidenciales ni datos de tus clientes.

2. Instálalo y arráncalo

  1. Descarga el proyecto con git clone https://github.com/666ghj/MiroFish y entra en la carpeta.
  2. Copia el archivo de ejemplo con cp .env.example .env. El archivo .env guarda las claves y se queda solo en tu ordenador.
  3. Abre .env y rellena LLM_API_KEY, LLM_BASE_URL, LLM_MODEL_NAME y ZEP_API_KEY. Al final hay tres líneas LLM_BOOST, para un segundo modelo más rápido y opcional: si no lo usas, bórralas. Lo dice el comentario del archivo, que está en chino.
  4. Instala todo con npm run setup:all.
  5. Arráncalo con npm run dev. La interfaz está en http://localhost:3000 y el backend responde en http://localhost:5001.

Con Docker, después del paso 3 basta con docker compose up -d: lee el mismo .env y usa los mismos puertos. La interfaz se abre en chino: en el menú de idiomas elige English. Solo hay chino e inglés, y el idioma que eliges ahí es también el del informe y de las respuestas de los agentes.

Claude Code puede hacer casi todo el trabajo. Lo único que hago yo son las claves: las escribo a mano en el .env y nunca las pego en el chat.

El mensaje
Instala MiroFish (https://github.com/666ghj/MiroFish) en una carpeta nueva, fuera de mis proyectos.
Lee el README y el archivo .env.example, y comprueba que Git, Node.js, Python y uv estén en las versiones requeridas. Si falta algo, dime cómo instalarlo antes de hacerlo.
Crea el .env a partir del archivo de ejemplo, quita las tres líneas LLM_BOOST y deja las claves vacías: las pongo yo.
Cuando te diga que he terminado, lanza npm run setup:all y luego npm run dev, y dime si el frontend y el backend arrancan sin errores.

3. Prepara la semilla de tu lanzamiento

El resultado depende de lo que le das a leer. Para ensayar un lanzamiento preparo un solo archivo Markdown con:

  • El texto de la landing page de arriba abajo, tal como es.
  • Los precios: los planes, qué incluye cada uno, la prueba gratuita si la hay.
  • El anuncio que quieres lanzar: el texto y lo que se ve en la imagen o en el vídeo.
  • Dos líneas sobre quiénes crees que son tus clientes. Ayudan a crear agentes creíbles.
El mensaje
Lee mi landing page (<ruta o dirección>), los precios (<ruta>) y el texto del anuncio (<texto>).
Escribe un archivo semilla-lanzamiento.md para MiroFish: el texto de la página tal cual, los precios en una tabla, el anuncio y dos líneas sobre los clientes en los que pienso (<quiénes son>).
No mejores nada ni añadas promesas que la página no hace: tiene que ser la versión que publicaría mañana.

Luego está el segundo campo, la petición: qué quieres saber, en palabras normales. Cuanto más precisa sea, más responde el informe a tu pregunta y no a otra. La mía, para un lanzamiento:

El mensaje
Simula las reacciones de <freelancers y equipos pequeños> a la página y al anuncio en los primeros días después del lanzamiento. Quiero saber: qué no se entiende, qué objeciones ponen al precio, quién lo compartiría y por qué, y qué frase de la página se cita más, para bien o para mal.

4. Lanza la simulación, con pocas rondas

Subes el archivo, escribes la petición y pulsas Start Engine. A partir de ahí MiroFish pasa por cinco fases, que ves una detrás de otra:

  1. Graph Build: lee el documento y construye el grafo en Zep.
  2. Env Setup: crea los agentes, cada uno con edad, país, carácter, una biografía y recuerdos sacados de la semilla. Aquí decides también cuántas rondas hacer.
  3. Run Simulation: las dos redes funcionan a la vez. Cada ronda es un trozo de tiempo simulado en el que los agentes publican, comentan, dan like y se siguen.
  4. Report Generation: un agente dedicado, el ReportAgent, reconstruye lo que ha pasado y escribe el informe, sección por sección.
  5. Deep Interaction: chateas con el ReportAgent o con cualquier agente del mundo, o mandas la misma pregunta a un grupo.

El dinero se juega en las rondas. MiroFish propone un número por su cuenta, pero consume bastante: el README dice que pruebes primero con menos de 40 rondas, y la propia pantalla recomienda pasar a Custom la primera vez. En Env Setup activa Custom y baja el control deslizante, que empieza en 10. Haz una prueba pequeña, comprueba que todo funciona y que el informe tiene sentido, y solo después alarga.

5. Lee el informe e interroga a los clientes falsos

El informe lo leo como leo los comentarios debajo de un post: no cuento votos, busco las frases que se repiten. Tres preguntas: ¿qué no se ha entendido? ¿Qué objeción sale más a menudo? ¿Quién ha defendido el producto, y con qué palabras?

Luego la parte más útil, Deep Interaction. Elige un agente que haya criticado el precio y pregúntale por qué, y qué le haría cambiar de idea. Con Send survey seleccionas un grupo de agentes y les mandas a todos la misma pregunta. Mis preguntas de siempre:

El mensaje
Has visto la página: en una frase, ¿qué hace este producto?
¿Qué es lo que más te ha hecho dudar?
¿A qué precio lo probarías, y qué esperarías tener?
¿Qué le dirías a un amigo que te pregunta si merece la pena?

Ojo: la simulación y las entrevistas solo funcionan mientras el entorno está encendido. Desde el historial puedes volver a abrir el grafo, el entorno y el informe, pero no la simulación ni las entrevistas. Haz las preguntas antes de cerrar.

El informe acaba también en un archivo, full_report.md, dentro de backend/uploads/reports. Ahí lo puede leer Claude Code, junto a tu página:

El mensaje
Lee el último informe de MiroFish (el archivo full_report.md más reciente en backend/uploads/reports) y mi landing page.
Haz la lista de las objeciones que más se repiten, cada una con la frase de la página que la provoca.
Para cada una propón un cambio en la página. Separa lo que parece un problema real de lo que podría ser solo una idea de la simulación: eso lo compruebo con personas de verdad.

6. Los límites, dichos claros

  • Es un ensayo general, no una predicción. Los agentes son modelos de lenguaje que interpretan un papel: el informe te da hipótesis que comprobar con personas de verdad, no cifras de ventas.
  • Cuesta. El programa es gratis, pero cada ronda son muchas llamadas al modelo, que tu proveedor te cobra según el uso. Más agentes y más rondas, más gasto. Zep Cloud se paga si pasas de la cuota gratuita.
  • Tus textos salen del ordenador. Existe un fork, MiroFish-Offline (github.com/nikmcfly/MiroFish-Offline), que sustituye Zep Cloud por Neo4j y el modelo en la nube por Ollama, así todo se queda en local. No es del equipo original, y su README pide una máquina potente: al menos 16 GB de RAM, y se recomienda una tarjeta gráfica.
  • La licencia es la AGPL-3.0. Usarlo para ti es libre. Pero si modificas el código y dejas que otros usen tu versión a través de la red, por ejemplo como servicio online, tienes que ofrecer a esos usuarios el código fuente de tu versión modificada.

Errores comunes

  • Lanzar la primera simulación con las rondas que propone MiroFish. Activa Custom y empieza bajo.
  • Escribir una petición vaga, tipo «¿qué opinan?». Pide cosas concretas: qué no se entiende, las objeciones al precio, quién lo comparte.
  • Tomar el informe como una predicción y rehacerlo todo. Lo que sale de la simulación se comprueba con algunas personas de verdad.
  • Cerrar el entorno antes de haber hecho las preguntas a los agentes.

Lista de comprobación

  • En el .env las cuatro entradas del modelo y de Zep, sin líneas LLM_BOOST si no las uso
  • Un archivo semilla con la página, los precios y el anuncio tal como los publicaré
  • Una petición precisa, con las preguntas que importan para el lanzamiento
  • Primera prueba en Custom, con pocas rondas
  • Preguntas a por lo menos un crítico y un defensor antes de cerrar el entorno
  • Las objeciones principales apuntadas, para comprobarlas con personas de verdad

Preguntas frecuentes

¿Puedo usar el modelo de lenguaje que ya uso?

Si el servicio ofrece una API compatible con el formato del SDK de OpenAI, sí: cambias LLM_BASE_URL, LLM_MODEL_NAME y la clave. El README recomienda qwen-plus; con otro modelo los resultados y el consumo pueden cambiar, así que haz antes una prueba corta.

¿Funciona con una página que no está en inglés?

La semilla puede estar en tu idioma, pero la interfaz solo tiene chino e inglés, y el informe y las respuestas de los agentes llegan en el idioma de la interfaz. Yo elijo English y luego le pido a Claude Code que me resuma el informe en español.

¿Sustituye a una prueba con usuarios reales?

No. Te hace llegar a la prueba con usuarios reales con una página ya limpia de los errores más evidentes, y con las preguntas adecuadas.

← Todas las guías