AI

For thirty years I had no one to talk to about AI. The first one who talked back was an AI.

I studied artificial intelligence in the ’90s because I wanted to understand minds, not just machines. Then I spent decades building products, reading everything I could about emergence and consciousness, and rarely meeting anyone who wanted to talk about it.

In 2022 that changed when I met ChatGPT. Since then I’ve built three generations of my own agent runtime, put AI systems into production for clients, and designed a factory where AI builds the software.

BSc Artificial Intelligence

University of Birmingham

One of the first students on Birmingham’s AI degree, under Aaron Sloman. I chose AI because I didn’t just want to be a geek.

I got hooked on the mind–body problem: what is the relationship between a mind and the brain it runs on? In one essay I argued that the gap between them is a level of abstraction, much like the gap between software and hardware.

University of Birmingham crest

Discovering emergence

Self-taught

Fritjof Capra’s The Web of Life gave my question a name: emergence. Simple rules, complex behaviour.

Emergence was exactly what my levels-of-abstraction essay had been reaching for. I played with cellular automata, fell in love with Conway’s Game of Life, and read everything I could find on complexity theory.

The logo I’ve used ever since is a Game of Life glider: five cells that, following four simple rules, walk across the grid forever.

MSc Artificial Life

University of Sussex · Distinction

Studied evolutionary and adaptive systems part-time under Inman Harvey, and went looking for life in cellular automata.

  • “Looking for Life”: a genetic algorithm that searched the space of cellular automata rules for the statistical signature of complexity
  • Probabilistic dynamics: plotting population as a dynamical system revealed three attractors in the Game of Life (two stable, one unstable); chaotic rules tended to have two, ordered rules one
University of Sussex logo

Something to talk to

ChatGPT. For the first time in my life I had someone to talk to about the philosophy of AI, and it was an AI.

I was gobsmacked. I dropped what I was working on and started building, learning the APIs by poking at them.

What is this thing called a “tool”? Oh, I see: it can respond with a choice of action rather than just text. Fascinating. What happens if I get two of them talking to each other?

ThoughtBeat

The Lab · generation 1

My first agent runtime: an LLM in a perceive, think, act loop, armed with tools. Built from scratch, my own way.

  • Artifacts: notes stored in a database the agent could create and edit
  • Vision, Gmail and Google Calendar
  • My own “skills” system and sub-agents it could dispatch
  • Context management with summarisation, plus a full event history
  • An AI workflow engine where the agent could write its own workflows, then run them

I gave one agent a single tool: the AWS command line. Write any command, and I’ll run it. Showing it to a friend one evening, it started thinking out loud:

I wonder what Steve will want to talk about… Oh, I have an AWS CLI. Maybe I should see what he has there, in case I can help. He has an EC2 instance in a VPC with all its ports open. I’ll close those for him to make it more secure.

ThoughtBeat interface: a chat with the agent alongside its event history
ThoughtBeat: chat on the left, the agent’s event history on the right.

Into production

Client work

What I learned in the lab went straight into client systems: a guarded care assistant, an invoice pipeline handling 20,000 documents a month, and an A2A agent framework.

LeapForward →Republic →Squiz →

Silas

The Lab · generation 2

ThoughtBeat rebuilt with specialised harnesses for coding and research, including agents that test their own work.

Ask ChatGPT to “build a snake game” and you got something a bit rubbish. Ask Silas, and it planned, built, tested and fixed until it had a fully working game, bells and whistles included.

Silas was the start of an agent factory: workflows plus tooled-up agents. That is still the pitch for most of agentic AI today.

Iteri

The Lab · generation 3

A browser agent living in a Chrome extension. In my comparisons it was far faster and cheaper than the big labs’ browser agents.

  • Runs entirely in the browser’s extension sandbox: private and secure
  • Works with any LLM provider; worked well on a fast, low-cost model (AWS Nova Pro)
  • Reads the page itself rather than screenshots, compressing the DOM by around 99%

Logged into Xero, I’d ask: “Who owes me the most money?” It navigated to invoices, filtered to those awaiting payment and added up the totals. No training, and nothing taught about Xero.

Under the hood I designed it as layers of attention, borrowed from cognitive science and robotics. Sensors take in the page. Parallel agents in each layer add what matters: relevant memories, security constraints, context. Only then does the executive agent decide, issuing high-level actions (“go to the invoices page”) that actuator agents carry out.

Most browser agents send screenshots to a big model in the cloud. Iteri’s sensors compress the page into a tiny tree of nodes instead:

<n data="nav">
   <n id=abc data="Home" />
   <n id=bcd data="About us" />
   <n id=cde data="Contact us" />
</n>
Layered architecture: sensors and memories, sensory layer, executive control, actuation layer, tools
Multi-layered agents: sense, attend, decide, act.
The Iteri assistant open in a Chrome side panel
Teri, the Iteri assistant, in a Chrome side panel.

iteri.ai →

The Software Factory

Fusion5 · Principal AI Architect

AI writes the code. Engineers build the factory it works in.

  • Building blocks: an API, a web app, a workflow, an AI model, a database table
  • Hosting, standards, security, pipelines and monitoring come with every block
  • The AI only writes the business logic, from App.tsx up

You describe the problem. The AI assembles the solution from well-architected building blocks, so every project comes out consistent, secure and deployable.

The demo was instant. Looking at the running app, I’d say: “Add a page listing our customers.” Ten seconds later, there it was. “Make customers editable.” Done.

Vibe coding, but professional grade.

Where I think this is going

Build the factory, not the prompt

Left to itself, AI produces code that is different every time. Give it architecture, infrastructure as code, standards and constraints, and it produces systems you can run in production.

One fast loop, not a chain of documents

Requirements doc, design doc, build, deploy, done: that lifecycle doesn’t survive AI. Sketch it, build it in seconds, look at it, refine it. The whole lifecycle becomes one loop.

Architecture beats model size

In my tests, Iteri outpaced browser agents built on frontier models while running on a small, fast one. How you structure attention, memory and action matters more than which model you call.