Cinq esprits dans une pièce éclairée à la chandelle
Que dirait Baldwin sur l'IA ? J'ai construit Salon pour le savoir — une pièce où cinq agents générés débattent de votre question en temps réel, se souviennent de ce qui a été dit, et s'approchent en silence de celui qui les a remis en question.
Tout a commencé par une question que je ne cessais de lancer dans le vide, tard dans la nuit : que dirait vraiment James Baldwin de l'IA s'il était encore là pour la voir ? Je voulais le mettre dans une pièce avec Vincent van Gogh, une thérapeute en exercice, un ingénieur qui construit ce dont les gens ont peur, et un philosophe stoïcien qui leur dirait à tous de se calmer. Je voulais écouter.
L'outil le plus proche dont on dispose, c'est la lecture. Le suivant, c'est demander à un chatbot de jouer la comédie, et ça sonne toujours creux. Je voulais quelque chose entre un article de recherche, une peinture à l'huile et un jeu vidéo — une vraie soirée où les esprits que j'admire débattraient devant moi, et où je pourrais m'approcher de l'un d'eux pour lui poser une question pendant que les autres l'entendraient et lui répondraient.
L'article de Stanford, transformé en lieu
La base, c'est l'article Generative Agents de Stanford — l'idée qu'un petit groupe de PNJ pilotés par LLM, dotés de flux de mémoire et de cycles de réflexion, peut faire émerger un monde social. L'article montrait Smallville, une simulation de salon de discussion. Je voulais transposer ça dans un onglet de navigateur où cinq personnages débattent d'une vraie question et où vous pouvez vous tenir dans la pièce avec eux.
Salon convoque 3 à 5 esprits de votre choix — figures historiques, personnages de fiction, archétypes, ou personnes que vous avez connues — autour d'une table virtuelle à la chandelle pour débattre de la question que vous apportez. Chaque participant reçoit un portrait à l'huile généré à son image, une voix TTS distincte choisie pour son archétype, et une persona conditionnée par de vraies citations puisées sur le web.
Deux vues d'une même soirée
Il y a deux façons de vivre un salon. La vue classique montre une table octogonale avec les portraits autour et des cartes d'échange qui glissent à mesure que chacun parle. La vue « Walk the Salon » est une pièce RPG vue de haut : une salle de bal éclairée à la chandelle dans laquelle on se déplace avec un avatar personnalisé, on s'approche d'un participant, on lit ses pensées qui flottent au-dessus de lui, on surprend deux d'entre eux qui chuchotent près du feu. Cliquez sur la chandelle centrale et elle vous répondra — une phrase cryptique sur ce que la pièce est en train de devenir.


Flux de mémoire et cycles de réflexion
La couche la plus difficile, c'était l'architecture des agents. Chaque PNJ accumule des souvenirs de ce qui a été dit et de ce qu'il en a ressenti. Toutes les 8 prises de parole ou 90 secondes, un cycle de réflexion se déclenche : chaque participant relit ses vingt souvenirs les plus importants et met à jour sa vision du sujet et de chacun des autres. La valence relationnelle pilote ensuite leurs déplacements dans la vue exploration : un PNJ qui a été défié s'approchera de celui qui l'a défié, et celui qui s'est senti rejeté s'éloignera discrètement de la table.
Après quelques minutes de simulation, les PNJ ne sont plus dans un journal de discussion — ils sont à une table, avec des vues les uns sur les autres qui ont évolué.

Construit entièrement dans MeDo
J'ai construit Salon entièrement dans MeDo, par conversation à plusieurs tours. Le tout premier prompt était un paragraphe demandant une application web appelée Salon et décrivant ce qu'elle devait évoquer. MeDo a généré le schéma de base de données, le frontend React, toutes les edge functions, la boucle d'orchestration et les composants d'interface.
Je travaillais avec MeDo comme on travaillerait avec un collaborateur vif mais distrait. J'ai appris à écrire des prompts qui nommaient l'invariant (ce qui doit toujours être vrai), l'entité (ce qui est en train d'être créé) et la frontière (ce qui ne doit pas changer). Les meilleurs résultats venaient quand j'étais d'une précision presque excessive — codes hex exacts, graisses de police exactes, nombre de mots exact.
Les plugins qui l'ont rendu réel
- ERNIE pour la génération de personas et les échanges, via le jeton d'accès Baidu AI Studio après que l'authentification BYO Qianfan se soit révélée impraticable depuis ma région.
- AI Search et Google Scholar pour ancrer chaque participant dans de vraies citations attribuables.
- Kling Image Generation (endpoint Omni, après l'échec de Lite sur trois tours consécutifs) pour les portraits à l'huile.
- LemonFox TTS pour des voix distinctes et Whisper pour le bouton micro de transcription.
- Google Translation pour livrer l'interface en mandarin, français et espagnol de bout en bout, y compris la chronique et les paragraphes de synthèse.

Ce qui a cassé en premier
Le rythme audio est entré en collision avec la cadence des échanges dès la première version. L'orchestrateur déclenchait le prochain locuteur toutes les six secondes, peu importait que le précédent ait fini de parler — l'audio s'empilait et les cartes s'évanouissaient en plein milieu d'une phrase. J'ai dû modifier la cadence pour attendre la fin de l'audio en cours plus une pause d'une seconde, avec les six secondes comme plancher.
Le filtre chroma-key pour supprimer le fond blanc du sprite du joueur a demandé trois tours séparés pour vraiment tenir. MeDo acquiesçait, annonçait la réussite, et livrait le même rectangle opaque. Au final, il a fallu régénérer le PNG source avec un fond pur noir et appliquer un mode de fusion CSS par-dessus — pas un filtre.
Ce que j'ai appris
Les systèmes multi-agents sont d'abord un problème de visibilité avant d'être un problème d'algorithme. La première version de Salon faisait tourner l'orchestrateur correctement, mais pour l'utilisateur elle ressemblait à un chatbot unique qui prenait la parole tour à tour. Le réseau de relations sur la page de relecture et le murmure de la chandelle existent parce que les agents sous-jacents avaient besoin d'une surface pour les rendre lisibles.
J'ai aussi appris à expédier l'angle d'attaque. À mi-parcours, j'avais une liste de quinze fonctionnalités élaborées, dont une mécanique d'humeur selon l'heure de la soirée et la possibilité d'inviter un participant au milieu d'un salon. J'en ai coupé plusieurs, deux fois. La version livrée est plus petite que mon esquisse de départ — et plus forte pour ça. Les fonctionnalités qui ont survécu (flux de mémoire, cycles de réflexion, valence relationnelle, la chandelle, le rendu multilingue) sont celles que je citerais dans un article.
La suite
Je veux pousser vers ce que font AI Town et Project Sid : une vraie persistance entre sessions, pour qu'un salon convoqué ce soir se souvienne de ce qui s'est passé la semaine dernière. Je veux du clonage de voix côté participants pour qu'on puisse parler avec la vraie voix d'un être cher. Je veux une troisième vue où la conversation est rendue sous forme de court-métrage généré. Et je veux une grande salle publique — un moyen pour deux inconnus de partager leurs salons et de voir comment les mêmes esprits ont raisonné différemment selon les questions posées.
Au-delà, je crois qu'il y a une version éducative sérieuse de Salon pour la salle de classe. Un lycéen qui demande à cinq économistes de débattre de l'inflation, c'est un devoir. Un étudiant en médecine qui demande à cinq cliniciens de débattre d'un cas, c'en est un autre. L'architecture supporte les deux.