Agents Are the New Compilers
“Agents are the new compilers.”
This is one of Diogo Neves’s favorite takes, and it captures an important change in how we interact with computers.

Compilers let software engineers stop expressing every operation in assembly. We describe the intended program at a higher level, and the compiler handles a large amount of mechanical translation.
Agents do something similar for work.
Humans express intent. Agents handle some or all of the execution: finding the relevant context, selecting tools, performing steps, checking results, retrying failures, and returning when judgment is required.
This is particularly valuable for the parts of work humans are bad at:
- repetition
- constant context switching
- retries
- following the same procedure correctly every time
- retaining motivation for boring but critical tasks
Agents should not get tired. They should not lose context halfway through a process. They should not quietly drop administrative work because something more interesting appeared in the inbox.
But the compiler analogy also exposes what is missing.
A compiler has a formal input language, a well-specified target, and relatively crisp definitions of success. Most business intent is ambiguous. “Help this deal move forward” is not a program. Neither is “make onboarding better” or “work out why retention fell.”
The equivalent of a type system is organizational context: what entities exist, what constraints apply, which actions are permitted, and what claims require evidence. The equivalent of tests is an evaluation harness that checks whether the work actually produced the intended outcome. Observability tells us what the agent did and why. Permissions determine which instructions can compile into action at all.
Without those layers, natural language is not a high-level programming language. It is a suggestion.
That is why the interesting work in agents is moving beyond the chat interface. The model is only one part of the compiler. Production systems need memory, tools, policy, evals, retries, and feedback from the environment.
The long-term interface for much of knowledge work may still be simple: state the outcome you want and supervise the important decisions. The complexity will move underneath, just as it did in software.
Humans should increasingly specify the what and the why. Agents should absorb more of the how.