MimicUser
Vous pouvez relire cent fois votre page d'accueil sans jamais voir ce qu'un inconnu y voit en quatre-vingt-dix secondes. MimicUser donne à un modèle de langage un persona, un budget et un vrai navigateur, le lance sur votre produit en ligne, et rapporte ses conclusions — avec, pour chaque constat, le taux d'accord entre les sessions.
- 46 → 23
- observations brutes ramenées à des constats concordants
- 3 / 3
- sessions ayant trouvé seules le problème principal
- ~5 min
- par session autonome, sans supervision
Ce que c'est
La recherche utilisateur classique est lente et coûteuse précisément au moment où elle changerait le plus de choses : avant le lancement, quand vous avez une page et une promesse mais aucun utilisateur. Le substitut habituel — demander à un modèle ce qu'il pense de vos textes — produit un avis complaisant et sans fondement, parce que le modèle ne s'est jamais servi du produit.
MimicUser comble cet écart en faisant du modèle un utilisateur. Un persona est construit — parcours, objectifs, aisance technique, sensibilité au prix, patience — puis reçoit un vrai navigateur Chromium et une tâche. Il navigue, lit, clique, se perd, se forge une opinion, et s'arrête quand il estime avoir obtenu ce qu'il cherchait. Tout ce qu'il a vu et fait est enregistré comme session, puis analysé en constats avec gravité, dimension, impact et recommandation.
Le constat qui a justifié l'outil
L'étude la plus nette à ce jour portait sur le site public d'une startup d'API de reconnaissance vocale, sans lien avec nous et volontairement non nommée ici. Six sessions ont été lancées sur deux audiences : un ingénieur backend évaluant des fournisseurs de transcription, et un directeur technique de centre d'appels régional.
Les trois sessions « centre d'appels » ont découvert seules la même chose, et elle n'était pas subtile : l'accent mis en avant sur la page d'accueil comme principal différenciateur était facturé dans une offre premium à environ trente fois le tarif affiché ailleurs sur le site, sans aucune explication sur la page tarifs. Toute projection de coût bâtie sur le tarif affiché était donc fausse, pour exactement l'usage que le marketing cherchait à attirer.
Deux des trois ont aussi relevé que les cartes d'abonnement affichaient leurs mentions « / mois » et « crédits mensuels » sans aucun chiffre à côté — une page cassée qu'un acheteur interprète comme une dérobade. Les trois ont signalé l'absence de déploiement sur site comme un point bloquant, et les trois ont fini de la même façon : prêtes à tester l'offre gratuite, pas à engager un budget.
- « Attendez — [l'accent phare] est facturé à part comme modèle spécialisé « Premium »… c'est plus de 30 fois plus cher. »
- « Les cartes Starter/Scale/Business affichent « / mois » et « crédits mensuels » mais aucun montant ne s'affiche. »
- « Je ne sors pas ma carte bancaire aujourd'hui. »
Transformer des sessions d'agent en preuves
Une seule session d'agent est une anecdote. Un modèle inventera volontiers un grief, et un run unique ne permet pas de distinguer l'invention de l'intuition juste. La couche d'agrégation existe pour rendre cette distinction structurelle plutôt qu'éditoriale.
Les constats de toutes les sessions d'une étude sont regroupés par affirmation, et chaque constat retenu porte le nombre de sessions indépendantes qui y sont parvenues, rapporté au nombre qui aurait pu. Un problème rencontré par trois sessions sur trois n'est pas présenté comme un point soulevé une seule fois, et les constats qui ressemblent à du bruit d'environnement sont signalés comme tels plutôt qu'écartés en silence. L'écart de gravité entre les runs est conservé, pour qu'un désaccord reste visible au lieu d'être moyenné.
Dans l'étude ci-dessus, cela a ramené quarante-six observations brutes à vingt-trois constats concordants — et les deux plus importants étaient aussi les deux qui faisaient l'unanimité.
Laisser un agent piloter un navigateur sans danger
Un agent autonome muni d'un vrai navigateur et d'une URL qu'il a choisie est une machine à SSRF. Sans garde-fou, il atteint le service de métadonnées du cloud, l'hôte, le réseau privé et sa propre base — et la défense habituelle, valider l'URL avant de naviguer, ne tient pas : le navigateur résout le nom à nouveau après la vérification, et un attaquant qui contrôle le DNS peut répondre autrement la seconde fois.
La politique est donc appliquée à chaque requête du navigateur plutôt qu'une fois par destination, et le verdict n'est délibérément pas mis en cache — c'est précisément le cache qui rendait le rebinding fiable. Les refus couvrent les plages privées et lien-local, ainsi que les routes IPv6 qui y ramènent et qu'on oublie : IPv4-mapped, NAT64, 6to4, IPv4-compatible et Teredo. Les WebSockets sont gardés à part, car le navigateur les fait passer par une autre API, et les service workers sont bloqués d'emblée.
Comme c'est toujours le navigateur qui résout les noms, la politique applicative est doublée d'une politique réseau : un jeu de règles de pare-feu qui autorise le réseau de recherche à joindre l'internet public et rien d'autre — ni les métadonnées, ni l'hôte, ni les conteneurs voisins.
Pourquoi ce n'est pas une démo publique
La pile réunit une base Postgres, un broker Redis, une API, un worker de tâches et Chromium sans interface. Cela n'entre dans aucune offre gratuite — et une instance publique serait aussi un service qui navigue vers des URL arbitraires pour le compte d'un inconnu, ce qui relève du risque juridique, pas de la vitrine.
Le travail de conception pour l'ouvrir est fait, pas hypothétique : le visiteur fournirait sa propre clé de modèle, scellée au repos, et un mode public refuse franchement les routes réservées à l'exploitant au lieu de retomber discrètement sur ses identifiants quand la clé du visiteur manque. Échouer fermé était un choix délibéré ; l'alternative fait payer l'hébergeur pour l'usage des autres.
Réalisé avec
- Python
- FastAPI
- Claude Agent SDK
- Playwright
- Dramatiq
- PostgreSQL
- Redis
- Next.js
Non hébergé : nécessite Postgres, Redis, un worker et Chromium sans interface. Les constats et citations ci-dessus proviennent d'une étude réelle ; le produit évalué n'est volontairement pas nommé et les détails identifiants sont généralisés.