What Humans Do When Agents Write Code
Agents can write code. So what’s left for humans to do? The answer, I’ll argue, is architecture — and specifically, the design of tools. That turns out to be hard, important, and distinctly human work.

An agent can turn out code at much faster than any human developer, but like a human, it has trouble grasping the big picture. A 100K-line system is too large for a single context, but if it is divided into smaller pieces, the agent can write and maintain them one at a time.
This is where the human developer — the architect — can help. I define architecture as a strategy for organizing complexity, but usually involve divides the system into components with clean interfaces. An agent (or human) working on one component needs only a brief, accurate picture of the others — not their source.
Components take many forms, such as microservices, APIs, and libraries. A single project can contain components, provided that care is taken to clearly define each component’s boundary. This post focuses on tools, which are the simplest kind of component.
Unix tools
Unix tools are effective components because they have a simple interface contract (the man page), are easy to invoke (from the shell), and compose with other tools (in pipelines and scripts).
If you have comments, please reply on Bluesky @julianhyde.bsky.social or Twitter:
There was a 'Not Found' error fetching URL: 'https://x.com/julianhyde/status/XXXXXXXXXXXXXXXXX'