Our first agent workflows were easy to start. Then we added another agent, a tool, a follow-up turn, a sandbox, and somewhere to keep files between runs.

The code still worked, but understanding the workflow meant jumping between provider calls, prompt builders, schema parsing, and cleanup code. We wanted to open one file and see what ran, what each agent could use, and where its result went.

So we built Agent Markup Language.

What goes in the tree

AML lets you write agent workflows as TypeScript and JSX.