· 2 min read · github
Projects

NPC

You and an AI agent play Zork together, watching through a cassette-player interface. DALL-E paints each location the first time the agent visits it, warm amber text over the generated scene. The painting persists for the rest of the run, and the next new game looks completely different.

Play steps through one turn. Fast-forward lets it loop. Autoplay lets it run continuously. And then there’s Eject. Hit Eject and the game UI slides away to reveal the agent’s live system prompt — the full instructions, the valid Zork commands, everything. You can type directly into it to change how the agent thinks, mid-game. In the demo the agent got stuck in a loop, so I typed “I should always try new things instead of sticking with stuff I’ve tried” right into the prompt, and it immediately started making better decisions.

The agent ran a ReAct loop on davinci-002 — a base model without RLHF. It could regularly get into the house, find the sword, sometimes grab the lantern and make it into the basement. Then a grue would get it, or a troll, or the parser. GPT-3 would try “look north” when the valid command was just “north.” Even with the full command list right there in the prompt.

AI agent developers are speedrunning the exact same design evolution that text-adventure game designers did in the ’70s and ’80s.

Jay Springett