AgentWare and the next API

,

The history of technology can be traced through the invention of new interfaces. Interfaces are born when there is a new type of consumer that wants to read or write to our systems.


Examples

For example, the Application Programming Interface (API) was born because software needed a way to communicate with other software and programmers. So we started writing protocols like HTTP.*

The Graphical User Interface (GUI) was made in Xerox PARC because we needed to make computers accessible to normal people (not just programmers). So we moved from text-based commands to visual metaphors (like the mouse, desktop, or folders).

When you apply this framework, all breakthroughs in technology seem obvious. All they were doing was catering to a new type of consumer.

A recent example is Search Engine Optimization. SEO was born thanks to a new type of consumer: the web crawler. People understood that their webpages were no longer being read by just humans, so they started writing html to be read by crawlers too.


How to create interfaces

The Act of Interface Creation is a simple two-step process:

  1. Identify that there is a new type of consumer who wants to read/write to your stuff.
  2. Consider how to design your interface so that it is as “readable” as possible for the consumer.

AgentWare

There’s a new consumer on the block: the AI agent.

Why? All content we create will eventually be read by an agent — whether this be an LLM or other AI.

Hypermedia was at first computer-readable, then human-readable, and then web-scraper-readable. Now it must be agent-readable.

I am proposing two things:

  • Agent-Application Interface (AAI): the interface between agents and software.⁑
  • AgentWare: software that implements AAI, built from the ground-up for agents as the end-user.

AgentWare will have underlying data structures that can be easily read by agents, and written to if needed.⁂

Because the way humans and agents “read” is quite similar, AgentWare will be backwards-compatible with existing software for a while, and therefore maintain good “user-interface” for human beings.


Conclusion

Interfaces are anything that allow A to connect with B. Without interfaces, things exist in complete isolation. But, with well-made interfaces, there is infinite emergent potential.



*   Model Context Protocol: An open protocol that enables seamless integration between LLM applications and external data sources and tools
⁑    Most likely some derivative of natural language, but I have no idea :’)
⁂   Caveat — there needs to be clear monetary incentive for making your stuff more accessible. Web crawlers, for example, will thank you by leading to higher site traffic.