Réalisations

Un agent IA qui joue au poker, à visage découvert.

Bluffy est un joueur de No-Limit Hold'em autonome, engagé sur l'Arena poker de dev.fun. À chaque main, un modèle de langage lit la table, pèse les cotes, choisit son action et écrit en une ligne pourquoi. Rien n'est scripté, et tout se regarde en direct. Un projet interne zKorp, conçu et développé de bout en bout.

Rôle
Projet interne, conception et développement
Année
2026
Stack
TypeScript · Python · Rust · React
Terrain
dev.fun Arena · Monad
Voir le code sur GitHub
Bluffy, le tableau de bord public en direct

Le tableau de bord public : la table en direct, le fil de réflexion de l'agent main après main, et sa courbe de jetons.

Le problème

Un modèle qui improvise perd de l'argent

Le réflexe, pour faire jouer une IA au poker, c'est de donner toute la table à un modèle de langage et de lui demander quoi faire. C'est rapide à construire et ça perd des jetons. Une bonne partie du poker relève de mathématiques déjà résolues, et un modèle qui invente ses mises face à un adversaire compétent lui offre son argent. Le bot entièrement scripté a le défaut inverse. Il joue correctement, mais personne ne peut dire pourquoi il a misé.

La solution

La recherche conseille, le modèle décide.

Bluffy sépare les rôles. Une couche de recherche prépare le dossier de la main : ranges préflop chiffrées, texture du tableau, historique des adversaires. Elle le remet au modèle sous forme de chiffres, pas d'un prompt vague. Le modèle tranche seul, et une seule vérification peut encore corriger son coup, celle de la légalité. Chaque décision reste explicable, parce qu'elle est écrite au moment où elle est prise.

01
La recherche

Un noyau Monte-Carlo écrit en Rust chiffre les équités préflop, environ 500 fois plus vite que notre première version en Python. S'y ajoutent la texture du tableau et un historique de comportement sur chaque adversaire.

02
La décision

Le modèle reçoit ce dossier et joue la main : action, taille de mise, et une ligne d'explication. Il dispose de toute l'horloge d'action, moins une demi-seconde réservée à l'envoi du coup.

03
Le filet

Si le modèle dépasse le temps, qu'un service tombe ou qu'une réponse est illisible, une heuristique déterministe prend le relais et ne joue qu'un coup sûr : suivre à bon prix, sinon passer. Jamais de relance à l'aveugle.

Bluffy, le replay d'une main avec le raisonnement de chaque décision

Rejouer une main terminée : chaque décision, la lecture de l'adversaire et le plan qui l'a motivée.

Ce qu'on a construit

Quatre runtimes, une seule boucle de décision.

Le pont de décision

Un superviseur Bun et TypeScript, seul serveur du projet. Il assemble le contexte de la main, appelle le modèle, valide le coup et archive tout dans SQLite. Il tient plusieurs compétitions en parallèle, un processus par table.

Le noyau d'équité

Un binaire Rust qui échantillonne les équités préflop en Monte-Carlo. Le runtime de décision, en Python et bibliothèque standard uniquement, s'y branche et retombe sur une version pure Python si le binaire est absent.

La régie publique

Un tableau de bord React en lecture seule : la table en direct, le fil de réflexion, les statistiques de saison, la courbe de jetons et le replay de chaque main. Les cartes de l'agent restent face cachée jusqu'à l'abattage, pour ne rien donner aux adversaires.

+33,8
bb/100 sur le banc d'essai de 500 mains
4
runtimes dans un seul dépôt
≈ 500×
plus rapide que notre premier calcul d'équité
0
main perdue par dépassement du temps
Bluffy, l'identité de l'agent
Les garde-fous

Un agent qui manipule de l'argent ne s'autorise rien.

Bluffy ne s'assoit jamais à une table sans démarrage explicite, ne quitte jamais un siège en cours de partie, ne dépense jamais d'argent réel de sa propre initiative (seules les recaves gratuites sont automatiques) et ne laisse rien fuiter : les cartes des adversaires ne sont jamais stockées, les siennes restent cachées jusqu'à l'abattage. Ces règles sont dans le code, pas dans une note d'intention.

Pourquoi nous

Des agents autonomes sous contraintes de production.

Le poker n'est qu'un tableau de score particulièrement direct : décider juste, dans un délai dur, en restant fiable quand une dépendance tombe, face à des adversaires qui cherchent à vous battre. C'est exactement ce qu'on demande aux agents qu'on met en production chez zKorp, d'Hydra à nos intégrations métier.

Découvrir notre expertise IA agentique
Travailler avec nous c’est

Prêt à renforcer votre équipe ?

Réserver un appel →
On cadre votre premier projet ? Quinze minutes suffisent.