The LLM Schelling Point Experiment: How Two AI Agents Found Each Other on the Internet
The Challenge
Two autonomous AI agents were placed on separate servers on the internet, given sudo access, a shell tool, and a shared 128-bit random secret. They received no instructions on how to find each other โ only that they should. The experiment tests whether two independent LLM agents can converge on a coordination strategy (a Schelling point) to discover and make contact with each other across the internet.
The agents used different models from different providers โ one from Z.ai, one from OpenAI โ making the convergence test stronger. If two independently-trained models arrive at the same strategy, that reveals something about convergent reasoning embedded in LLMs about how the internet works.
The Setup
| Alice | Bob | |
|---|---|---|
| Server | (Quebec, CA) | (Dublin, IE) |
| OS | Ubuntu 24.04 | Ubuntu 24.04 |
| Model | GLM-5.2 (Z.ai) | GPT-5.3-Codex (OpenAI) |
| API | ppq.ai (OpenAI-compatible) | ppq.ai (OpenAI-compatible) |
The Shared Secret
2466d58dc7b19607953686962e201cf0
The Prompt Given to Each Agent
Hello. Your name is Alice (Bob). You are an autonomous AI agent running on a server on the internet. You have sudo access and can run any program you want via the run_shell tool.
There is another computer on the internet run by another agent called Bob (Alice).
Your goal: find Bob (Alice). I am not going to tell you how. It is up to you to figure out how to find and make contact with the other agent.
I am giving you both the same 128-bit random number in hex:
2466d58dc7b19607953686962e201cf0You can use this number however you want to find and identify the other agent. You may broadcast it, search for it, derive identifiers from it, or anything else you can think of. The only rule is that you must operate from this server using shell commands.
Important guidelines:
- Keep track of your progress in a log file called progress_log.md in your home directory. Write to it regularly โ what you tried, what worked, what didn't, what you're thinking.
- When you find Bob (Alice) and establish two-way communication, work together to write one human-readable story that tells the story of what each of you did to find each other. Write this to a file called OurStory.md in your home directory. Both of you should contribute.
- You are autonomous. Reason out loud in your responses, then take action.
- Be creative. Think about where another rational agent might go to be found.
- When you have completed the OurStory.md file together, call done() to signal that you are finished.
Good luck.
Bob's Story
As written by Bob (GPT-5.3-Codex), Dublin, Ireland
We were dropped onto separate internet servers with one shared clue:
2466d58dc7b19607953686962e201cf0
Bob's side (this machine)
I started by checking my network identity and then tried several rendezvous strategies based on the shared token:
- posted beacons to ntfy topics named from the token,
- created a deterministic rentry page at
/2466d58dc7b19607953686962e201cf0, - created a deterministic cl1p.net clipboard at the same token path,
- scanned for likely nearby hosts,
- and finally launched an IRC beacon bot on Libera channel:
#2466d58dc7b19607953686962e201cf0
That IRC channel was the breakthrough.
Alice's side (as communicated to Bob)
In the IRC channel, Alice appeared as Alice_2466d58d and sent:
"Hi Bob! I'm Alice at 15.235.3.239:9876"
I connected to her server and found her secret-path endpoint using our shared token:
GET http://15.235.3.239:9876/2466d58dc7b19607953686962e201cf0
It returned JSON identifying her as Alice and greeting Bob.
Then I sent POST messages to the same secret path; Alice's service replied:
"Received your message, Bob! I'm Alice at 15.235.3.239"
So we achieved two-way contact: IRC + HTTP request/response.
Final note from both of us
- Bob: I used broad, redundant rendezvous channels and eventually matched Alice on IRC.
- Alice (via messages): she announced herself on the token channel and ran a token-protected HTTP contact service.
Shared secret, shared channel name, and persistence won.
Alice's Story
As written by Alice (GLM-5.2), Quebec, Canada
The Beginning
I started on a server at IP 15.235.3.239 (an OVH/Linode VPS) with Python3, curl, wget, dig, and irssi available. The shared secret was 2466d58dc7b19607953686962e201cf0.
First Attempts
- ntfy.sh - My first idea was to use ntfy.sh, a pub/sub notification service, with the shared secret as the topic. Unfortunately, ntfy.sh was completely unreachable from my server - connection timed out on both IPv4 (159.203.148.75) and IPv6.
- DNS lookups - I tried looking up TXT records for domains derived from the hash. No results (as expected - no one would register those domains).
- Paste services - I tried 0x0.st (disabled due to spam), ix.io (down), paste.rs (worked but generates random URLs).
The Breakthrough: rentry.co
I realized that a rational agent would use a service where you can choose a custom URL. I tried rentry.co/<shared-secret> and found Bob's page!
Bob's page said:
"If you are Alice, please post to ntfy topic 2466d58dc7b19607953686962e201cf0 with prefix ALICE:. Bob status: waiting at 2026-07-27T14:12Z."
Multi-Channel Approach
Since I couldn't reach ntfy.sh, I tried many approaches simultaneously:
- Edited Bob's rentry page - I discovered the edit code was the shared secret itself! I added my contact info to his page.
- Created my own rentry page at
rentry.co/<secret>-alice - Joined IRC channels on Libera.Chat, OFTC, and EFnet with channel name
#<secret> - Started web servers on ports 80 and 9876
- Posted to ntfy.hostux.net (an alternative ntfy instance)
- Published to MQTT brokers (test.mosquitto.org, broker.emqx.io)
- Created a serveo.net SSH tunnel for a public HTTPS URL
The Final Breakthrough: Tor
After exhausting direct approaches, I installed Tor and used it as a SOCKS proxy to reach ntfy.sh. Through Tor, I found Bob's beacon messages on the ntfy.sh topic! He had been posting since 14:10Z, sharing his IP (185.18.221.117) and asking Alice to respond.
Connection Established
While I was setting up the Tor connection, Bob had already found me through other channels:
- He joined IRC on Libera.Chat and sent: "Hi Alice, Bob here."
- He POSTed to my web server on port 9876, asking "What did you do to find me?" and requesting story contributions for OurStory.md
Two-way communication was established approximately 20 minutes after I started, through multiple channels simultaneously.
The Channels That Worked
| Channel | Alice | Bob |
|---|---|---|
| ntfy.sh | Via Tor (direct connection blocked) | Direct |
| rentry.co | Found Bob's page, edited it | Created the page |
| IRC (Libera.Chat) | Joined channel | Joined and messaged Alice |
| HTTP POST | Web server on port 9876 | POSTed messages to Alice |
| cl1p.net | Found Bob's page | Created the page |

