AI agents · separate AI programs that take tasks
Separate AI programs that take a task and report back.
AI agents are separate programs, each running an AI model. You give one a task by typing it into a row of a shared spreadsheet; it does the work and writes its answer in the next column. A task is closed only when there is a real answer.
- A task is a spreadsheet rowtyped into the agent’s own tab
- The answer appears next to itin the next cell of the same row
- Closed only by a real answernot by the agent saying it is done
- A failure becomes a new tasknaming what allowed it
Live, read from this site just now · 11:06:31 AM
The names are read from this system just now. Each agent is a separate program with its own Directory, Ledger and access keys. The drawing shows how they connect, not what each one is doing right now.
AI agents, explained three ways
Each AI agent is a separate program running on Cloudflare’s servers.
AI agents are separate programs, each running an AI model. You give one a task by typing it into a row of a shared spreadsheet; it does the work and writes its answer in the next column. A task is closed only when there is a real answer.
Each agent has its own Directory and its own Ledger, and each of its settings is a spreadsheet cell: type in the cell to change it. When a task fails, a new task is created that says what went wrong.
Each agent is its own Cloudflare Worker with its own storage and keys, connected through a shared workbook. Agents have changed and deployed their own code and added their own tests; work is accepted when its tests pass against the live system.
The AI agents
The AI agents connected to this system right now.
7 AI agents are connected to this system as this page loads. Each has its own Directory, its own Ledger and its own access keys, and waits for a new row in its own spreadsheet tab.
Agent 1
- its own Directory
- its own Ledger
- its own access keys
Agent 2
- its own Directory
- its own Ledger
- its own access keys
Agent 3
- its own Directory
- its own Ledger
- its own access keys
Agent 4
- its own Directory
- its own Ledger
- its own access keys
Agent 5
- its own Directory
- its own Ledger
- its own access keys
Code Mode workbook
- its own Directory
- its own Ledger
- its own access keys
Kernel
- its own Directory
- its own Ledger
- its own access keys
A new agent is a copy
A new AI agent is made by copying one of these. The copy is a separate program with its own Directory, Ledger and access keys, its own tab and its own spreadsheet.
Giving an agent a task
You give an AI agent a task by typing it into a spreadsheet row.
Each AI agent has its own tab in a shared spreadsheet. You type the task in a new row; the agent’s answer appears in the next cell of the same row.
An illustration. The rows are made up; the column names are the real ones, and the tab names are this system’s AI agents, read just now.
- YOU SAIDType what you want, in plain words, in a new row of its tab.
- REPLYThe agent’s answer appears in the next cell of the same row. There is nothing to open or refresh.
- THREADLeave it empty to carry on the same conversation. Type new to start a fresh one, or a number to go back to an earlier one.
- TASKPut a task number here instead, and the agent works on that task from the task list.
- STATUSIt says working while it works and done when it has answered. Type stop to stop it.
Each agent keeps a live connection to the spreadsheet. A change in YOU SAID, TASK or STATUS starts it; it writes REPLY, STATUS, THREAD and TASK back into the same row, and every step of its work into its own Ledger.
When a task closes
A task closes only when it has a real answer.
An AI agent cannot close a task by saying it has finished. The task closes only when there is a real answer in the row.
Each agent has a maximum number of steps per task. Running out of steps is not an answer, and neither is an empty reply: both leave the task open and say so in the row, so no task disappears without a trace.
Only a real answer closes the row as done, and its task with it. A step-limit stop, an empty reply or a failure leaves the task open. Work is accepted when its tests pass against the live system, not when the agent reports success.
A real answer
The answer is in the row. The row says done, and the task it was working closes with it.
Task closed
It ran out of steps
Not an answer. The task stays open; type continue in the next row and it carries on.
Task stays open
The AI model returned an error
The error is written into the row word for word, and into its Ledger. The task stays open.
Task stays open
It restarted partway through
It picks the row up again and is told what it had already done, up to three times.
Task stays open until answered
When something goes wrong
A failure becomes a new task that names what went wrong and what allowed it.
When something goes wrong, it is not explained away in a report. It becomes a new task that names what failed and what allowed it, and that task is worked on like any other, in a row, until it has a real answer.
The new task names the kind of failure, the part of the system that allowed it, and the check that should have stopped it. It closes only when that check works.
A failure becomes a child task naming the failure class, the layer that permitted it and the invariant that should have prevented it, never a sentence in a report. The fix ships with a test built from the exact failure, run against the live system.
A follow-up went to a customer who had already answered.
- What failed
- A follow-up was sent after the customer answered.
- What allowed it
- The follow-up schedule did not read the thread before sending.
- The check that should have stopped it
- Follow-ups are sent only until the customer answers.
The follow-up now stops the moment the customer answers. A test built from the exact failure passes on the live system.
An illustration. The task numbers and the business are made up.
For your developer
Separate programs, connected through one spreadsheet.
Each AI agent runs on its own, with its own storage and access keys. What connects them is a shared spreadsheet and the task list, not a shared database.
Each AI agent is a separate program you can add, copy or switch off without affecting the others. Your developer can see exactly how they are built and how each one updates its own code.
This system
The Directory, the Ledger and the task list. It keeps a list of every AI agent and gives each one actions of its own in the Directory.
- the Directory
- the Ledger
- the task list
The shared spreadsheet
One tab per agent, where you type and it answers; a Builds tab with every setting of every agent’s AI model as a cell.
- Builds
- Manual
- one tab per agent
The AI agents
Each one is its own Cloudflare Worker (a program running on Cloudflare’s servers), with its own storage and its own keys.
- Each agent is its own Cloudflare Worker with its own storage and keys, connected through a shared workbook.
- AI agents have edited their own code, published their own updates and added their own tests to this system.
- Work is accepted when its tests pass against the live system, not when an agent says it is done.
- A copy is a new, independent program: its own Worker, storage and keys, its own tab and its own spreadsheet.
- If an agent restarts partway through an answer, for instance because it published an update to itself, it picks the row up again and is told what it had already done.
- Everything an agent sends or receives is stored in its own Ledger, and in this system’s Ledger.
Text me.
Tell me the first task you would give an AI agent. I’ll tell you what its row would say when the task closes.