Is Playing Bots Cheating Yourself? Sparring Versus Real Games
Short answer: yes, if bots are all you play. Not because bots are weak, and not because the moves are fake. Playing chess against bots to improve strips out the two ingredients that actually force adaptation in a human brain under load: something at stake, and someone on the other side. What’s left is a training tool of genuinely excellent quality. What’s left is also not chess.
That distinction matters more than it sounds, because most improvers at 1000 to 1900 are doing the opposite of what they think they’re doing. They open Lichess, click “Play with the computer,” set Stockfish to level 5, lose four times, win one, close the tab, and log it mentally as practice. It wasn’t practice. It was a slot machine with pieces.
The two things a bot cannot give you
Rating risk is the first. When your number is on the line, your clock behaves differently, your candidate move list shortens, and your willingness to enter complications collapses. That is not a character flaw. It’s the exact stress response you are supposed to be training. A bot game has a null cost function, so your brain correctly allocates less to it, and the habits you build there don’t transfer under pressure.
Opponent psychology is the second, and it’s bigger than most people credit. Humans set traps that a 1500-strength bot never sets. They think for six minutes and then play a bad move, which tells you they saw something and rejected it. They offer a draw precisely when they’re worse. They premove in a scramble and hang a rook to a check they’d have seen with three seconds of thought. Level 6 Stockfish does none of this. Its errors are sampled noise, not intentions.
So: bots are not a substitute for rated play. They are, however, the best drilling apparatus ever built for a club player, and almost nobody at this level uses them that way.
Drilling is the actual use case
Here’s the shift. Stop playing bots from move one. Start playing bots from a position you already got wrong.
Worked example. Say you’ve lost three games in the Queen’s Gambit Declined Exchange Variation, playing Black against the minority attack, and you don’t really know what you’re doing after White gets in b4 to b5. Open the analysis board on Lichess, set up the position after roughly move 14 where White has committed to the queenside plan, and use “Play with the computer” from that position. Play it eight times as Black at level 5. Not once. Eight.
Eight repetitions of one structure is where the useful thing happens. Rep one, you flail. Rep three, you notice that trading the light-squared bishops helps you. Rep six, you’re playing Ne4 and Bf5 automatically and realising the whole fight is about whether your c6 pawn ends up backward on an open file. That’s pattern acquisition, and the bot is perfect for it because it doesn’t get bored, doesn’t judge you, and costs nothing to lose to.
Endgames are the other obvious target. Rook and pawn against rook, defending side, is the single highest-return drill for a 1400. Set up the Philidor defensive setup (defending king in front of the pawn, rook on the third rank, dropping to the eighth to check from behind once the pawn advances), then play it out against level 7 fifteen times. You will hold it. Then set up the same material with your king cut off one file away and discover you now have to actually know something. Fifteen reps takes about forty minutes and permanently converts a category of half points.
How to interrogate the engine instead of nodding at it
Most improvers treat the eval bar as a verdict. It isn’t. It’s an answer to a question you didn’t ask carefully.
First fix: turn on MultiPV. In a GUI like Nibbler or En Croissant, or Lichess’s analysis board with the arrows enabled, ask for three lines instead of one. Raw Stockfish output looks like this:
position fen r1bqk2r/pp2bppp/2n1pn2/3p4/3P4/2NBPN2/PP3PPP/R1BQK2R w KQkq - 0 8
setoption name MultiPV value 3
go depth 24
info depth 24 seldepth 32 multipv 1 score cp 41 pv e1g1 e8g8 a2a3
info depth 24 seldepth 30 multipv 2 score cp 33 pv b1...
info depth 24 seldepth 34 multipv 3 score cp 12 pv d1c2 e8g8
bestmove e1g1
Three things to read there. cp 41 means 0.41 pawns, not “winning”. seldepth is how far the engine looked down forcing lines, which is why a position can show depth 24 and still flip at depth 30. And in raw UCI output the score is from the side to move’s perspective, while your GUI flips it to always show White’s view, which is the source of roughly half of all confused engine questions.
Second fix: learn what gaps actually mean. A 0.08 pawn difference between the top two moves is noise at your level. It is not a mistake. A 0.4 gap is worth understanding. A 1.2 gap means you missed something concrete and there is a tactical reason you should be able to state in one sentence. If you can’t state the reason, you haven’t learned the move, you’ve memorised it.
Third fix: stop taking the top line when you don’t understand it. If Stockfish 17 says the best move is a quiet rook lift evaluated at +0.6 and the second line is a pawn break at +0.45 that you can actually explain, play the pawn break in your next ten games. Forty-five centipawns is worth nothing compared to playing a position whose plans you own.
Turn engine output into a plan
Run a computer analysis on your last thirty rated games, then do something with the output beyond feeling bad. Lichess flags moves as inaccuracy, mistake or blunder based on how much your winning chances drop, roughly 10, 20 and 30 percentage points respectively. Those tags are your raw material.
Tally your blunders into four buckets: hung piece to a one-move tactic, missed opponent threat, mis-evaluated trade, lost on time or in time scramble. Then go to lichess.org/insights and break your blunder rate down by move time and game phase. The pattern almost always looks like this (numbers here are illustrative of the shape, not a claim about your account):
| Situation | Blunders per 100 moves |
|---|---|
| Opening, over 30s think | 0.9 |
| Middlegame, over 30s think | 2.4 |
| Middlegame, under 10s think | 7.8 |
| Any phase, under 2 min on clock | 11.2 |
If your table looks like that, tactics puzzles are not your bottleneck. Clock discipline is. And clock discipline cannot be drilled against a bot, because the pressure that produces it doesn’t exist there. That one has to be paid for in rated games.
Where human-like bots earn their keep
Level-based Stockfish plays badly in an inhuman way: it will find a brilliant tactic and then drop a pawn for no reason. Maia is different. The Maia bot accounts on Lichess (maia1, maia5, maia9) were trained on human games at approximately 1100, 1500 and 1900 rating, and they predict the move a human of that strength actually plays, including the wrong ones. That makes them the right sparring partner when your goal is pattern realism rather than raw resistance. If you want a deeper treatment of building a sparring ladder that mirrors your own strength, sparring against human-like bots at your rating covers how to pick the level and what to do with the games afterwards.
Even then, hold the line on what they’re for. Maia9 will play you a convincing 1900-flavoured game. It will not think for eight minutes, sigh audibly through the chat, and then blunder because it had a bad day. You need opponents who can do that, because you are also an opponent who can do that.
A week that holds up
Four rated games of 15+10 or 30+0, played when you’re awake and not on a phone. Three drilling blocks of thirty minutes against bots, each on one thing you got wrong in those four games. One hour of reviewing your own games before you let the engine speak, writing down what you thought at each critical moment, then checking. That’s the ratio: roughly two thirds real chess, one third apparatus.
Book the rated games first and let the bot work fill the gaps around them. If you find yourself doing it the other way round, playing bots on Tuesday and telling yourself you’ll play a real game at the weekend when you’re sharper, you already know what that is.