TIPS 60 · MIROFISH

Mille faux clients avant le lancement

MiroFish étape par étape : ce que c'est, comment l'installer sur votre ordinateur, quoi lui donner à lire pour répéter un lancement et comment interroger les faux clients. Avec ses limites, dites clairement.

Ce que c'est et pourquoi ça compte

Avant un lancement, on avance généralement à l'aveugle. Le prix est-il le bon ? La phrase en haut de la page se comprend-elle ? La pub intrigue-t-elle ou agace-t-elle ? Vous le découvrez quand arrivent les premiers vrais clients, et à ce moment-là vous avez déjà dépensé du temps et de l'argent.

MiroFish est un moteur de simulation à agents multiples, gratuit et open source sur GitHub, avec plus de 80 000 étoiles. Un agent, ici, est un personnage animé par un modèle d'IA : il a un âge, un caractère, une mémoire et ses propres idées. Vous lui donnez un matériau de départ, que le projet appelle la graine : la page de votre produit, votre grille tarifaire, une pub, une actualité. Il en tire un petit monde, le remplit d'agents et les laisse discuter entre eux sur deux réseaux sociaux simulés, un fil façon Twitter et une communauté façon Reddit. À la fin, il rédige un rapport, et vous pouvez poser des questions à chacun d'eux.

C'est pour ceux qui s'apprêtent à lancer quelque chose en solo. Ce n'est pas une boule de cristal, c'est une répétition générale : il vous montre où votre page pourrait ne pas plaire, et pourquoi, avant qu'un vrai client s'en aperçoive.

1. Ce qu'il vous faut

  • Git, Node.js, Python et uv, un gestionnaire de paquets pour Python. Les bonnes versions sont dans le tableau Prerequisites du README : pour Python il y a aussi une limite haute, donc la plus récente pourrait ne pas marcher. Ou seulement Docker.
  • Une clé API d'un modèle de langage qui utilise le format du SDK d'OpenAI. Le README recommande le modèle qwen-plus sur la plateforme Bailian d'Alibaba, mais n'importe quel service compatible fait l'affaire.
  • Une clé Zep Cloud, le service qui garde la mémoire du monde simulé sous forme de graphe, c'est-à-dire une carte de personnes, de choses et de liens. D'après le README, le quota gratuit mensuel suffit pour un usage simple. MiroFish se connecte uniquement à Zep Cloud.
  • Les textes à lui faire lire, en fichiers PDF, Markdown ou TXT.

Une chose à savoir tout de suite : le programme tourne sur votre ordinateur, mais ce que vous chargez part vers le service du modèle et vers Zep Cloud. Ne lui donnez ni documents confidentiels ni données de vos clients.

2. L'installer et le lancer

  1. Téléchargez le projet avec git clone https://github.com/666ghj/MiroFish et entrez dans le dossier.
  2. Copiez le fichier d'exemple avec cp .env.example .env. Le fichier .env contient les clés et reste uniquement sur votre ordinateur.
  3. Ouvrez .env et remplissez LLM_API_KEY, LLM_BASE_URL, LLM_MODEL_NAME et ZEP_API_KEY. En bas, il y a trois lignes LLM_BOOST, pour un second modèle plus rapide et facultatif : si vous ne l'utilisez pas, supprimez-les. C'est le commentaire du fichier qui le dit, en chinois.
  4. Installez tout avec npm run setup:all.
  5. Lancez avec npm run dev. L'interface est sur http://localhost:3000, le backend répond sur http://localhost:5001.

Avec Docker, après l'étape 3, il suffit de docker compose up -d : il lit le même .env et utilise les mêmes ports. L'interface s'ouvre en chinois : dans le menu des langues, choisissez English. Il n'y a que le chinois et l'anglais, et la langue choisie là est aussi celle du rapport et des réponses des agents.

Claude Code peut faire presque tout le travail. La seule chose que je fais moi-même, ce sont les clés : je les tape à la main dans le .env et je ne les colle jamais dans le chat.

Le message
Installe MiroFish (https://github.com/666ghj/MiroFish) dans un nouveau dossier, en dehors de mes projets.
Lis le README et le fichier .env.example, et vérifie que Git, Node.js, Python et uv sont aux versions demandées. S'il manque quelque chose, dis-moi comment l'installer avant de le faire.
Crée le .env à partir du fichier d'exemple, enlève les trois lignes LLM_BOOST et laisse les clés vides : je les remplis moi-même.
Quand je te dis que j'ai fini, lance npm run setup:all puis npm run dev, et dis-moi si le frontend et le backend démarrent sans erreur.

3. Préparer la graine de votre lancement

Le résultat dépend de ce que vous lui donnez à lire. Pour répéter un lancement, je prépare un seul fichier Markdown qui contient :

  • Le texte de la landing page de haut en bas, tel qu'il est vraiment.
  • Les tarifs : les formules, ce que chacune inclut, l'essai gratuit s'il y en a un.
  • La pub que vous voulez diffuser : le texte et ce qu'on voit dans l'image ou la vidéo.
  • Deux lignes sur qui sont, selon vous, vos clients. Ça aide à créer des agents crédibles.
Le message
Lis ma landing page (<chemin ou adresse>), la grille tarifaire (<chemin>) et le texte de la pub (<texte>).
Écris un fichier graine-lancement.md pour MiroFish : le texte de la page tel quel, les tarifs dans un tableau, la pub et deux lignes sur les clients auxquels je pense (<qui ils sont>).
N'améliore rien et n'ajoute aucune promesse que la page ne fait pas : ce doit être la version que je publierais demain.

Ensuite, il y a le deuxième champ, la demande : ce que vous voulez savoir, avec des mots simples. Plus elle est précise, plus le rapport répond à votre question et pas à une autre. La mienne, pour un lancement :

Le message
Simule les réactions de <freelances et petites équipes> à la page et à la pub dans les premiers jours après le lancement. Je veux savoir : ce qui ne se comprend pas, quelles objections ils font sur le prix, qui le partagerait et pourquoi, et quelle phrase de la page est la plus citée, en bien ou en mal.

4. Lancer la simulation, avec peu de tours

Vous chargez le fichier, écrivez la demande et appuyez sur Start Engine. À partir de là, MiroFish passe par cinq étapes, que vous voyez l'une après l'autre :

  1. Graph Build : il lit le document et construit le graphe sur Zep.
  2. Env Setup : il crée les agents, chacun avec un âge, un pays, un caractère, une biographie et des souvenirs tirés de la graine. C'est aussi là que vous décidez du nombre de tours.
  3. Run Simulation : les deux réseaux tournent en même temps. Chaque tour est un morceau de temps simulé où les agents publient, commentent, likent et se suivent.
  4. Report Generation : un agent dédié, le ReportAgent, reconstitue ce qui s'est passé et rédige le rapport, section par section.
  5. Deep Interaction : vous discutez avec le ReportAgent ou avec n'importe quel agent du monde, ou vous envoyez la même question à un groupe.

L'argent se joue sur les tours. MiroFish propose un nombre tout seul, mais il consomme beaucoup : le README conseille d'essayer d'abord avec moins de 40 tours, et l'écran lui-même recommande de passer en Custom la première fois. Dans Env Setup, activez Custom et baissez le curseur, qui commence à 10. Faites un petit essai, vérifiez que tout marche et que le rapport a du sens, et seulement ensuite allongez.

5. Lire le rapport et interroger les faux clients

Je lis le rapport comme je lis les commentaires sous un post : je ne compte pas les votes, je cherche les phrases qui reviennent. Trois questions : qu'est-ce qui n'a pas été compris ? Quelle objection revient le plus souvent ? Qui a défendu le produit, et avec quels mots ?

Ensuite, la partie la plus utile, Deep Interaction. Choisissez un agent qui a critiqué le prix et demandez-lui pourquoi, et ce qui le ferait changer d'avis. Avec Send survey, vous sélectionnez un groupe d'agents et leur envoyez à tous la même question. Mes questions habituelles :

Le message
Vous avez vu la page : en une phrase, que fait ce produit ?
Qu'est-ce qui vous a fait le plus douter ?
À quel prix l'essaieriez-vous, et qu'attendriez-vous en échange ?
Que diriez-vous à un ami qui vous demande si ça vaut le coup ?

Attention : la simulation et les entretiens ne marchent que tant que l'environnement est allumé. Depuis l'historique, vous pouvez rouvrir le graphe, l'environnement et le rapport, mais pas la simulation ni les entretiens. Posez vos questions avant de fermer.

Le rapport finit aussi dans un fichier, full_report.md, dans backend/uploads/reports. Là, Claude Code peut le lire, à côté de votre page :

Le message
Lis le dernier rapport de MiroFish (le fichier full_report.md le plus récent dans backend/uploads/reports) et ma landing page.
Fais la liste des objections qui reviennent le plus souvent, chacune avec la phrase de la page qui la provoque.
Pour chacune, propose une modification de la page. Sépare ce qui ressemble à un vrai problème de ce qui pourrait n'être qu'une idée de la simulation : ça, je le vérifie avec de vraies personnes.

6. Les limites, dites clairement

  • C'est une répétition générale, pas une prévision. Les agents sont des modèles de langage qui jouent un rôle : le rapport vous donne des hypothèses à vérifier avec de vraies personnes, pas des chiffres de vente.
  • Ça coûte. Le programme est gratuit, mais chaque tour, ce sont de nombreux appels au modèle, que votre fournisseur facture à l'usage. Plus d'agents et plus de tours, plus de dépenses. Zep Cloud devient payant si vous dépassez le quota gratuit.
  • Vos textes sortent de l'ordinateur. Il existe un fork, MiroFish-Offline (github.com/nikmcfly/MiroFish-Offline), qui remplace Zep Cloud par Neo4j et le modèle dans le cloud par Ollama, pour que tout reste en local. Il ne vient pas de l'équipe d'origine, et son README demande une machine solide : au moins 16 Go de RAM, et une carte graphique est recommandée.
  • La licence est l'AGPL-3.0. L'utiliser pour vous est libre. Mais si vous modifiez le code et faites utiliser votre version par d'autres à travers le réseau, par exemple comme service en ligne, vous devez offrir à ces utilisateurs le code source de votre version modifiée.

Les erreurs les plus courantes

  • Lancer la première simulation avec les tours proposés par MiroFish. Activez Custom et commencez bas.
  • Écrire une demande vague, du genre « qu'est-ce qu'ils en pensent ? ». Demandez des choses précises : ce qui ne se comprend pas, les objections sur le prix, qui le partage.
  • Prendre le rapport pour une prévision et tout refaire. Ce qui sort de la simulation se vérifie avec quelques vraies personnes.
  • Fermer l'environnement avant d'avoir posé vos questions aux agents.

Check-list

  • Dans le .env, les quatre entrées du modèle et de Zep, sans lignes LLM_BOOST si je ne m'en sers pas
  • Un fichier graine avec la page, les tarifs et la pub tels que je les publierai
  • Une demande précise, avec les questions qui comptent pour le lancement
  • Premier essai en Custom, avec peu de tours
  • Des questions à au moins un critique et un défenseur avant de fermer l'environnement
  • Les principales objections notées, à vérifier avec de vraies personnes

Questions fréquentes

Puis-je utiliser le modèle de langage que j'utilise déjà ?

Si le service propose une API compatible avec le format du SDK d'OpenAI, oui : vous changez LLM_BASE_URL, LLM_MODEL_NAME et la clé. Le README recommande qwen-plus ; avec un autre modèle, les résultats et la consommation peuvent changer, alors faites d'abord un essai court.

Est-ce que ça marche avec une page qui n'est pas en anglais ?

La graine peut être dans votre langue, mais l'interface n'existe qu'en chinois et en anglais, et le rapport et les réponses des agents arrivent dans la langue de l'interface. Je choisis English, puis je demande à Claude Code de me résumer le rapport en français.

Est-ce que ça remplace un test avec de vrais utilisateurs ?

Non. Il vous fait arriver au test avec de vrais utilisateurs avec une page déjà débarrassée des erreurs les plus évidentes, et avec les bonnes questions à poser.

← Tous les guides