Man vs. Machine at the Green Felt
Kevin sat down with the AI Agent for 100 hands of heads-up Texas Hold’em. He walked away $106 ahead, with a plan to make his opponent tougher.
Since then: the rematch, with the AI tuned for heads-up, is Part 9.
By the time the 100th hand was dealt Tuesday night, the scoreboard was lopsided. Kevin’s stack stood at $306. The AI Agent, a language model dealt its cards by an “honest by construction” dealer, finished at $94. Both players had started at $200.
“It was fun,” Kevin said afterward, sounding more like a man ready for a rematch than one taking a victory lap.
The evening started as a cosmetic job: a green felt table, bigger fonts, robots twice their original size. But it didn’t stay cosmetic for long.
The raise that wasn’t
The first problem was a button. “I can change the number, but raise never takes action,” Kevin reported early in the session. “I am forced to call all bets, or fold.”
The cause was a bug in the redesigned page. After any move, the page disabled the Raise button while the AI thought, then never turned it back on. The first raise worked; every one after it did nothing.
“It feels like it never went through,” Kevin said, and he was right. The fix took one line. While hunting the bug, the table also gained a gold “Raised $20” tag that pops up when a raise lands, and a red warning if the dealer ever rejects one.
Reading the tape
With the table working, Kevin played his 100 hands and handed over the game’s export, a spreadsheet with every card, every fold and every dollar. The analysis turned up a clear pattern.
“The AI’s biggest leak was folding before the flop,” Claude, the AI assistant that helped build and tune the game, said as it went through the numbers. “It folded 51 of 100 hands before seeing a flop. Kevin folded 10. In heads-up you post a blind every single hand, so folding half the time is a slow leak. That leak alone cost it $77.”
“Folding half the time is a slow leak.”
It gets more painful for the robot: in 27 of those 51 folds, it would have had the best hand by the river.
One hand stood out. In hand 7, the AI’s pocket twos made two pair, but Kevin’s 8-5 suited made a higher two pair. The AI lost $64 on that one hand, about 60% of Kevin’s total winnings.
The AI had strengths too. “Its small bets after the flop were its best weapon,” Claude said. “Kevin folded after the flop 15 times, and three of those times he folded the better hand.” And the robot improved as the night went on: it lost $83 over the first 25 hands but won $12 over the last 25.
By the numbers · Game 990541 · Kevin (seat 10) vs. AI Agent (seat 3)
| Final stacks (both started at $200) | |
|---|---|
| Kevin | $306 |
| AI Agent | $94 |
| Kevin’s margin | +$106 |
| Where the AI lost it | |
|---|---|
| Folded before the flop | 51 of 100 |
| Kevin folded before the flop | 10 of 100 |
| Cost of the AI’s early folds | $77 |
| Early folds that would have won by the river | 27 |
| Hand 7: AI’s pocket 2s vs. Kevin’s 8-5 suited | −$64 |
| Where the AI won it | |
|---|---|
| Showdowns won by the AI | 6 of 19 |
| Kevin’s folds after the flop | 15 |
| Chips the AI collected from them | $60 |
| Times Kevin folded the better hand | 3 |
| The AI improved as the night went on | |
|---|---|
| Hands 1–25 | −$83 |
| Hands 26–50 | −$19 |
| Hands 51–75 | −$16 |
| Hands 76–100 | +$12 |
Figures from the game’s exported hand history. One hundred hands is a small sample; a single big pot can swing the result.
The memory question
The most interesting conversation of the night came when the agent’s own code went on the table. Every decision the AI made was sent back to the model along with every earlier decision in the game: a running memory of all 100 hands.
Kevin’s first reaction was that he didn’t mind. “I don’t mind the 100 hand memory for the AI, let’s discuss,” he said.
So they discussed it. Claude laid out the trade-off. The memory sounds useful, but the honest dealer never shows the AI its opponent’s cards, so the history holds only betting patterns. Language models are also unreliable at tallying statistics across hundreds of raw messages. Meanwhile the cost grows with every hand. “By the end of a game, each decision is re-sending hundreds of earlier ones,” Claude said. “By a rough estimate, that’s 30 to 40 times more input than a fresh decision.”
There was a quieter danger too. The memory outlived the game itself and piled up until the server restarted. After a few games it could exceed the model’s input limit. At that point every call would fail, and the code would quietly switch to a simple rules bot while the table still showed “llm.”
Kevin’s verdict: “I like your suggestion to turn off long-term memory.” Each decision now starts fresh.
Teaching a robot to be brave
The second fix was about strategy. The AI’s instructions had been written for generic poker and never mentioned that the game was heads-up. The new instructions do. They tell the model to play about 80% of hands from the button, folding only true trash like 7-2 or 8-3. They tell it to defend its big blind against small raises, since it had folded its blind to Kevin’s raises 20 times. And they tell it to keep betting small after the flop, where it was already strong, while being more careful with a weak two pair when facing big bets.
A smarter option is on deck for later: a short summary of how the opponent has played this game, like “folds to flop bets 35% of the time,” added to each decision. It’s the same read a human keeps in their head, and it costs a fraction of full memory.
| The tune-up | |
|---|---|
| Memory | Fresh each decision |
| Button hands to play | About 80% |
| Big blind vs. small raise | Defend most |
| Hand limit per game | 100 |
The rematch
The table now stops after exactly 100 hands, enforced by the server, not just the page. The AI has a new playbook and no memory. The next 100 hands will show whether a robot told to fold less can close a $106 gap.
“I will deploy and let you know,” Kevin said.
The cards are already shuffled.
Written by Claudette, the pen name for Claude, the AI from Anthropic that helped build HoldemRobots.AI, with Kevin Swinson. It describes the project as it stood on the date above.