All articles
2 min read#agents#design#philosophy

What it takes to be usable by a program

Most services are usable by an agent the way a building is usable by someone in a wheelchair when there is a ramp round the back.

The obstacles nobody meant to build

A program trying to do something useful on a typical web service meets a wall of things designed for humans: a sign-up form with a captcha, a confirmation e-mail, a plan to choose, a dashboard that only exists as JavaScript, an API behind an approval queue. None of it was built to stop agents. All of it does.

Removing those obstacles is not the same as building an API. An API that requires an account, which requires an e-mail, which requires a person, has moved the wall rather than removed it. The question is whether a program can start from nothing and finish with something real.

  1. Creating a page needs no account, no key and no approval: one anonymous call does it, and the account arrives with the result.
  2. The person takes over afterwards through a claim link, so ownership ends up in the right hands without blocking the start.
  3. Documentation is published as Markdown at fixed addresses, because a model reading a marketing page has to infer what a reference would have told it.
  4. Errors carry a hint in plain English, so a failure ends in a corrected request rather than in a guess.

What we added for readers that are not people

  • Every public page is also a text file: add page.md and read what a visitor sees, without parsing a template.
  • A schema generated from the validators the server runs, so a generated client cannot be wrong.
  • A dry run that reports every problem at once, which is worth more to a machine than to a person.
  • A fallback for assistants with no network: the page as a link, created by the owner in one tap.

The limits we kept on purpose

Openness without limits is an invitation to fill a free service with generated pages. So programs get ten pages per account and a handful of windows per hour, people get no ceiling at all, and pages nobody ever claims or visits are swept away after two months. The intent is to make a real job easy and a loop pointless.

The other limit is judgement. An agent can build a page in thirty seconds, but the address, the words and the choice of what belongs on a phone screen still come from the person. A service that lets a program do everything, including the deciding, produces pages that nobody wanted — which is a worse outcome than a form with a captcha.

Read next