I split my attention across seven to ten software projects at once. None of them is bottlenecked on what the model can do.
Much of the AI tooling I see is built to make a person faster at a task the AI can already do by itself, such as a quicker way for a human to write the code or read the diff. I don't want a copilot. I want agents that work while I sleep. The job is putting the human in the right loop, at the right altitude.
Once the context and workflow around the model are dialed, an agent can write, review, and document code without a person doing any of it. The tools solve the problem as it looked a model generation ago. The bottleneck moved.
The hard part now is the human. Models get better with every release. I just get older. And slower. And crankier. The engineering that pays off is on the human side of the interface.
The work moved
In It's Not the Model I argued that when an agent fails at a task, capability is the last thing to suspect. The usual cause is missing context or a workflow that won't let the model use what it can do. The anchor example was six sub-tasks done serially in one conversation over four hours, when six headless agents could have run these in parallel in 30 minutes. A copilot that makes each of those six steps faster for the human still runs them one after another. Still Not the Model found the same pattern with small local models. Under Claude Code, they had failed to finish a set of coding tasks. Dropped into Talos, a lean harness I had built for them, the same models completed 58–75% of those tasks. The weights didn't change. The harness did.
Cognition is static
Agents now own whole features, and I have seven to ten projects in flight on the same gray matter. Each gain in the model lands on me as more parallel work.
Understanding Has an Altitude covered one piece of this. The altitude at which I need to understand a system in order to steer it has climbed one level of abstraction a year. In 2023 I pasted code out of ChatGPT into my editor, one line at a time. In 2024 I highlighted a function and asked an in-editor chatbot to help with it. In 2025 I steered task by task through a spec-driven workflow. In 2026 I steer at the feature. The understanding didn't go away. It moved up. I still have to know that the factory, the set of agents that plans, builds, and lands work for me, is building the right thing. The Harness Is a Stack called the tokens of the lead agent, a long-lived session that owns one product, "the scarcest resource in the entire stack." Tokens refill when the context resets. The attention of the person at the top of the stack doesn't.
Attention is scarce
The default interface for directing an agent is a chat. Many harnesses still land questions, status updates, review requests, and screenshots all in the same feed. Oof. In the long scroll of chat, a question that needs me sits between two status updates that don't. Multiply that by seven to ten projects and the questions drown.
So I got my "team" to build Vortac, a control tower from where I can command an entire fleet of agents. It's really cool and I can't go back to working the old way. In a couple weeks I'll tell you where you can grab a copy. If you're nice (Christmas is coming).
In Vortac, I decide, and the agents type, the split I described in Working "Agent First". Its central design move is a separate surface for each kind of attention: decisions go to an inbox, things I need to look at go to artifacts, and work goes on a board. Each surface protects the bandwidth between me and the factory, and the next three sections each land on one of them.
Saying what you mean
This post started as a Scriber dictation. Before an agent can build the right thing, I have to say what the right thing is, at high fidelity. Typing is slow, thumbing it out on a phone is slower, and short prompts drop intent.
So I had the factory build Scriber, a macOS dictation app. Its design doc says it exists so the user can dictate long instructions "to paste into another app (typically a Claude Code session)." Its changelog credits features like the menu bar and the self-learning vocabulary to factory build agents.
Transcription runs locally on the Mac. Pause lets me stop mid-instruction to think: the segment I just finished transcribes while I'm thinking, so when I hit Done there's little left to wait for. A plain vocabulary file steers the spelling, and Scriber learns from the corrections I make before I copy. That's why "Talus" comes out as "talos," the name of one of my build engines.
An optional cleanup pass, off by default, runs a local model over the transcript. Its prompt says "Change nothing else," and a deterministic guard rejects replies that drift in ways it can check: empty, fenced, truncated, or padded with new words. Some drift still gets past a guard like that, and v0.6.1 fixed a case where trailing JSON braces leaked into the output.
Confirm before building
A well-specified problem takes me about an hour from decomposition to landing. A misunderstood one costs several hours of agent work, then I re-explain it and the factory builds it a second time. A short review before dispatch costs much less than that.
There are two ways to play intent back before dispatch.
Show it. Before anything gets built, the agent publishes an artifact: a rich HTML page with UI mocks of what it intends to build. The conversation about the artifact stays attached to it. If an agent is iterating on an icon, "warmer orange," "thinner stroke" and "perfect" become a thread with revisions on the artifact, and the chat keeps a single card where there would have been three screenshots and a wall of feedback. The board's own redesign went through this, approved as revision 5 of its HTML review artifact on November 11, so the review surface ended up reviewing the board it sits next to.
Ask it. Questions leave the chat entirely and go to a decision inbox with a strict schema. A decision has one of three kinds (yes/no, multiple choice, or free text), a short title, the context I need, and the agent's recommendation. The recommendation is marked in text and no option is preselected, so I'm not nudged into the default. Each decision gets its own small thread. I ask a clarifying question or two, click A, B, or C, and once the decision is closed that conversation goes away. When the question itself is posed wrong, "Talk about this" closes it and drops me into a conversation with the agent that asked.
The inbox is enforced in code. I wrote the rule into the agents' standing instructions, and they kept ending turns with "Want me to…?" anyway, because written instructions decay. Now a hook checks every reply that ends a turn. If any sentence in it ends in a question mark, or it contains a phrase like "want me to" or "shall I," the hook blocks the stop once and tells the agent to file a decision instead.
Managing the work
Managing work I'm not doing myself happens at two altitudes.
The top one is a roadmap with three sections: Now, Next, and Later. Only Now gets my attention. Everything else is deferred to my future smarter self, who might also have access to a future smarter model. The items in Next and Later stay vague unsolved problems on purpose, since detail I plan today is written against today's model and may not survive the next one.
Under each roadmap item sit its tasks, with no epics in between. Each roadmap card shows counts: done out of total, how many are in progress, how many are blocked. I click a roadmap item, see its tasks, open one, and ask a question, and the agent that owns that task answers right there, outside the chat.
The board's status comes from what actually happened, not from what an agent reports. A card shows in progress only while its agent is still working, and a task reaches Done only when its commit lands, so I can read status off the board without asking anyone. An agent claiming it's done was the whole problem in Nobody Calls Finish.
This is HCI
The board can't make judgment calls. On November 8 the lead agent for this interface was working through a migration onto the new board, with 39 open items. I asked whether there was a minimal version of task management and dispatch we could land sooner. Roughly 29 of the 39 dropped out of the blocking set, and within the hour the factory was building the new interface on its own board. The lead had every fact it needed to propose that cut. It never did, and that kind of call is still mine.
Each of these is a human-computer interaction problem: how one person's attention and judgment get into a system of agents and back out again. In The Player-Coach Decade I said to find the edge of the harness and build past it. On the agent's side, that edge keeps moving out with every model release. Past it, now, is me: the same meat sack I was last year, with no step change in intelligence every quarter or two. Making that part easier is where the investment and creativity belong.
Stop building for yesterday's model. Human limits are the durable problem.