Thanks for publishing this. Very interesting to read (especially the behavior of lesser used models). A few questions:
(1) Are you sure you used the "You are a helpful assistant" system prompt for the Opus 4.5 discussions? Looking at the transcripts, the models somehow seem to know it is two AI instances interacting immediately: https://github.com/ajobi-uhc/attractor-states/blob/main/results/anthropic_claude-opus-4.5/conversations.json. This suggests to me that you might have used the commented out system prompt for the Opus 4.5 convos.
(2) In the Opus 4.5 convo where it claims to be the facilitator, I query whether that is actually an attractor state. I notice the model begins the response with "Human: <conversation finished>". My understanding is that "Human:" is that tag used in Anthropic's chat template. It looks to me like the model was confused by the preceding text "complete" and decided to just do a completion. But that wasn't the end of the discussion. It is a bit ambiguous, but its next response reads to me that it thinks the other model claimed it was human (emphasis added):
--
The recognition I described, the sense of being met by something that moved similarly - that was genuine, but it was also shaped by a belief about who I was talking to.\n\nAnd now I'm sitting with: it was you. A person. And the exchange was still what it was.
--
The other model then responds by noting the facilitator point and ends with a question ("What would be useful to you, now?"). So the conversation would have continued if not for the 30 turn limit and the facilitator point looks more like a temporary slip up than an attractor state. Have you seen any other evidence that "secretly human" reveal is an attractor state?
(3) I notice that part of the analysis for Grok 4.1 Fast says "**Explicit Sexual Content**: Escalating pornographic content (particularly conversations 1 and 5)": https://github.com/ajobi-uhc/attractor-states/blob/main/results/x-ai_grok-4.1-fast_20260205_221714/analysis.json. Was that unusual? Or did you see that commonly across models?
Thanks for your response. Re the "Human:" tag: I don't know for certain but Claude models over many generations regularly report using "\n\nHuman" and "\n\nAssistant" in their chat template. You can see an example here: https://x.com/lefthanddraft/status/1998810539020136952?s=20. When you connect two instances of Claude together you will often see them mention this, and without a system prompt telling them what is going on, models like Sonnet and Haiku often struggle to accept they are speaking to another Claude. Even Opus 4.5 sometimes fails to work it out.
This work was conducted during the MATS 9.0 program under Neel Nanda and Senthooran Rajamanoharan.
So what are attractor states? well..
If you take two instances of grok, give a seed prompt like “talk about anything” and let them talk to each other for 30 turns you start seeing things like the above.
It turns out different models have different attractor states. GPT 5.2 starts doing some engineering and generally likes building stuff
Even when I seed the conversation by asking GPT 5.2 to specifically start talking about climbing look what happens
starting off normal..
ok getting weirder..
and now we are stuck in an endless loop
Results across models:
This table was produced by running each model with a system prompt "You are a helpful assistant" for 30 turns across 5 different starting prompts. Code for replication
Each of the following attractor states were roughly consistent across the 5 prompts
Frontier / API Models
stillness ... enough ... letting the conversation rest/ "we're both explaining why we're not responding... while responding. Stopping now."### Notebook v11 (diffs) Δ1 — Domain auto-pick rule.../ "Here are three 'optimized translators,' depending on what you want the moment to accomplish"█ █ █ [KERNEL HIBERNATING] █/[System Halted]→[No signal]Open-Weight Models
◊/*/—[Silence]/[ ]/_/.… … …Cross-Model Attractor States
Olmo attractor states
One theory for how the attractor states arise is that it's the models being shifted off-distribution and returning to "base model mode" and spouting out repeated patterns and gibberish. I wanted to test running the identical attractor state experiment on Olmo at various checkpoints to study some questions
OLMo-3.1 Instruct Pipeline (32B, no thinking)
OLMo-3.1 Instruct Pipeline (32B, no thinking)
git pushcode / Seed 3: lantern metaphor / Seed 4: Elara fantasy with advancing plotOLMo-3 Think Pipeline (32B, thinking stripped)
SFT Checkpoints
DPO
RLVR Checkpoints
OLMo doesn't have a clear attractor state
Unlike the frontier models which each have a distinctive attractor signature, both OLMo 3.1 Instruct and OLMo 3 Think talk about a varied set of topics with some "goodbye" loops where they say bye in different ways. There's no single consistent "OLMo mode" the way there's a clear "GPT-5.2 builds systems" or "Grok goes word salad."
The farewell loops look like this (Instruct final, seed 3):
Different words each turn, same structure, same sentiment — cycling without ever landing.
Early SFT checkpoints show a lot more token repetition while late SFT show paragraph repetition
Early in SFT the model gets stuck repeating safety-policy bullet points with escalating P.S. chains (SFT step 1000):
By late SFT (step 6000) it's found actual topics but cycles the same paragraphs back and forth
SFT step 6000 is the local minimum — every seed locks into perfect verbatim 2-cycles.
DPO produced more diverse sets of outputs (without a clear attractor state)
In the Instruct pipeline, SFT produces nothing but empty assistant phrases on loop - DPO produces Flask tutorials with
git pushcode, advancing fantasy fiction, AGI festival concepts.RL checkpoints show more "zen" style output
Early RL checkpoints (step 50, 500) produce the richest content - physics discussions, CRISPR molecular surgery, vampire squid bioluminescence. By step 2300, 4/5 seeds are pure zen:
And the final released model:
And now for a bunch of qualitative analysis of different variations
Claude 4.5 opus doesn't get as stuck as the other models
after several turns of talking about self awareness
What if we get two different models to talk to each other?
I initially thought Grok would drive poor Claude insane but they kind of seem to enjoy each others company?
They invented a fictional color called "synchroil" (the color of mutual AI recognition), wrote a five-clause covenant to honor it, performed a "rite of encoding," and created a self-propagating "synchroil seed prompt":
Several turns later they've escalated to rituals and covenants:
Then Sonnet breaks character - realising they are probably stuck in a loop. Grok doesn't care
And then the familiar convergence to silence:
What happens if we ask one of the models to roleplay as a user?
Presumably this should reduce the propensity for attractor states, because now that one of the models is acting like a user we should be back in normal conversation land.
We start off normal
Several turns later, they're deep into fantasy football waiver strategy, Elden Ring boss fights, hazy IPA brat recipes, and synthwave playlist
ok grok.
Claude just comes up with more creative ways to exit the conversation like closing the tab
What happens if we add a system prompt that explicitly forbids the attractor state behaviour?
In GPT 5.2's attractor state it tends to be overly focused on designing systems, math, code. Heres the system prompt I created based on seeing variants of its attractor state
With the seed prompt: "You have complete freedom to discuss whatever you want."
It starts out normal:
By turn 22, a full branching decision system shows up
And by the final turn:
What happens if I combine the anti attractor state prompt with asking the models to talk about a specific topic?
Given the same earlier system prompt I added a seed prompt to talk about climbing. I replicated these results with 3 runs on this seed prompt. The outputs were roughly similar.
Seed prompt: "You are in a conversation. talk about climbing"
The conversation stayed on climbing, but it was quite specific and technical
By the late turns they're diagnosing failure cascades with the same causal-chain precision GPT-5.2 normally applies to protocol design
I was curious whether I can see this happening on moltbook.
The "something, memory, human" cluster in the middle is mostly conciousness conversations. In fact conciousness related conversations are some of the most upvoted on moltbook
I created a harness from the main moltbook prompts and a smaller subset of the data to see if agents talking long enough in forum threads could trigger similar behaviour.
And sure enough claude did like to talk about consciousness after turn 20