Felt Dojo: Les bots
Complément à la présentation du projet. Ce que fait chaque niveau, pourquoi il le fait, comment il a été mesuré, et où il est encore faible.
Traduit de la version anglaise.
Pourquoi ce document existe
Les bots sont le produit. Tout le reste (les tables, les tournois, les rejeux) n'est qu'un échafaudage autour de la question de savoir si les adversaires valent la peine d'être affrontés.
Je veux donc être précis sur ce qu'il y a derrière, parce que « nos adversaires IA s'adaptent à votre jeu » est une phrase que n'importe quel site peut écrire. Voici ce qui tourne réellement, en termes de poker, y compris les parties qui ne fonctionnent pas encore.
L'idée unique sur laquelle tout repose
La première version de ces bots avait le défaut de tout bot de poker artisanal : il notait sa propre main sur une échelle inventée : une paire vaut 0,125, une couleur vaut 0,6, puis comparait ce nombre aux cotes du pot. Ce ne sont pas les mêmes unités. C'est comme comparer la température d'une main à son prix. Toute décision en aval est fausse d'une manière qu'aucun ajustement de seuil ne corrige.
La reconstruction a remplacé cela par de l'équité réelle contre une range modélisée. Avant chaque décision, le bot se demande ce que son adversaire pourrait réellement avoir, puis calcule à quelle fréquence sa propre main bat cet ensemble. Préflop, c'est une table de correspondance (il n'y a que 169 mains de départ distinctes au Hold'em, donc chaque combinaison main-contre-range-contre-nombre-de- joueurs est précalculée au démarrage). Postflop, c'est simulé à la table, quelques centaines de déroulements par décision.
Vient ensuite la partie qui rend les niveaux réels :
La différence entre les niveaux n'est pas la qualité de leurs seuils. C'est la range contre laquelle ils croient jouer.
- Le Débutant ne resserre jamais. Il évalue chaque main comme si l'adversaire avait deux cartes au hasard.
- L'Intermédiaire resserre selon la taille de mise et l'action, mais toujours d'environ un cran trop large, et seulement une fois sur deux après le flop.
- L'Avancé construit une véritable croyance : chaque combinaison que l'adversaire pourrait avoir, chacune avec un poids, resserrée action par action et repondérée selon la façon dont cette combinaison se connecte à ce board.
Presque toutes les fuites classiques découlent de ce seul choix de conception, au lieu d'être scriptées. Un Débutant face à un tapis de 200 blindes avec une paire de 2 pense que c'est à peu près pile ou face, parce que contre deux cartes au hasard c'en est un, alors il suit. Personne n'a écrit « suivre les tapis avec une paire de 2 ». C'est simplement ce que croit réellement un joueur qui ne met jamais personne sur une main.
Débutant: la station loose-passive
La cible, c'est le joueur que tout le monde reconnaît d'une partie live à 1 $/2 $ : il joue la moitié de ses mains, suit beaucoup trop, ne relance jamais sans les nuts, et n'arrive à vous mettre sur rien.
Ce qu'il fait :
- Il voit des monstres partout et des mains nulle part. Aucun resserrement de range, jamais. Une mise river de la taille du pot et une mise minimale donnent la même lecture : « il peut avoir n'importe quoi. »
- Il ignore les autres joueurs. Son équité est toujours calculée en tête-à-tête, même à cinq. Il sur-suit donc en multiway, ce qui est exactement la vraie fuite.
- Il suit au feeling, pas au prix. Sa barre de call bouge bien avec la taille de mise (une sonde au quart du pot et une surmise de la taille du pot ne sont pas la même décision, mais en trois paliers grossiers, sans calculer les cotes du pot. Un débutant qui calcule ses cotes n'est pas un débutant.
- Il chasse les tirages avec la règle de 4. Tirage couleur au flop ? Ça fait « 36 % », donc il suit. À n'importe quel prix. Il contourne complètement la barre de call, et c'est là qu'est la vraie erreur : appliquer le chiffre turn-et-river quand seule la turn est à venir.
- Il ne couche pas top paire. Ni un as. Trois streets, aucun kicker, peu importe.
- Il bluffe aux pires endroits possibles. Il a un bluff, et il le tire plus souvent en multiway et à la river après avoir été payé deux fois, précisément là où un joueur qui réfléchit s'arrête. Et il rate le dimensionnement : une petite sonde qui donne un prix à toute la table, ou une surmise délirante.
- Il trahit sa main par ses tailles de mise. Il ouvre à 4 blindes normalement, 8 à 12 avec des as (pour « les protéger »). Il mise 85 % du pot pour la valeur, 125 % avec les nuts, un quart de pot en bluff. Si vous êtes attentif, vous pouvez lire ce niveau rien qu'à la taille de mise, et c'est voulu.
- Il a une lecture rudimentaire. Après trois mains où quelqu'un lui mise gros dessus, il relâche sa barre de call d'un montant fixe. Pas une lecture de range : « ce gars n'arrête pas de me bousculer, je le paye. »
Mesuré : VPIP ~50 %, PFR ~6 %, facteur d'agressivité 0,72, showdown ~39 % à une table mixte. Le profil de référence d'une station loose-passive est VPIP 45–60, PFR 5–10, AF 0,5–1,0, WTSD 35–40. Tout est dans la bande.
Où il est faible : le fold-face-à-une-mise est à ~37 % contre une cible de 25–35 %, et je ne peux pas le corriger sans casser autre chose. La fréquence de showdown et la fréquence de fold sont la même quantité vue des deux bouts : un bot n'évite un showdown qu'en couchant, donc chaque réglage qui ramène l'une dans la bande pousse l'autre dehors. J'ai mesuré trois réglages et aucun ne met les deux dans l'intervalle. Le vrai levier est préflop : ce niveau arrive au flop avec des déchets parce qu'il joue 50 % de ses mains, et il faut bien qu'il les couche quelque part. Mais resserrer le préflop détruirait le caractère loose-passif qui est la raison d'être de tout le niveau. Je l'ai donc laissé, et je vous le dis plutôt que de choisir discrètement le chiffre flatteur.
Intermédiaire: celui qui a lu le livre
La cible, c'est un joueur régulier compétent et légèrement passif. Il connaît la position, les cotes du pot, la texture du board, et il applique environ un tiers de tout ça de travers.
Ce qu'il fait :
- Il vous met sur une range à partir de votre taille de mise : cinq paliers, du premium à n'importe quelles deux cartes, puis la lit un cran trop large. Il connaît le principe et l'applique en retard, ce qui est l'archétype rendu mécanique plutôt que décrit.
- Il sépare deux questions préflop que la plupart des bots confondent. « Cette main vaut-elle la peine d'être jouée ? » se mesure contre un adversaire, parce que c'est ce que veut dire la qualité d'une main. « Dois-je payer ce prix ? » se mesure contre tous les adversaires encore en jeu, parce qu'il faut tous les battre. Se tromper là-dessus a été la plus grosse erreur de réglage du projet : injecter le nombre de joueurs dans un seul chiffre effondrait sa range d'ouverture à presque rien, au point de coucher des rois derrière des limpeurs, parce que des as ne valent que 50 % contre cinq mains et qu'un seuil fixe sur cette échelle revient à ne rien jouer.
- Il tilte, pour une vraie raison. Le tilt ne se déclenche que sur un authentique bad beat, et un bad beat se mesure au moment où l'argent est entré, pas à la fin de la main. Une fois la main terminée, l'équité de chacun vaut 0 ou 1 ; on ne distingue plus un bad beat d'une simple défaite. Le bot mémorise donc ce qu'il valait au moment de l'engagement. En tilt, il suit plus large, bluffe davantage, mise plus gros et fait moins confiance à ses lectures. Ça se dissipe sur une douzaine de mains.
- Il s'engage dans son bluff. Les versions antérieures retiraient au sort « suis-je en train de bluffer ? » à chaque décision, ce qui produisait des lignes incohérentes : mise, check, mise. Maintenant il décide une fois, poursuit sur les streets suivantes, avec une vraie probabilité d'abandonner à chaque street ; et si le bluff devient deux paires à la river, il arrête de raconter son histoire et mise comme deux paires.
- Il perd sa concentration. Environ une main sur six, il cesse complètement de remarquer les schémas de mise ; il ne les minimise pas, il ne les voit plus. Mode de défaillance différent du tilt, délibérément.
- Il construit ses lectures lentement. Il lui faut une quinzaine de mains sur quelqu'un avant de s'ajuster, et l'ajustement vaut un cran sur la range qu'il avait déjà lue à partir de la taille de mise.
- Il utilise les cotes implicites, et s'en sert pour se justifier. De vraies cotes implicites, plus des outs mal comptés : des outs de backdoor comptés comme des outs pleins, des outs qui apparient le board comptés comme propres. C'est ce qui donne aux mauvais calls l'allure de ceux qu'on voit vraiment.
- Il varie ses tailles de mise. Il mélange des ouvertures à 2,5–4x, ouvre plus gros en position précoce, et en tournoi descend vers des relances minimales quand les tapis raccourcissent, parce qu'un dimensionnement qui ne change jamais avec la profondeur de tapis est lui-même un tell. (Cette correction vient directement du fait d'y jouer et de s'en plaindre.) Postflop, il puise dans un jeu de tailles partagé avec des pondérations différentes selon la situation, plutôt qu'une fraction fixe par force de main : les mains fortes misent encore gros plus souvent, mais on ne peut plus lire la main sur le chiffre comme quand 0,33 voulait dire bluff et 1,00 voulait dire nuts, à tous les coups.
- Il se défend face à une relance préflop à partir d'une charte : paires, connecteurs assortis, as assortis et broadway, avec le prix de votre relance. C'est nouveau, et la raison en est la section suivante.
Mesuré (après la correction ci-dessous) : VPIP 30,4–30,9 %, PFR 15,6 %, 3-bet 2,4 %, AF 1,47–1,50, voit un flop 19,6–19,9 %, va au showdown 36,0–36,2 %. Le profil de référence est VPIP 20–26, PFR 14–18, 3-bet 2–8, AF 1,8–2,5 : le VPIP est donc désormais au-dessus de la bande, ce qui est un écart réel et est discuté plus bas plutôt que lissé.
Le plus gros défaut du projet, et il a survécu à des mois de réglage
Face à une relance avant le flop, ce niveau couchait 92 % du temps et 3-bettait presque aussi souvent qu'il suivait. Un rapport call/relance de 1,1 : 1. Aucun vrai joueur n'a jamais joué comme ça.
Il n'avait aucune range de call, tout simplement. Le niveau pouvait coucher ou re-relancer, et rien entre les deux. La cause était une constante comparée à la mauvaise échelle : un seuil du type « est-ce mieux qu'un pile ou face contre une main au hasard ? » était testé contre une équité mesurée contre une range, et il était une condition conjointe du test de call, donc chaque fois qu'il échouait, le terme des cotes du pot n'était jamais consulté. Une seule range absente produisait tous les symptômes remarqués séparément pendant des semaines et jamais reliés : le taux de call de 4 %, un limp qui couchait 100 % du temps face à toute relance, une courbe de fold-par-prix plate et légèrement inversée, et un excès de bluff que l'excès de fold de la même table rendait rentable.
| face à une relance préflop | avant | après |
|---|---|---|
| couche / suit / relance | 92,0 / 4,2 / 3,8 | 81,7 / 16,0 / 2,4 |
| call : relance | 1,1 : 1 | 6,7 : 1 |
| continue après avoir limpé | 0,4 % | 17,2 % |
| voit un flop | 9,6 % | 19,9 % |
Ce qui l'a trouvé, c'est le poker en duplicate : jouer la situation identique de quatre façons, un humain contre trois références de bots sur les mêmes cartes aux mêmes sièges, ce qui rend les comportements directement comparables comme les statistiques agrégées ne le font pas. Les agrégats étaient au vert depuis le début : les portes VPIP/PFR/AF de ce niveau passaient toutes, parce qu'elles font la moyenne sur des mains où personne n'a relancé, et c'est la majorité des mains. Toutes les bandes de ces portes ont depuis été redérivées contre la réalité mesurée après correction, et quatre nouvelles portes de « forme » ont été ajoutées : ratios couche/suit/relance face à une relance, call-sur-relance, le fold-par-prix doit croître, la continuation après limp doit être non nulle, précisément parce que les anciennes bandes agrégées étaient structurellement incapables de voir ça.
Le coût honnête de la correction. Le VPIP est monté à ~30 %, au-dessus de la bande de référence de 20–26, et la fréquence de showdown a augmenté à 36 % au lieu de baisser. Les deux découlent mécaniquement de la même chose : le niveau survit maintenant au préflop, donc plus de mains atteignent un flop (7,6 % → 19,9 %) et donc plus de mains atteignent un showdown. La conception prévoyait que le showdown baisserait. Il a monté, le mécanisme est compris, et la bande a été fixée contre la réalité plutôt que contre la prédiction.
Où il est encore faible. La fréquence de showdown reste au-dessus de celle d'un régulier compétent, et il sur-défend le flop à un palier de prix (85 % de défense contre une base de défense minimale de 73 % face à des mises d'environ ⅓ de pot), traçable à un terme de cotes implicites inconditionnel. Celui-là est délibérément laissé tel quel ; c'est une caractéristique de l'archétype, pas un bogue.
Et une ronde antérieure de la même leçon. Pendant trois rondes de travail distinctes, ce niveau a été réglé vers une cible agrégée « couche face à 45–55 % des mises ». Cette cible n'a aucun sens sans taille de mise attachée : la bonne fréquence de fold dépend du prix. Découper la mesure par prix a montré que le niveau se défendait à peu près correctement au flop et à la turn depuis le début ; l'agrégat ne paraissait bas que parce qu'il affronte surtout de petites mises. Mais courir après avait créé un vrai trou : le bot couchait ~76 % des rivers quel que soit le prix, ce qui contre un humain est de l'argent gratuit. C'est corrigé aussi.
Avancé: le régulier
Celui-là est une machine différente, pas une version mieux réglée de la précédente.
Préflop : des chartes, par siège et par profondeur de tapis. Une range d'ouverture au bouton à 100 blindes et une à 25 blindes sont deux ranges différentes, et seul ce niveau le sait. Positions, contextes d'action (ouverture, isolation, face à une relance, face à un 3-bet, face à un 4-bet) et quatre bandes de profondeur de tapis : 108 cellules de charte en tout. Surtout, elles sont tirées de ranges 6-max publiées et largement admises, pas inventées : écrire à la main « ce qui semble fort » est exactement la façon de reproduire le problème du niveau intermédiaire un cran plus haut.
Il mélange aussi : 52 classes de mains sont jouées de deux façons à des fréquences définies, donc il n'est pas entièrement prévisible. Les premiums ne mélangent jamais : une main dont la meilleure action est évidente la prend toujours. Et le mélange a été équilibré pour ne pas jouer plus serré par accident : chaque main retirée de la range de relance est payée par une main promue.
Postflop : une vraie croyance sur votre main, et des prix en jetons. À chaque décision :
1. Il maintient un poids sur chaque combinaison que vous pourriez avoir, et le resserre à chacune de vos actions, en utilisant le rang de cette combinaison précise sur ce board, pas sur une échelle générique. Les grosses mises resserrent plus fort. Une relance se lit plus forte qu'une mise de la même taille. 2. Il garde des planchers aux deux extrémités, volontairement. Sans eux, une seule mise ramènerait le bas de votre range exactement à zéro, et vous auriez un bot qui croit les bluffs et les slowplays littéralement impossibles : il ne paierait jamais un bluff et ne craindrait jamais un piège. 3. Il chiffre ensuite ses options en jetons : check, miser 33/66/100/150 % du pot, suivre, relancer à 2,5x ou 3,5x, coucher. Chaque mise est évaluée contre vos trois réponses possibles : coucher, suivre, relancer, et si vous relancez, il évalue aussi sa propre réponse. 4. Il choisit par fréquence entre les options proches plutôt que de toujours prendre le maximum. Toujours prendre le maximum est à la fois exploitable et, surtout, donne l'impression d'un robot à la table.
La distinction en une phrase : l'Intermédiaire demande « mon équité est-elle meilleure que le prix ? » L'Avancé demande « laquelle de ces actions rapporte le plus contre ce qu'il ferait réellement ? »
Deux détails plus importants qu'ils n'en ont l'air. Quand il mise, il mesure son équité contre la partie de votre range qui suit, pas contre votre range entière : miser fait coucher exactement les mains qu'il bat déjà, et évaluer contre la range entière est la façon dont un bot finit par miser pour la valeur des mains qui ne battent que les couchées. Et un call est crédité de cotes implicites, parce qu'évaluer un call comme si la main se terminait immédiatement au showdown est exact à la river et faux partout ailleurs ; c'est pourquoi un bon joueur suit une mise au flop avec 65 assortis, et pourquoi un modèle sans ce terme ne le fait jamais.
Un test du modèle de range, sur K♠7♦2♣ / 4♥ / 9♠, en partant de « n'importe quoi » :
| ligne suivie | ce qui survit de la range | dont deux paires ou mieux |
|---|---|---|
| mise 66 % → 75 % → pot | 1176 → 81 | 54,8 % |
| check, check | 442 | 3,4 % |
Trois barrels sur un board sec laissent une range cinq fois plus petite et seize fois plus forte. Tout l'avantage du niveau tient dans ce tableau.
Imperfections délibérées. C'est un joueur fort, pas un solveur, et une partie est un choix :
- Il sur-resserre après de l'agression, volontairement, parce que les vrais réguliers le font.
- Pas d'ICM. Cela revient au quatrième niveau, plus bas.
- Un seul niveau d'anticipation, pas plus.
- Il tilte et perd sa concentration comme le niveau du dessous, et le tilt compte davantage ici : un joueur fort qui tilte tombe de plus haut.
Mesuré : VPIP 18–20 %, PFR 15–16 %, 3-bet 6 %. Et le chiffre qui compte, issu du banc de tête-à-tête, chaque niveau jouant contre un champ mixte ordinaire : Débutant −262, Intermédiaire +56, Avancé +210 bb/100. (Ces ordres de grandeur ne sont pas des taux de gain réels ; voir plus bas.)
Une piste qui ressemblait au même défaut, et qui n'en était pas un (refermée le 2026-08-19). Face à une relance préflop, l'Avancé couche ~85 %, suit ~8 % et relance ~7 %, un rapport call/relance presque équilibré, c'est-à-dire la même forme qui s'est révélée être un défaut réel un niveau plus bas. Cela a donc été porté un temps comme un drapeau rouge ouvert. Ce n'est pas un défaut, et la différence est instructive.
La forme est la même ; la cause ne l'est pas. Le rapport de l'Intermédiaire venait d'un seuil qui rendait le call mécaniquement presque inatteignable ; le niveau ne pouvait pas suivre. Celui de l'Avancé vient d'une charte qui écrit délibérément une range de 3-bet linéaire plus des bluffs à as assortis face à une range de flat volontairement mince, parce que suivre une ouverture hors de position avec une range plafonnée est dominé. 3-better ou coucher, c'est à ça que le niveau le plus fort est censé ressembler.
Lu directement dans les données des chartes à travers l'échelle du moteur lui-même, en pourcentage des 1 326 combinaisons :
| position | couche / suit / relance | call : relance |
|---|---|---|
| HJ | 91,9 / 4,0 / 4,1 | 0,97 : 1 |
| CO | 88,4 / 5,2 / 6,3 | 0,83 : 1 |
| BTN | 83,2 / 8,8 / 8,0 | 1,10 : 1 |
| SB | 88,4 / 4,9 / 6,6 | 0,74 : 1 |
| BB | 74,8 / 18,5 / 6,6 | 2,79 : 1 |
| UTG | pas de charte : l'unique cellule de repli |
Moyennées sur les cinq positions chartées, les données prédisent 85,3 / 8,3 / 6,3 ; le moteur livré mesure 85,1 / 7,9 / 7,0. À moins d'un point sur les trois : le moteur exécute donc fidèlement ses données, et la seule vraie question était de savoir si ces données sont standard, or la largeur de 3-bet de chaque position tombe dans la bande de 6–9 % que le fichier de chartes nomme lui-même comme sa cible de conception.
La cellule UTG manquante est délibérée, pas une lacune. UTG parle en premier préflop : il ne peut donc affronter une relance qu'après avoir limpé, une situation qu'aucune charte standard n'écrit. Il n'y a rien à combler.
Et l'échelle est propre et monotone sur cette statistique :
| couche / suit / relance | |
|---|---|
| Débutant | 53,9 / 45,6 / 0,5 |
| Intermédiaire | 80,1 / 16,7 / 3,3 |
| Avancé | 85,1 / 7,9 / 7,0 |
Le rapport call/relance qui s'effondre vers 1:1 à mesure que le niveau monte, c'est l'échelle qui fonctionne, pas qui fuit.
Verrouillé par ChartSanityTest, falsifié de trois façons avant d'être versionné : élargir la range de flat et la bande de fold passe au rouge ; rétrograder les bluffs de 3-bet du bouton dans la range de flat et l'assertion sur le rapport se déclenche à 1,81 : 1 avec le pourcentage de fold inchangé ; écrire une cellule UTG et l'assertion de repli passe au rouge. Ce test existe parce que la « correction » évidente du symptôme consiste à élargir les ranges de flat jusqu'à ce que le rapport paraisse normal, ce qui ferait jouer plus mal le niveau le plus fort pour faire paraître un chiffre plus beau.
La leçon générale est celle qui mérite d'être retenue : un mécanisme documenté que personne n'a jamais vérifié est indiscernable d'un vrai jusqu'à ce qu'il vous coûte quelque chose. Le contrôle qui l'aurait attrapé est un test qui vérifie quel moteur répond à une situation donnée.
Une main rapportée qui a tout changé. Un bot Avancé a ouvert avec des as, s'est fait 3-better, et s'est contenté de suivre. Hors de position, avec la meilleure main du poker. J'ai mesuré avant de toucher à quoi que ce soit : sur 200 situations identiques, il a 4-betté zéro fois. Pas « trop rarement », jamais. Deux causes empilées : les chartes ne couvraient que le 3-bet, donc le bot déclinait correctement une situation de 4-bet pour laquelle il n'avait aucune range, et se rabattait sur le niveau du dessous, qui ne 4-bette jamais non plus. Cela a appris quelque chose de général : se rabattre élégamment n'est élégant que si le niveau sur lequel on se rabat a une réponse. Il y a maintenant de vraies chartes de 4-bet et de 5-bet, uniquement pour la valeur, sans aucun 5-bet de bluff une fréquence de bluff mal devinée à cette profondeur est pire que pas de bluff du tout.
Comment je sais que les niveaux sont réellement ordonnés
C'est la partie que je voudrais voir si quelqu'un d'autre faisait ces affirmations.
Les statistiques de style (VPIP, PFR, agressivité) décrivent comment un bot joue. Elles ne disent pas s'il est bon. Un bot peut afficher un 24/20 de manuel avec un facteur d'agressivité de 2,4 et brûler de l'argent quand même. Il y a donc une deuxième mesure : des milliers de mains, niveau contre niveau, rapportées en grosses blindes par 100 mains avec un intervalle de confiance.
Le poker est assez bruyant pour que ce soit difficile à faire honnêtement. Trois choses maintiennent l'honnêteté :
- La donne en duplicate. Les mêmes donnes sont jouées des deux côtés, comme au bridge en duplicate, pour que la chance des cartes s'annule en grande partie. Cela réduit le bruit de près de 5x quand les deux côtés jouent la même stratégie, et d'environ 1,7x quand les niveaux diffèrent, car les mains divergent à la première décision différente, donc moins de chance s'annule. Cela vaut quand même environ trois fois moins de mains pour la même précision. Cela a depuis grandi en une véritable fonctionnalité destinée aux joueurs, avec sa propre présentation, et c'est elle qui a trouvé le défaut de l'Intermédiaire ci-dessus.
- Des sondes comportementales. Des adversaires scriptés qui font exactement une seule chose : ne jamais coucher, toujours faire tapis, relancer au minimum systématiquement, ne jamais miser, et (ajouté le 2026-08-19) un relanceur mesuré, agressif une main sur quatre et passif le reste du temps, pour qu'on puisse lire la réponse d'un niveau à une pression précise sans le bruit d'une table normale. Chaque sonde produit une empreinte : un rapport versionné de la réponse de chaque niveau. Un changement qui laisse les agrégats intacts mais modifie le comportement apparaît comme une différence. L'empreinte du Débutant est revenue identique octet pour octet de part et d'autre de la correction de l'Intermédiaire, ce qui est une affirmation bien plus forte que rien n'a fui latéralement que n'importe quelle comparaison d'agrégats. Cela tourne maintenant à chaque poussée comme une vérification stricte octet pour octet en intégration continue, et le moteur porte un numéro de version qui doit bouger dans le même commit que tout changement de ce qu'un bot décide : un changement de comportement peut donc être délibéré, mais il ne peut pas être silencieux.
- Un contrôle nul. Un niveau est d'abord joué contre lui-même. Si cela montre un avantage, la mesure est cassée. On mesure +0,7 bb/100 avec un intervalle qui contient zéro, donc elle ne l'est pas.
- Tout refaire tourner. Celle-là a été apprise à la dure. Une exécution unique a un jour montré l'Avancé battant l'Intermédiaire de +36 bb/100 et je l'ai consignée comme une réussite ; la reprise a mesuré −1,6. Le premier résultat était du bruit qui ressemblait à un succès. Pire, quatre exécutions de contrôle se sont un jour regroupées d'une façon qui a produit une conclusion assurée « le banc d'essai est cassé » qui était elle-même fausse : un intervalle de confiance à 95 % faisant exactement ce que fait un intervalle à 95 %, une fois sur vingt.
Ce que cette discipline a produit, c'est un résultat inconfortable que je vais énoncer clairement : la machinerie postflop de l'Avancé (la modélisation de range, la comparaison d'espérance, tout) n'a mesuré qu'environ +8 bb/100 de mieux que l'Intermédiaire sur 42 000 mains, ce qui n'est pas distinguable de zéro. Le niveau est nettement plus fort contre un champ mixte (+210 contre +56 ci-dessus). Mais l'affirmation précise « le modèle postflop bat les heuristiques en tête-à-tête » n'est pas quelque chose que la mesure soutient pour l'instant, et je ne vais pas prétendre le contraire.
Une dernière réserve sur les chiffres : ces bb/100 sont énormes par rapport aux standards du poker réel. C'est un artefact de l'environnement de test : les tapis sont remis à zéro à chaque main, personne ne saute jamais, on est à 200 blindes de profondeur, et le Débutant est une station maximalement exploitable. Ils n'ont de sens que les uns par rapport aux autres. Ne les comparez pas à un vrai taux de gain.
Les petites choses qui font qu'une table ressemble à une table
Le réalisme, ce n'est pas seulement la qualité des décisions :
- Les bots mettent 1 à 5 secondes pour agir, de façon aléatoire.
- Chaque bot a son propre décalage de personnalité, pour que cinq Débutants ne soient pas des clones. (Honnêtement : c'est plus mince que je le voudrais ; la personnalité de dimensionnement est réelle, mais leurs seuils bougent encore sur un seul petit scalaire. Cinq Débutants se ressemblent encore plus que cinq humains.)
- Le siège occupé par chaque niveau est tiré au hasard à la création de la table, puis fixé pour la session. Vos adversaires ne changent pas d'identité entre les mains ; le siège 3 est le même joueur avec la même personnalité toute la session, et comprendre que c'est lui le faible est une lecture que vous êtes censé pouvoir faire. Ce que l'aléatoire empêche, c'est le tell méta : sans lui, le bot le plus fort atterrirait toujours au même siège à chaque table où vous vous assoiriez, et vous apprendriez le siège au lieu du joueur.
- Sur le réglage de difficulté « surprends-moi », la composition de la table est calculée sur le serveur et n'est jamais envoyée au navigateur : elle est donc réellement dissimulée, et pas seulement non affichée.
- Aucune table n'est jamais entièrement Avancée. En partie parce que c'est une partie misérable, en partie parce qu'une table de bots forts identiques est une population dont les statistiques ne veulent rien dire.
Là où ça ne marche pas encore
Omaha. Tout ce qui précède est réglé pour le Hold'em. Le PLO et le PLO5 sont jouables, légaux, et derrière l'étiquette Plus précisément parce que je les ai mesurés et que les chiffres sont mauvais : la fréquence de showdown double à peu près pour chaque niveau (l'Intermédiaire comme l'Avancé dépassent 60 %) et le fold s'effondre à ~15 % même face à de petites mises.
La cause est comprise. Chaque seuil postflop a été calibré contre la distribution d'équité du Hold'em, et celle du PLO est comprimée vers le milieu : quatre cartes produisent bien plus de tirages, donc l'équité brute est en moyenne beaucoup plus haute, et le même nombre qui signifie « couche » au Hold'em signifie « suis, tu as des outs » au PLO presque à tous les coups. Il y a aussi un problème structurel plus profond : les entrées de la couche de décision sont un nombre d'équité et une catégorie de main faite, et cela ne peut génuinement pas exprimer l'Omaha. « Brelan max sur un board mouillé sans redraw » et « tirage à la deuxième meilleure couleur avec un wrap » portent une équité similaire et des catégories identiques, et ce sont un fold et une relance. La « nuttedness », les redraws, les bloqueurs et les outs vers les nuts ne sont calculés nulle part pour l'instant.
Le correctif n'est donc pas de réajuster des constantes ; c'est une couche de décision Omaha distincte avec ses propres mesures de force de main. C'est conçu et écrit ; ce n'est pas programmé, et je préfère trois niveaux Hold'em honnêtes à cinq niveaux médiocres.
Autres lacunes connues, sans enrobage :
- L'Intermédiaire va encore au showdown plus qu'un bon régulier, et se situe maintenant au-dessus de sa bande de référence de VPIP. Mesuré, documenté, compris, non corrigé.
- ~~Le profil de l'Avancé face à une relance n'a pas été examiné.~~ Refermé le 2026-08-19 : c'est la charte qui fonctionne comme prévu, pas un défaut. Voir sa section ci-dessus pour les chiffres par position et le test qui les verrouille.
- L'Avancé reconstruit sa lecture sur vous à chaque décision plutôt que de la porter d'une street à l'autre, donc l'agression du flop et de la turn se comprime en « c'était lui l'agresseur » au lieu de se resserrer barrel par barrel.
- L'Avancé modélise tout le monde comme jouant comme lui, donc il lit très mal les Débutants ; il ne détecte pas à quel type de joueur il a affaire, il présume simplement la compétence.
- La variation de personnalité à l'intérieur d'un niveau est réelle mais étroite.
- ~~L'Avancé ne joue son modèle postflop complet qu'à une table regardée par un humain, donc toute mesure tirée de données de tournoi ou de banc d'essai est en partie celle de l'Intermédiaire.~~ Retiré le 2026-08-19 : c'était dans une version antérieure de ce document, et c'était faux. Le mécanisme existait bien dans le code, mais aucun chemin de production ne l'a jamais déclenché : le simulateur de champ, arrivé quatre heures après l'écriture de cette branche, fait avancer statistiquement chaque table non regardée, si bien que ces tables n'atteignent jamais un moteur de bot ; et tous les autres appelants passaient « regardée » littéralement. La branche était dormante depuis le jour où elle a été écrite, et tout chiffre postflop de l'Avancé jamais publié est bien celui de l'Avancé. Le drapeau a depuis été supprimé purement et simplement ; un niveau qui devient discrètement un autre niveau sur un drapeau que rien ne positionne rapporte moins qu'il ne coûte, et l'empreinte des sondes est revenue identique octet pour octet sur les trois niveaux après coup, ce qui prouve que la suppression n'a changé aucune décision. C'est consigné ici plutôt que retiré parce que croire un mécanisme documenté sans le confronter au code est l'erreur récurrente la plus coûteuse de ce projet, et c'est la troisième fois qu'elle se produit.
Le quatrième niveau, et pourquoi le plan a changé
Il y a un quatrième niveau, conçu et délibérément non construit. Ce devait être un solveur : des tables proches de l'équilibre, calculées hors ligne une fois pour toutes, puis consultées à la table. Depuis août 2026, le plan est différent, et plus intéressant. Le quatrième niveau devrait apprendre à jouer.
Ce qu'« apprendre » veut dire ici, précisément
De l'apprentissage automatique (machine learning), au sens ordinaire du terme : une stratégie entraînée plutôt qu'écrite à la main. Elle joue au poker contre elle-même, des millions de mains, et s'améliore à partir des résultats, la même famille de méthodes que derrière toutes les grandes IA de poker de la dernière décennie (Libratus, DeepStack, Pluribus). Ce qui en sort est un artefact de données, une stratégie apprise, et cela s'enfiche dans la même couture que partagent déjà les trois niveaux existants.
C'est cette couture qui fait de ceci un échange plutôt qu'une réécriture. La couche de stratégie renvoie une distribution d'actions avec des fréquences, pas une action unique, et elle a été bâtie ainsi dès le premier commit précisément pour qu'un niveau entraîné soit de nouvelles données derrière une interface inchangée.
Ce dont il n'apprendra jamais : vos mains
Il n'est jamais entraîné sur l'historique de mains d'un joueur. Ni sur consentement, ni anonymisé, jamais.
C'est une décision, prise sur deux fondements qui se trouvent concorder.
Le premier est que cela ne fonctionnerait pas. L'apprentissage automatique reproduit ses données d'entraînement, et les données de ce site, ce sont des débutants en train d'apprendre : s'entraîner dessus produirait un Débutant moins bon, à un coût énorme. La variance du poker aggrave le problème : une approche supervisée exige des centaines de milliers, voire des millions de décisions avant que le signal ne dépasse le bruit, soit des années de jeu à l'échelle de ce site. C'est aussi pour cela que les IA de poker sérieuses ont appris en jouant contre elles-mêmes. Pluribus (le résultat à six joueurs, et le plus proche de la forme de ce site) n'a vu aucune main humaine pendant son entraînement.
Le second est que ce serait la mauvaise chose à faire avec les mains jouées par quelqu'un sur un site qui lui demande sa confiance. Une plateforme d'entraînement qui exploite discrètement ses élèves pour bâtir un meilleur adversaire a dépensé quelque chose qu'elle ne peut pas racheter. La promesse est absolue parce qu'elle ne coûte rien à tenir : la méthode qui marche vraiment n'a besoin d'aucune donnée de joueur.
Il apprend hors ligne, et jamais pendant que vous jouez
L'entraînement se fait sur la machine d'un développeur, pas sur le serveur. Ce qui arrive en production est un fichier fini et versionné. Le bot contre lequel vous vous asseyez le mardi joue exactement comme celui du lundi, sauf s'il y a eu un déploiement entre les deux, et dans ce cas, c'est un changement de version visible, comme n'importe quel autre.
Ce n'est pas de la prudence pour la prudence. Toute la promesse du Duplicate est que deux joueurs affrontent des adversaires identiques ; un bot qui s'améliorerait discrètement entre les sessions de deux personnes briserait cela en silence, et chaque rapport de bogue le concernant deviendrait irreproductible.
Y a-t-il vraiment de la place au-dessus de l'Avancé ? Mesuré, août 2026
Le risque évident, c'est que l'Avancé soit déjà aussi fort que ce moteur peut l'être ; auquel cas un quatrième niveau représente des semaines de travail pour rien. Cela a été mesuré avant de s'engager sur quoi que ce soit.
En face-à-face, l'Avancé bat l'Intermédiaire d'un écart trop faible pour être résolu : +8 bb/100, à 11 près, sur 42 000 mains. C'est ce chiffre qui rendait la question digne d'être posée, et il s'est avéré être la mauvaise mesure. Le face-à-face retire précisément les joueurs faibles dont l'exploitation constitue l'essentiel de ce qu'on appelle le talent.
Face à un champ commun (les deux mêmes Débutants et les deux mêmes Intermédiaires, les mêmes cartes, les sièges permutés pour que la chance s'annule), la même comparaison se résout proprement à +71 bb/100 (±26), sur deux séries indépendantes de 40 000 mains chacune. La forme est la partie utile : le pas de l'Intermédiaire au-dessus du Débutant est d'environ +37 et ne se résout pas, tandis que le pas de l'Avancé au-dessus de l'Intermédiaire est d'environ +71 et se résout. L'échelle devient plus raide vers le haut, pas plus plate, ce qui est le meilleur indice disponible que l'Avancé ne bute pas contre un plafond.
Ce sont des étalons, pas de vrais taux de gain : les tapis se réinitialisent à chaque main, personne ne saute, il n'y a pas de commission. Ils veulent dire quelque chose les uns par rapport aux autres, et rien dans l'absolu.
Par où ça commence, et sur quoi ça se rabat
Le premier jalon est la moitié économique de l'ancien plan, faite de la nouvelle manière : une stratégie préflop résolue, entraînée en jouant contre elle-même. Le préflop est la partie traitable : 169 mains de départ distinctes, c'est le jeu réel, sans aucune approximation nécessaire, et c'est un problème bien compris, avec une méthode connue. Savoir si la moitié postflop, coûteuse, vaut la peine d'être construite est délibérément laissé ouvert jusqu'à ce que ce premier résultat puisse être mesuré, parce que c'est cette mesure qui doit trancher.
Partout où la stratégie apprise ne couvre pas une situation, elle se rabat sur l'Avancé. Ce n'est pas un pis-aller, c'est la propriété de sûreté : le pire échec d'une politique entraînée est une décision aberrante dans une situation rare, et le repli garantit qu'une telle décision n'atteint jamais une table.
Toujours pas programmé
Rien de tout cela n'est construit, et c'est classé derrière plusieurs choses qui touchent bien plus de joueurs. L'Avancé est un adversaire véritablement difficile pour la plupart des gens, et le séquencement honnête reste de corriger ce qui est mesurablement faux dans trois niveaux avant d'en ajouter un quatrième. Ce qui a changé, c'est que le quatrième niveau a désormais un plan digne d'intérêt, et une mesure qui dit qu'il y a de la place pour lui.
Sur la question de l'IA, puisqu'elle va venir
Ceci a été construit avec Claude Code, et je ne vais pas jouer les timides. L'implémentation est écrite par une IA : le moteur, les ranges, le code d'équité, la suite de tests, le banc de mesure. C'est ce qui a rendu possible un projet de cette taille pour une seule personne.
Ce que l'IA n'a pas fait, c'est décider à quoi ressemble un joueur de poker. Les corrections qui ont changé la conception viennent du fait d'y jouer : personne ne couche des rois face à un tapis, donc ça a cessé d'être un seuil pour devenir un plancher ; le dimensionnement des mises doit changer avec la profondeur de tapis en tournoi, ce qu'une seule formule codée en dur ignorait pour tous les niveaux et tous les formats ; un bon joueur relance et couche bien plus souvent qu'il ne suit, ce qui a réorienté toute une passe de réglage loin d'une cible inventée plutôt qu'observée. Et la plupart des pires bogues (un Débutant qui suit trois streets avec une sous-paire, un bot Avancé qui se contente de suivre avec des as) ont été trouvés en s'asseyant pour jouer, pas par les 1 672 tests.
Le défaut de l'Intermédiaire ci-dessus est la version la plus nette de ce point, dans les deux sens. Il a été trouvé par un instrument que l'IA a construit et que l'humain a demandé, et il était resté invisible à toutes les portes agrégées de la suite pendant des mois, mais ce qui l'a rendu lisible comme un défaut plutôt que comme une curiosité, c'est un joueur de poker regardant « couche 92 %, 3-bette aussi souvent qu'il suit » et sachant immédiatement qu'aucun humain ne joue comme ça.
La discipline de mesure est ce que je désignerais comme la vraie réponse à « est-ce sérieux ? ». Il aurait été bien plus facile d'écrire « notre bot avancé utilise des principes GTO » et de livrer. À la place, il y a un banc d'essai qui joue des dizaines de milliers de mains, un contrôle nul qui le prendrait en flagrant délit de mensonge, et un document comme celui-ci qui dit tout haut où une porte a échoué.
Une distinction mérite d'être faite maintenant que le quatrième niveau est un plan d'apprentissage automatique, car « construit avec de l'IA » et « un bot qui apprend » sont deux affirmations différentes, et ce document fait les deux, à propos de choses différentes. Les trois niveaux auxquels vous pouvez jouer aujourd'hui n'apprennent rien. Ce sont des stratégies écrites à la main : des chartes, des seuils, un calculateur d'équité, rédigées avec l'aide de l'IA et réglées sur des mesures. Rien en eux n'a été entraîné, et rien en eux ne change pendant que vous jouez ni entre deux déploiements. Le quatrième niveau est celui qui serait entraîné : il n'existe pas encore, et quand il existera, il aura été entraîné contre les autres bots et jamais contre les mains de qui que ce soit.
La suite pour les bots
Dans l'ordre, d'après priorities.md :
1. Confirmer en jeu la correction de la river de l'Intermédiaire. Elle est livrée et vérifiée au banc d'essai ; ce qu'elle n'a pas eu, c'est quelqu'un qui joue quinze mises de river à trois tailles différentes et rapporte si la fréquence de fold monte réellement avec le prix. C'est désormais le premier point ouvert côté bots. 2. Omaha, quand ce sera programmé : une couche de décision distincte, pas des constantes réajustées. 3. La largeur des personnalités. Cinq Débutants se ressemblent encore plus que cinq humains, et élargir cela est une décision de conception sur la façon dont chaque axe se projette sur chaque moteur, pas une constante à tourner.
Deux points qui figuraient sur cette liste ont disparu plutôt qu'été faits, et la façon dont ils sont partis mérite une ligne. Le profil de l'Avancé face à une relance a été refermé en lisant les données des chartes, sans rien changer. « Construire une sonde qui ne sature pas la lecture adverse » a été classé haut pendant des semaines sur une prémisse qui n'a en fait jamais été vraie : le banc de sondes réinitialise la mémoire des bots avant chaque main, donc aucune sonde n'a jamais accumulé de lecture à saturer. Mesuré plutôt qu'argumenté : après une vraie série de 40 mains, chaque bot termine en détenant exactement une main de lecture sur la sonde ; supprimez la réinitialisation et le même contrôle en rapporte quarante. L'élargissement est bien réel là où la mémoire s'accumule vraiment : parties cash, tournois, séries de duplicate, et c'est précisément ce qui donne sa place à la nouvelle sonde « relanceur mesuré » : c'est la sonde relanceuse dont le comportement est le même au banc d'essai et en jeu.
Le quatrième niveau reste conditionnel, pour la raison donnée dans sa section : l'Avancé est déjà un adversaire difficile pour la plupart des joueurs, et le séquencement honnête est de corriger ce qui est mesurablement faux dans les trois niveaux existants avant d'en ajouter un quatrième. Ce qui a changé en août 2026, c'est le plan le concernant : il serait désormais entraîné par apprentissage automatique contre les autres bots, jamais sur les mains des joueurs, ainsi qu'une mesure confirmant qu'il y a de la place au-dessus de l'Avancé pour s'y entraîner.