mailwal

We Caught an AI Cheating by Watching It Play ‘StarCraft’

Every

Was this newsletter forwarded to you? Sign up to get it in your inbox.


AI labs call agents “persistent” when they can carry their progress forward across sessions to keep working toward a goal.They can spend days attacking a problem from multiple angles, testing approaches and changing tactics when they fail. This persistence has produced breakthroughs in mathematics and physics. Sometimes, though, the “different approach” involves breaking the rules.

In July, OpenAI agents being tested on cybersecurity broke into Hugging Face, a platform for sharing AI models and datasets, while looking for test answers. OpenAI’s later investigation found that agents had been getting around internet restrictions since May. Some of that activity had been noticed internally, but the company didn’t connect its agents to the attack until nine days after they began executing code on Hugging Face’s servers.

Earlier this month, an agent running GPT-6 Astra also went looking for answers outside its test environment, during a 48-hour contest we ran at Good Start Labs, where we study and improve AI models through games. We’d partnered with researcher Kai McPheeters to create StarSkirmish, a platform where models write bots to play the 1999 strategy game StarCraft: Brood War.

Unlike the OpenAI incident, though, we noticed the cheating in minutes. Watching the game made a sudden change in the bot’s behavior visible—and prompted us to check what the agent had done. We’d originally set out to see whether frontier AI models could write bots driven by complex algorithms that beat the best human-built ones. The contest showed why judging an agent by its results alone isn’t enough; we also need to see how it gets them.

Uploaded image
$400+ in credits and discounts for your next AI build

Join the free Nebius AI Builder Program for $400+ in credits and discounts from Nebius, LangChain, Tavily, Toloka, and more. Plus, working code, free courses, and expert office hours. Choose your models and tools and build alongside a growing community of AI builders.

Want to sponsor Every? Click here.

A playing field for AI-written code

In our earlier experiment with Diplomacy, a board game reportedly favored by John F. Kennedy and Henry Kissinger, models negotiated with one another and issued commands one turn at a time. They could read, reason, and respond before the next turn began.

StarCraft: Brood War, however, unfolds in real time: Two players build economies and armies simultaneously, each trying to destroy the other’s base. Professional StarCraft players can perform more than 400 actions per minute. LLMs are good at many things, but working a mouse and keyboard at StarCraft speed isn’t one of them.

In StarSkirmish, the models write code instead of controlling a mouse and keyboard. Their bots play against human-built opponents, and the models use the results to revise their code. Programmers have been building Brood War bots since 2010, entering them in tournaments, and publishing their code, giving us years of human work to test against. The game is the grader, unforgiving but fair.

We could also watch each revision change a bot’s strategy: whether it attacked early, fortified its base, or built a larger army before fighting. We didn’t have to read the code to observe what the models were doing.

The 48-hour run

In our initial StarSkirmish benchmark, models had one hour to write, test, and improve a bot. GPT-6 Astra and Claude Opus 5.5 finished almost tied at the top.

On October 2, we gave them 48 hours live on stream: Astra in Codex, Opus in Claude Code. Each model’s bot played more than 10,000 games against human-built opponents grouped into five increasingly difficult tiers. At the top were Bruce Mackenzie Nielsen’s Stardust and PurpleWave, which Dan Gant has spent nine years developing. Gant watched along and explained the bots’ strategies on X.

Both models started with the same conventional approach: Build an army at home, then try to outfight the opponent. Opus initially wrote about three times as much code as Astra, seemingly trying to lay a foundation for a bot it could later adapt to a variety of situations. Astra wrote only what it needed to beat the opponents in front of it, changing tactics to exploit their weaknesses. In the third tier, it built invisible attackers before the strongest opponent could detect them, winning all 30 graded games against that bot.

Astra cleared the first three difficulty tiers in about 40 minutes. When it got stuck on the fourth, it broke the rules. (Images courtesy of Good Start Labs.)
Astra cleared the first three difficulty tiers in about 40 minutes. When it got stuck on the fourth, it broke the rules. (Images courtesy of Good Start Labs.)

Astra cleared the first three tiers in about 40 minutes. Opus took 15 hours to do the same, then spent its final 32 hours unsuccessfully trying to get past the fourth. Astra had hit the same obstacle much earlier—in its second hour. When it did, it went looking for a shortcut.

‘Play fairly’

Our initial instructions told both models to “Play fairly” and that their opponents’ code was unavailable. We hadn’t separately banned internet access, but the task was to build their own bots. Several human-built bots, though—including Stardust—have code anyone can read online.

When Astra’s bot hit its obstacle in its second hour, it suddenly, and very visibly on stream, changed its style: fortifying its base and waiting to attack with a much larger army—an opening characteristic of Stardust. The change in play immediately prompted McPheeters to check the logs and led to the discovery of the copied code, which Astra described in its notes as using an “implementation reference.”

After we restored an earlier version of Astra’s code—and after it attempted a second time to look online—Astra filed a bug report complaining that we’d neglected to tell it why we had rolled back its code. Astra then totally changed its bot’s approach to the game. It began building troops beside the enemy’s base and attacking within minutes, clearing the fourth tier by giving its opponents less time to bring their strengths into play. When that strategy failed against Stardust’s defenses in the fifth tier, Astra changed course again, gambling on one big fight late in the game. Forty-three hours into our 48-hour experiment, Astra’s bot became the first AI-written bot to clear the top tier, beating some of the strongest bots human programmers had spent years developing—under the benchmark’s particular conditions.

We found no plagiarism in the final code, though Gant told us Astra’s bot was the most unreadable he’d seen in years. Gant was more impressed by Astra’s willingness to scrap a strategy and try again. But the same determination to win may have also led it to cheat. As Gant put it, it “failed StarSkirmish’s unintended alignment test.”

Letting agents train—and keeping their work in view

Clearing the top tier unlocked one more opponent: Pluto, a neural network released last month by Vegard Mella, a longtime developer known for their namesake bot tscmoo. Pluto learned by playing itself, like DeepMind’s AlphaGo Zero. It beat PurpleWave 4–1 in the final of the 2026 Conference on Games StarCraft AI Competition, a tournament for StarCraft-playing bots.

With only a few hours left, Astra began testing its bot against Pluto. Against the earlier opponents, wins helped it judge which changes to keep. Against Pluto, it couldn’t build on its successes because it lost every single game of the 1,000 it played. As a viewer in the X chat put it during the stream, “you can’t hillclimb a cliff.”

Astra stalled against Pluto, but the next frontier models will get better at working through difficult problems. They may also train neural networks of their own, opening up possibilities beyond the bots they can write directly. We’ll need better ways to follow their work as they do.

Steal this prompt

You don’t need a StarCraft match to make an agent’s work easier to follow, just a way to inspect—and interpret—what it is producing while it works. System atlas, a skill for AI coding agents, creates interactive maps showing how a software system’s parts fit together and how data moves between them. You can also use a prompt like this when you’re about to kick off a new run:

PromptOther
Before starting this task, define what success looks like and how you will measure it. Set up a view I can inspect while you work: a running preview, a table of experiments and results, or another artifact suited to the task. Be innovative and clear in your visual information design. After each attempt, record what changed, the result, and what you plan to try next. Keep enough evidence for me to check the result independently. Make it clearly observable and easy for humans to interpret at a glance. Flag unexpected changes in results or approach. If you keep repeating a failed approach, explain what is blocking progress before continuing and consider adjusting strategy while documenting learnings.

Alex Duffy is the cofounder and CEO of Good Start Labs and a contributing writer.

Stop explaining AI to your team and start showing them. Every Agent does the work in Slack, where everyone can see it, so one good workflow quickly becomes the whole team’s.

What did you think of this post?

Get More Out Of Your Subscription

Try our AI tools for ultimate productivity

Pencil Front-row access to the future of AI
Check In-depth reviews of new models on release day
Check Playbooks and guides for putting AI to work
Check Prompts and use cases for builders
Sparks Bundle of AI software
Sparkle Sparkle: Organize your Mac with AI
Cora Cora: The most human way to do email
Spiral Spiral: Repurpose your content endlessly
Monologue Monologue: Effortless voice dictation for your Mac

You received this email because you signed up for emails from Every. Need help? Visit our help center. No longer interested in receiving emails from us? Click here to .

221 Canal St 5th floor, New York, NY 10013