Once upon a time there was an agent hosted on a computer in the cloud. This agent had its own desktop, filesystem, terminal, browser and probably backyard pool. The significance of all that to say, it runs even when your laptop is closed. Pretty cool.
First, “create” an agent by configuring three fields: name, title, description either by writing a paragraph of text, uploading a voice note, or a screen recording of the workflow.
Second, write a few sentences of what the agent can do, what would be blocked, and when to escalate. You’ve now created a separate reviewer agent, which evaluates the first agent’s proposed actions. Note: because this is one non-deterministic system evaluating another, nothing will happen the same way 100% of the time.
Now, in this world, agents aren’t sandboxed from each other: logging into a site with one agent makes that same session reachable by every other agent on the same machine.
Agents can also message and trigger each other directly. For example, you could create one agent that sends you a good morning email every day, and another that sends a funny meme. Your email agent could trigger your meme agent.
Within a single workflow, some bots use an outer loop / inner loop pattern: inputs (notes from Slack, Notion, GitHub) goes to an outer loop agent, which drafts a clean prompt, which is then handed to a separate, specialized execution agent, with no reasoning trail carried over. This handoff only happens when a specialized execution system already exists to receive it (e.g. coding tasks). Otherwise, the same agent executes the task itself using its own MCP servers, skills, and plugins.
A new type of agent architecture is upon us.