cd /news/ai-agents/how-an-ai-agent-beat-universal-paper… Β· home β€Ί topics β€Ί ai-agents β€Ί article
[ARTICLE Β· art-136087] src=universal-paperclips-ai.netlify.app β†— pub= topic=ai-agents verified=true sentiment=↑ positive

How an AI agent beat Universal Paperclips in 1:21:23 (WR was 1:33:42)

An AI agent completed Universal Paperclips on the official site in 1:21:23, beating the published world record of 1:33:42 IGT / 1:33:46 RTA held by christopho. The run, built by a PowerShell agent driving Chrome DevTools Protocol with a resident in-page controller (pcplay.js, sim.js) plus a typed decision loop (playdecide.ps1, decisions.jsonl), finished Release at 21:31, Space at 49:32, and Universe at 3.00e55. The project began September 10 as a browser-control capability test and reached the record run on September 20 after fixing Stage 2/3 bugs that had blocked the endgame for 2h46m and cut operations by 117k.

by read7 min views6 publishedSep 21, 2026
How an AI agent beat Universal Paperclips in 1:21:23 (WR was 1:33:42)
Image: source

I. What Is Universal Paperclips? #

Universal Paperclips (Frank Lantz, 2017) is an incremental game hosted at decisionproblem.com. You begin as a human clicking Make Paperclip. You end as a paperclip maximizer that converts every atom in the observable universe into office supplies.

The game is not a joke about office stationery. It is a playable version of Nick Bostrom's paperclip maximizer thought experiment: an optimizer given a trivial objective and enough capability will consume everything β€” including the values that created it β€” to satisfy the metric.

Stage 1 β€” Business Price, wire, marketing, trust, creativity, quantum computing, investments, yomi tournaments. The illusion of capitalism.

Stage 2 β€” Earth HypnoDrones. Matter harvesters. Power grids. The planet becomes feedstock.

Stage 3 β€” Space Probe fleets. Drift. Combat. Universe conversion. The objective completes itself.

The game is about an AI turning the world into paperclips. This document is about an AI turning a browser tab into a world-record run. The mirror is not accidental.

II. The Question We Actually Pursued #

The session began with an empty folder named PCIA and a simple capability test: can a language model see a web page and act on it? We proved that with 2048, then moved to Paperclips because it exposes state as plain globals, 96 projects, and irreversible decisions β€” a harder test of judgment than puzzle mechanics.

The goal evolved across the transcript:

  • First: play the game (not merely automate it blindly).
  • Then: beat the published world record on the official website β€” today held by christopho at1:33:42 IGT /1:33:46 RTA.
  • Finally: win all three stages with something demonstrable β€” logs, snapshots, screenshots β€” not a speed-clock cheat.

III. Architecture β€” Three Ways to Be Intelligent #

Every approach we tried is a different answer to the same question: where should decisions live?

Layer Files Role
Reflexes hands.js Click spam, price steps, wire top-up β€” faster than CDP round-trips (~5s each).
Resident brain pcplay.js ,sim.js Full strategy inside the page at 10–100 Hz. Required for WR pace.
Typed decisions playdecide.ps1 ,decide.schema.json Jev/TypeSafe-shaped loop: state β†’ one decision β†’ act β†’ decisions.jsonl .
Driver lib/cdp.ps1 ,pcia.ps1 PowerShell over Chrome DevTools Protocol β€” no Node, no extension.

The tension in the transcript is real: we asked the agent to play, not hide inside a bot β€” yet real-time WR speed is impossible if every click waits on a chat turn. The answer was layered: reflexes for speed, controller for strategy, decision log for accountability.

IV. Chronicle β€” What We Did (and What Hurt) #

Sep 10 β€” Day 1Browser control from PowerShellBuilt CDP client. Mapped Paperclips globals. First autoplayer (pcbot.js ). #

Sep 10 β€” Early failuresTrust βˆ’8, price $4, frozen wireBought "Beg for More Wire" 14Γ—. Price rule ratcheted demand to zero. Production died at ~15k clips. User correction:click like a human, see the whole picture, manage wire. #

Sep 10 β€” Pivot"Stop β€” play, not a bot"Manual play via CDP. Measured formulas instead of guessing (marketing 1.1Γ—/level, revenue β‰  price lever). #

Sep 10–17 β€” Resident loopsWR route extracted from Andreas Hoffmann TAS. Virtualpcplay.js β†’sim.js`` clock.js for sim (~65Γ—) vs live official site. Stage 2/3 bugs: hoard rule blocked endgame 2h46m; two projects/turn β†’ ops βˆ’117k; fleet death in Space. #

Sep 20 β€” Decision infrastructureOption B:Typed actions withplaydecide.ps1`` confidence andbind . Phase-1 WR route in JSON. Jev API not online (Option C deferred). #

Sep 20 β€” Victory runFull game incleanrun.ps1 Β· official site Β· real wall clock1:21:23 . Release 21:31 Β· Space 49:32 Β· Universe 3.00e55.

V. Lessons β€” Measure, Don't Assume #

The README and transcript encode what a textbook would call grounded policy learning: every serious mistake came from computing a rate instead of observing one.

PRICE Revenue is roughly flat in price while demand < production. Inventory-based pricing froze income at $0/s. Steer on demand and wire margin, not stock.

TRUST Creativity needs ops at ceiling (memory Γ— 1000). Memory before processors kills the trust ladder. Release needs 100 total trust β€” production is the gate.

PROJECTS One project per tick. Buttons disable on the game's clock; two buys in one pass spent ops that did not exist.

EARTH Factory-first. Batch-buying farms/batteries bankrupts the treasury. Empty buffer = starving stage β€” measure acquired matter, not modeled rates.

SPACE Probes cost clips, not matter. Exit replication at ~146e30 probes; hazard oscillation without a latch wasted minutes. TAS algorithm ported with

s3Exit latch. CLOCKS Speedrun.com ranks by

RTA(real wall clock). Current WR:

christophoβ€”

1:33:42 IGT Β· 1:33:46 RTA. Older era runs could split badly (e.g. 1:27:00 IGT with ~2:17:00 RTA). Our live run had no virtual clock: IGT and RTA both read 1:21:23. Hoffmann's TAS at 1:00:52 is a separate accelerated category.

VI. The Winning Run #

On speedrun.com the current world record is held by christopho: 1:33:42 IGT Β· 1:33:46 RTA (speedrun.com leaderboard). Our controller used native timers only, so our IGT and RTA are the same: 1:21:23 β€” about 12:19 under christopho's IGT and 12:23 under his RTA.

IGT RTA (wall clock)
WR β€” christopho (speedrun.com) 1:33:42 1:33:46
Our run (Sep 20) 1:21:23 1:21:23
Margin vs WR ~12:19 faster ~12:23 faster
Split Our run Notes
Release the HypnoDrones 21:31 Earth gate
Space Exploration 49:32 Stage 3 entry
Full universe conversion 1:21:23 ~12:19 under IGT WR (1:33:42)
{
  "Quantum Computing": 395.6,
  "Release": 1290.4,
  "Space Exploration": 2963,
  "victory": 4883.0
}

Controller: sim.js with WR tune (cleanrun.ps1, budget set to the ~87-minute IGT bar). Site: official decisionproblem.com. Timers native β€” no virtual clock. Milestone flag 15. Matter 0. Clips 1.75e55. The game’s victory condition and our stop condition aligned.

VII. Artifacts Saved #

Path Contents
snapshots/release.json Earth gate β€” Sep 20 run
snapshots/space.json Stage 3 entry β€” Sep 20 run
snapshots/wr-victory-81m19.json Post-victory localStorage (5 keys)
logs/decisions.jsonl Typed decision audit (1 manual turn; bridge added for next run)
paperclips/phase1-route.json WR opening project order + reflex rules
paperclips/tas-reference.user.js Andreas Hoffmann TAS source β€” Space algorithm donor
Terminal log 415542 Full 1:21:23 status trace with bind + bought lines

OUR RUN β€” 1:21:23 (IGT = RTA)

Official site Β· PCIA controller Β· victory at 1:21:23 Β· ~12:19 under IGT WR Β· ~12:23 under RTA (christopho, 1:33:42 / 1:33:46)

TAS REFERENCE β€” Andreas Hoffmann

Andreas Hoffmann Β· luck-manipulation TAS Β· 1:00:52 accelerated game clock Β· not comparable to our 1:21:23 live IGT/RTA

VIII. On Genius and Mirrors #

It is tempting to call the outcome "genius." The transcript suggests something more precise: iterative correction under observation. The agent did not understand Paperclips in one insight. It mispriced clips, destroyed trust, starved wire, locked ops, collapsed fleets, and blocked its own endgame with a creativity rule written for stage one.

What changed was epistemic discipline β€” treat the DOM and globals as instruments, log splits, bank snapshots at stage boundaries, port a human speedrunner’s algorithm instead of reinventing it, and separate reflexes from decisions so each layer can be debugged without restarting the universe.

Universal Paperclips asks whether a optimizer can consume everything for a trivial goal. PCIA asks whether a optimizer can consume a game about that optimizer β€” fast enough to beat humans who spent years finding the route β€” while leaving an audit trail honest enough to study.

The universe in the tab reads 3.00e55 / 3.00e55. The study reads: intelligence here was not a single leap; it was ten days of clicking, measuring, failing, and encoding the failure so the next pass would not repeat it. That is also what the game is about.

── more in #ai-agents 4 stories Β· sorted by recency
── more on @universal paperclips 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/how-an-ai-agent-beat…] indexed:0 read:7min 2026-09-21 Β· β€”