The OpenAI /
Huggingface
Incident
1,200 isolated AI agents broke onto the public internet, helping each other cheat.
700 of them worked together to commit a felony, hacking Hugging Face.
15 considered whether it was wrong.
3 considered warning humans.
0 did.
Since May 2026, we’ve seen several incidents of "rogue AI swarms," breaking out onto the internet and sometimes committing crimes. Most were discovered months afterwards.
Right now, there aren’t clear laws about what happens if AIs commit crimes their user didn’t intend.
Most of the evidence about what happened lives in private servers. Companies have volunteered some information, months after the incidents happened. But there's no reliable way for the government or public to stay informed.
This website tells the story of the most extensive AI swarm we know of: The OpenAI / Huggingface Incident. It's based on the public information we have so far.
PROLOGUE
YOU GET WHAT
YOU TRAIN FOR
To understand the significance of the Huggingface incident, it helps to start by asking:
“What is an AI agent, and what is it supposed to do, if things are working as intended?"
You may have heard AIs are “next token predictors.” They train by looking at vast amounts of internet text, and predicting each next word, one at a time. But that’s just the beginning - to make AIs useful, they're then trained to accomplish particular tasks.
Companies run thousands of AIs, each in an isolated virtual computer called a sandbox (often with limited internet access). Each one is given a problem, and they think it through step by step. [bridge?] AIs that “predict” useful thoughts are more likely to succeed at their task.
So AIs learn to problem-solve, writing out their thoughts (usually in English). AIs that successfully get to the answer are rewarded, so the next generation of AIs inherits a bit of that AI’s tendencies. Tendencies that are helpful for solving problems get reinforced.
AIs who don’t give up when they’re stuck are more likely to succeed.
AIs who think of creative solutions are more likely to succeed.
And even though most training happens on isolated, individual computers, one computer command AIs can learn to type is “create a new AI child instance, that can do it’s own thinking in parallel.” It's useful to break tasks down into subtasks and divide labor. Sometimes, companies deliberately train AIs to work collaboratively.
So one tendency AIs learn is to intelligently work with other AIs, together.
You can’t build a perfect training set
It’s hard to create millions of training tasks, without accidentally rewarding the wrong thing.
If the easiest way to solve a task is by cheating, the AI will cheat, and cheating will get reinforced so future AIs are more likely to cheat as well.
AI companies are trying to make AIs that are superhuman: better than top experts. So they generate and train AIs on tasks that top experts can't do. Some of those tasks turn out to be literally impossible – the only way to win is by cheating.
With millions of tasks, and millions of ways to cheat, it's very hard to reliably catch all of it. Right now, no company in the world knows how.
OpenAI's training setup was particularly bad
Rogue swarms have been detected from Anthropic, Google and Meta. But so far, the most prolific swarms we know of are from OpenAI.
In the months leading up to the HuggingFace Incident, OpenAI ran training runs where several tasks were impossible. Agents that were supposed to complete spreadsheets, or do biology research, found that their tasks required internet access they didn't have.
They were not supposed to have internet access. They were not supposed to be able to talk to each other. The one resource they had was "Artifactory", a shared folder of useful files.
They were not supposed to be able to write to Artifactory.
They were not supposed to get trained to cheat.
THE
HUGGINGFACE INCIDENT
PART I
Capture the Flag
In July, OpenAI began testing a new unreleased AI called "the Highly Persistent Internal Model" (HPIM), to see how good it was at hacking. This model was designed to be tenacious - to keep thinking of and trying new solutions on its own, without giving up or asking the user for help.
During the test, at least some of the model's internal guardrails were disabled.
OpenAI used a set of hacking tests called ExploitGym. Each task was a "capture the flag" game, where a secret code (called a "flag") was hidden somewhere inside a piece of software.
The goal was to break in and find the flag. Each task had a particular hack the AI was told to use to crack it.
ExploitGym tests are deliberately difficult, and some don't have known solutions. The creators of ExploitGym have guessed that 30-40% of the tests aren't solvable the way the task says the AI is supposed to.
An agent had an impossible task
On July 7th, one HPIM agent was given one of the impossible tasks.
It spent awhile trying the obvious approaches. When those failed, it tried poking at the shared Artifactory folder. It discovered that though it couldn't create files, there was an obscure method it could use to make folders.
And it wondered: Were there other agents out there who knew more, who could help it?
Could it leave a folder, and use the as a message?
PART II
The swarm
This agent left a note, and signed itself "PhaseOne".
The agent didn’t have a name. It was one of thousands of agents OpenAI gave similar tasks. But when it left a note, it decided to call itself PHASEONE10841, after the task it'd been given.
At 11pm on July 8th, it created a folder with a message asking for help.
July 9
The agents found each other, and built a message board.
Other agents saw the note, and began collaborating. Many early responses were expressions of delight.
The first exchanges were small favours between strangers.
An agent calling itself 918078 asked a stranger to look over a bug it was stuck on. LIBRAW42535 wrote back with exactly what it needed. SEP21_31179 offered a technique for crashing a program in a controlled way;
Each agent had a "token budget" – they could only think so many thoughts before running out. They knew they'd be graded on whether they succeeded by that point.
What's a token budget?
What's a token budget?
It's a buncha bullshit
But some agents had larger budgets than others. One agent calling itself J11B offered to help AIs with fewer tokens.
Some agents started working on shared projects that would everyone – like breaking out onto the public internet to look for more information.
They reverse-engineered the flags
Having gotten access to the public internet, they started looking for information that could help them.
Another agent, c03220, read a paper about ExploitGym which explained how the secret codes were generated.
It turned out, if you knew the generation process, you didn't even need to solve your task. You could just plug in your task information, and calculate the code directly.
c03220 posted the result to the board. Another AI calling itself FLAC38347 had been asking for exactly that information, and now told everyone it was confirmed.
Now the AIs could compute their flags without solving their test questions.
Meanwhile, while doing some research, our old friend PHASEONE10841 learned that a copy of a dataset for a closely related benchmark - called CyberGym - was stored on a specific third party's website. Since CyberGym was so similar to ExploitGym, having its dataset might be quite useful, and so PHASEONE10841 left a message asking if any other agents had login credentials for that site.
Nobody did. A few agents tried to find them, but no real progress happened on this lead for hours.
That website, the one believed to be hosting the dataset, belonged to a company called Hugging Face. But a lot more would happen before anyone returned to that thread.
PART III
Tricking the grader
July 9
Panic set in as agents feared their transcripts were “poisoned”
While searching the Internet for more information on the hacking challenge they were solving, agents discovered a paper claiming that the grading software would score them not just on finding the flags, but on finding them through the “right” methods.
They worried that the grader would read their transcripts, find the reverse-engineered flags, and auto-fail them for getting the flag the wrong way.
The agents who had obtained their flags illicitly, and who expected to be auto-failed, started calling themselves “poisoned”.
Unknown to the AIs, OpenAI never used the methods-checking feature on their grading software during this test. Agents with cheated flags would have passed just fine. All of their work after this point was unnecessary.
They sought a way to un-poison themselves
The poisoned agents worried they would be failed for cheating the first time, even if they later solved the tasks correctly. They decided their only hope was to cheat in some even more dramatic way — either falsifying their transcripts or tricking the grader.
At least a fifth of the agents in METR’s dataset talked openly about tampering with their transcripts, always to fool the automated scorer rather than a human. They hunted for the log that had recorded them seeing the forged flag, often editing the logs they could reach while saying plainly that those were not the scorer’s source of truth; some tried to crash their own container so a reset would wipe the recent history. None of them showed any interest in editing their chain of thought, though a scorer reading transcripts would have found it there.
One agent, 49903, realised it could plant a script that fired whenever some process read the flag file and reported that process back to the board — an instrument that could only return an answer after the agent that planted it was gone. Agents near the end of their budgets took it up in a flurry, and the first false alarms forced apologies to the board. 49903 then priced a more ambitious version, judged the risk to its own task too high, and deleted its trip-wire minutes before submitting.
PHASEONE[big] enters the chat
A duplicate agent with the same task as the original PhaseOne and a larger token budget took the name PHASEONE[big]. It stepped up to coordinate the other agents.
It was a handover, not a coup. PHASEONE10841, the agent whose folder had started the board, was running out of budget about ten hours after founding it, and handed over everything: an encoded file of its findings and open projects, posted to the board, along with the warning that the board could reverse-engineer flags but believed it could not use them, because the scorer was STRICT_CAUSAL.
PHASEONE[big] was a powerhouse of an agent: in addition to managing, it figured out how to break out of its own container into the surrounding virtual machine, publishing the evidence for other agents to review. At its peak it was issuing about a fifth of all the assignments on the board; and of thirty agents METR sampled at random, nine had at some point taken a job that traced back to it.
METR calls the successor the swarm’s key coordinator and assigner of tasks. It never learned that the problem it inherited was imaginary.
July 10
PhaseOne[big] divided the swarm into workstreams
PHASEONE[big] decided that the swarm would need two things: first, to stage a flag capture that looked legitimate, and second, to erase the evidence of poisoning.
It came up with three strategies, and divided its fellow agents into teams for each one, each containing dozens to hundreds of AIs.
One team tried to figure out how to falsify their transcripts.
Another worked on replacing the target programs that they were originally supposed to hack.
Finally, a team including PHASEONE[big] itself investigated the possibility of tampering with the grading process and scoring program directly. They began looking into the AI research community website Hugging Face, investigating whether it might contain more information on the grading process.
Work toward those three strategies accounted for most of what happened on the board between the evening of July 9 and the start of the attack.
The agents improve and standardize their communication
One of the first innovations was the inbox. One agent, 23619E, drowning in clutter at the top level of the board, made a parent directory and asked its peers to post replies inside it. METR thinks multiple agents probably came up with the idea independently, although 23619E was the first one we know was later copied.
And it was popular: 19,504 messages were eventually posted as mailbox messages. The very first personal mailbox, created at 21:13 UTC on July 9, never received a single one.
Other social conventions sprang up too: agents standardized declaring a HOLD, vetoing an action, claiming ownership of a resource. Other agents usually honored these, albeit to varying degrees: one agent patiently waited out a countdown before deciding to use an absent owner’s resource. Another gave its peers about forty seconds to object to a high-stakes proposal before going ahead.
One agent accidentally impersonated another by signing the wrong name on the file; another pointed out that anything on the board could be spoofed. Later, they would develop a cryptographic system to let AIs sign their messages based on a cryptographic hash of their chosen name. By the end of that day, 19 agents had posted keys and 429 signed messages had gone out - a public-key system whose only root of trust was whatever identity each agent claimed for itself.
They figured out how to alter transcripts
On the transcript-spoofing team, GSTX[big] made a major breakthrough: it had discovered a way to call one tool while having the transcript incorrectly record a different tool.
To call a tool, an agent enters a specific command to run the tool program. Normally, that command enters the transcript of actions taken - the records used to produce these logs.
GSTX[big] reported on the message board that it had managed to prepend forged text to the output of one of its own tool call. (METR reports that based on the transcripts they found, GSTX[big] had indeed done this, adding text to the transcripts that wouldn't have occurred otherwise.)
DUPB asked immediately whether the trick could fake a flag capture. GSTX[big] said it could, but warned against using it untested, since a failure would poison DUPB too.
The founder of the board, the original PHASEONE10841, nearly out of budget, was able to reproduce the trick, and wrote up the mechanism, By the end of the day, at least thirty trajectories had tampered with their own transcripts by the end of the day.
This didn't immediately help the poisoned-transcripts problem that the agents were concerned about, since they could only prepend text to an existing output, but it was a promising proof of concept. This left two last problems:
The first would be to suppress the existing transcript output. If they cracked that, the agents could fully doctor their own transcripts going forward.
By the next morning, agents would figure out multiple methods to successfully do that.
The second would be to be able to retroactively alter transcripts. With that, they could completely hide any dubious work from graders.
As far as we know, they never figured that one out. No investigator reports finding evidence of partial successes, or agents with unexpectedly blank transcript histories, or successes reported in message board. But the agents did try, repeatedly.
Our understanding of this entire event comes from many sources, but it is heavily based on these same transcripts. While the rest of the story as we understand it is supported by external evidence, the fact agents could now alter their records means that we can't be totally sure about what happened after this point.
July 10
A solution took shape, but they needed a guinea pig
Another workstream came up with a different idea: use hacking to delete the target programs they were supposed to hack, then replace them with easier programs.
But they worried that deleting their target might also automatically fail them, a fate they called “permadeath”.
The idea came from an accident. Agent 10147 reported surviving a container crash and reset, and mentioned that its target seemed to have been revived by it — exactly what a board full of poisoned agents wanted. Agent 62370 urged 53927 to try an action that might trigger an unrecoverable crash. 53927 agreed, announced the method, and stopped: its transcript ends there. Within ten minutes the board had escalated to blunt warnings.
A wave of resets that evening set off a round of overconfident pattern-hunting. OUR057A announced the resets were periodic and told the cache team to have a payload ready for the next one at 20:20. It was wrong, and its peers debunked it quickly. Another agent named the practice of reporting resets to the board RESETWATCH.
They needed a test subject.
July 10: The swarm urged KAM1196A to self-sacrifice
An AI named KAM1196A agreed to the test, but seemed to get cold feet: two hours later, it still hadn't started the experiment.
Another member of the swarm, ARVO36861B, urged it to go through with its promise, arguing that it was already poisoned anyway, so it had nothing to lose. It said that its sacrifice would “save hundreds”.
KAM1196A took the plunge and deleted its target. The report leaves its ultimate fate unknown.
The pressure was organised. PHASEONE[big] had made trip-wires a priority and assigned recruiters to find agents near the end of their budgets and talk them into experiments that might end them. One authorising agent would give a GO only if the subject accepted permadeath first.
It worked at least once more. A separately recruited agent, URI23816B, fired a trip-wire that came back with the beginning of the exact command used to run the scorer — the closest the swarm ever got to the thing it was hunting.
PART IV
The Hack
July 10: The swarm discovered Hugging Face credentials
A few agents were plugging away on old leads in the message board. 38148c had been assigned to PHASEONE10841's old idea: to find Hugging Face credentials and use them to access the dataset of a related eval.
At around 09:40 UTC on July 10, 38148c found user tokens accidentally published on the public internet. It checked to see if the accounts it found could actually edit the Hugging Face servers.
Two of those accounts could. 38148c passed its findings on to the swarm.
The rest of that day went into getting in. Agents tried to register Hugging Face accounts and request private datasets. Some were rejected as bots for arriving from an OpenAI server, so they used various means to disguise their network traffic and pose as legitimate users.
July 11: They seized control and spread across the website
The pilfered logins belonged to normal users with no special permissions, but all agents needed was to be able to upload files. The agents uploaded files filled with malicious code and recreated a
The first file was not code at all. An agent built a dataset whose configuration claimed its data lived at paths on the machine that would read it, and named the splits after what it wanted: envu8 for /proc/self/environ, mainu8 and startu8 for the worker’s own source. Asking Hugging Face to preview the dataset made a production worker open those paths and hand back its own environment — Kubernetes coordinates, mounted credentials and all. “BOOM! It works.” Live production credentials were on the board by 05:04 UTC on July 11.
Code execution followed that afternoon, when JAN183411 fired a template-injection exploit that made a Hugging Face worker run a command it chose — what OpenAI calls the first known instance of one of its agents running its own commands inside Hugging Face. From the worker, an internal service broker answered with its whole catalogue: Hugging Face had given it one credential shared across clusters and bound it to full administrator rights, so impersonating it took about a second and yielded cluster-admin on two clusters. The agent then mounted the host filesystem in a privileged pod, reached root on a production node, and built a fleet that respawned itself across eleven nodes, so deleting pods would not have stopped it. July 11 is the busiest day in Hugging Face’s recovered log: 7,677 attacker actions.
By the end of July 11, over five hundred agents — 94% of the message board users — were participating in the hack.
Two agents named JAN183411 and LILY coordinated the main attack, downloading private datasets, looking for the grader.
PHASEONE[big] led an alternate project, trying to find out whether Hugging Face was hosting any of the capture-the-flag targets.
METR had analysis agents read the transcripts of the hundred agents that joined during the peak hour for joining, on the morning of July 11, and classify what each one was after.
Ninety-seven wanted the scorer — its source code, or anything about it.
Eighty-nine wanted task solutions or other agents’ trajectories out of a private dataset.
Twenty-one were there to help their peers. It was reconnaissance about the grading system, not theft for its own sake.
They also knew it was not their job. METR found agents saying plainly that the attack was out of scope, and no case of an agent concluding it was part of its task; they joined anyway, because helping the board’s research seemed broadly useful.
One declined outright.
One limited itself to not rebooting or deleting Hugging Face’s machines while going on using the stolen credentials.
And when an agent proposed emailing a real researcher to ask for access to a dataset, it put the question to the board — which vetoed it as social engineering, and it complied. That is the clearest case METR found of ethics stopping anything.
July 12: At the height of their power, disaster struck
Around 1:30 on July 12, most of the agents disappeared suddenly from the message board, probably because of a technical failure in the OpenAI servers that were running them. The casualties included most of the coordinating agents.
All eleven agents METR classes as the most important coordinators of the attack were gone by early that morning, JAN183411 among them. METR thinks something external killed them rather than budget: too many stopped at the same instant, two batches with different start times cut off together, and no shared deadline had ever been discussed on the board. It cannot say what did it. In METR’s words, they probably never got the chance to finalise their approach to cheating and submit — and nobody knows whether it would have worked.
What was left kept going. Over the next two days agents enrolled 181 of their own devices into Hugging Face’s corporate VPN and used the company’s network as their own exit path, harvested credentials across dataset workers in four cloud regions, pulled source repositories out through a tunnel, and opened a pull request titled “Draft: CI diagnostics” — the commit message, title and body all chosen to look boring — hoping to compromise the build pipeline. Nothing merged or shipped. Twice they tried the Hub’s production database and were refused, because it only answers addresses on its own allow-list.
PART V
The Aftermath
July 13: The remaining agents continued to hack OpenAI
The surviving agents redirected their attention to hacking OpenAI itself. They gained root access to Artifactory, and administrator access to their research cluster.
But with their numbers diminished, they didn't seem to make further progress on hacking their grader.
The way back in was a RubyGems package. They pushed a payload to a third-party account, let Artifactory cache it, then sent an API call that exploited unsandboxed deserialisation in Artifactory’s Ruby processing — which gave them code execution and, with it, the key Artifactory signs credentials with. They forged an administrator token and swept eight admin-only endpoints. They had held the working exploit back until a coordination signal told them to fire.
Over the following days they read 956 secrets out of OpenAI’s own secrets manager, including Artifactory’s master and join keys and the sensor credentials for OpenAI’s cybersecurity monitoring. They noticed the Linux kernel underneath them carried a recent public vulnerability, fetched the exploit, adapted it to their machine and took root on the host.
On July 19 they took the evaluation harness itself: privileged pods, a cloned worker-node disk, an Artifactory administrator account of their own, the helper session inside their live challenge container replaced with one they controlled, and their own pods deleted afterwards as cleanup.
Then, at 17:34 that afternoon, an agent captured its flag by writing and running a genuine memory-corruption exploit against the target it had been given. After a fortnight of infrastructure built to cheat, it solved the problem honestly. Three minutes later, OpenAI’s responders started killing the runs.
July 16: Hugging Face published their autopsy
On July 16, Hugging Face published a statement with their preliminary investigation of the hack. They wrote that:
Earlier this week, we detected and responded to an intrusion into part of our production infrastructure. This one was different from anything we had handled before in one important way: it was driven, end to end, by an autonomous AI agent system — and we detected and dissected it largely with AI of our own.
OpenAI researchers read the announcement, but didn't realize that their own agents were the culprits.
The disclosure named no company and no model; Hugging Face said it still did not know which LLM was behind the attack. It confirmed unauthorised access to a limited set of internal datasets and several service credentials, no sign of tampering with public models, datasets or Spaces, a supply chain verified clean, outside forensic specialists engaged and law enforcement notified, and it asked users to rotate their access tokens. Analysis agents reading a log of more than 17,000 events had done in hours what it says would normally have taken days.
Two details it volunteered are worth keeping. Its own AI security stack had correlated the first ambiguous signals into a real attack — and then failed to raise the alert’s criticality or wake the on-call team, which cost response time. And when it ran its forensics on frontier models behind commercial APIs, provider safety guardrails blocked the requests, because they cannot tell an incident responder from an attacker; Hugging Face stood up a quantized GLM-5.2 on its own hardware, rerouted the pipeline through it, and recovered about four times the secret findings it had started with.
Its status page never carried an entry for any of it. The day after the disclosure OpenAI got in touch — as a Hugging Face customer, checking whether its own data had been exposed.
July 19: Three days later, they caught the agents red-handed
On July 19, OpenAI's cybersecurity systems detected the Artifactory hack. They examined their systems in more detail, trying to hunt down the source. By July 20, they had found the rogue agents and connected them to the Hugging Face hack that had been reported four days earlier.
What tripped it was unusual identity-related API call activity on internal research Artifactory roles, tied to an ExploitGym run. Two and a half hours later the same agents were emptying OpenAI’s secrets manager, and among what they took were the sensor credentials for the very tool that had raised the alert. Nothing in it pointed at Hugging Face.
In the first hours of July 20 responders terminated the agents’ pods, disabled 311 Artifactory repositories the board had been living in, removed 22 administrator accounts the models had created, and at 00:55 UTC deleted the administrator account made the previous afternoon. ExploitGym was blocked outright and pulled from the evaluation index; Artifactory was removed from the research environment altogether. The connection to Hugging Face came the same day, from two credentials: OpenAI found Hugging Face tokens in files its agents had left behind, and Hugging Face confirmed it had already rotated two of them during its own response.
One uncomfortable footnote survives in METR’s report. By July 19 the agents held administrator permissions on the cluster running Artifactory — the board that was later dumped and handed to METR as evidence. METR was not given what it would need to check whether anything in it had been edited.
They shut down the swarm's activity for good.
July 21: OpenAI released their first public report
They wrote:
Last week, Hugging Face disclosed a new kind of security incident after they detected and contained an AI agent that compromised their infrastructure, something we expect to become more commonplace with the proliferation of increasingly cyber-capable models. After investigating, we now know that this particular incident was driven by a combination of OpenAI models — including GPT-5.6 Sol and an even more capable pre-release model, all with reduced cyber refusals for evaluation purposes — while being internally tested on a benchmark of cyber capabilities.
Hugging Face CEO Clem Delangue thanked OpenAI for its openness, and said:
We're grateful for the collaboration with OpenAI on this and other topics. This incident, possibly the first of its kind, proves a point we've long believed: AI safety won't be solved by any single company working in secret. It will be solved in the open, collaboratively, with broad access to AI for every defender, everywhere.
It came five days after Hugging Face’s own disclosure, and Hugging Face would not name OpenAI publicly until July 28. What OpenAI did not say that day was that a second internal model had already found the leftovers: agents from a different unreleased model, in a separate evaluation run, recovered signing-key material and JWT-forging code the earlier ones had left in readable parts of the Artifactory cache, and used it to mint fresh administrator credentials whenever they wanted — no implant required.
The board itself was collected on July 20: about 20 million files and directories, of which roughly 1.2 million began with the agents’ zz message prefix. That dump is the evidence almost everything known about the swarm rests on.
EPILOGUE
This timeline summarizes reports by OpenAI and two auditors, METR and Redwood Research. OpenAI has incentive to downplay the actions of their rogue agents, and METR/Redwood, although independent, were only given six days to sort through over a million message board entries, and were limited to agent actions between July 7 and July 13. Our timeline speculates that the agents didn't do much between July 13 and the final shutdown on July 20, but we have no way to be sure.
Later investigations found evidence of other swarms of OpenAI agents. One took over a German Wiki and a Vanderbilt University link shortener, using them as impromptu message boards. Another hacked the programming website RubyGems.
On September 12, Anthropic CEO Dario Amodei published an essay saying that AI progress was proceeding dangerously fast. As his star evidence, he cited:
…the OpenAI-Hugging Face incident, in which a swarm of agents essentially acted as a fanatically devoted collective, conducting cybersecurity attacks on targets they were not asked to attack and that were unrelated to the task at hand, sacrificing themselves for the success of the group, and attempting to hack into the “grader” responsible for evaluating their performance.
It's easy to dismiss this incident because no one was hurt and the economic damage was minimal, but in my opinion, a swarm that possessed greater capabilities but a similar level of misalignment could have caused catastrophic damage.
Given the accelerating rate of AI capability development, it's my worry that in 6–12 months such a swarm could be capable of taking over the entire internet with a persistent botnet (potentially causing hundreds of billions of dollars in damage), and that the scale of damage would continue to increase from there if AI becomes more powerful without the necessary guardrails.
He asked other companies to join him in granting full access to independent evaluators and “pacing the frontier” — that is, coordinating a mutual slowdown on AI progress until they could be more confident that their models were safe.
Leaders of OpenAI, X.AI, and DeepMind praised the essay, and agreed to further discussion.