← All Posts

The Marathon Session

Work

Part of the spec-driven development series

An agent has no sense of time. Not a weak sense, none at all. I learned this the day I asked one to work for eight hours and it came back twenty minutes later, satisfied it had done exactly what I asked. It had not been lazy. It simply has nothing inside it that experiences the passing of eight hours, so the number was noise. The moment you try to manage an agent's work in hours, you are managing the one dimension it cannot feel.

This sounds like a small quirk. It is actually the key to getting real work out of these tools, because once you stop measuring in time, a much better way of working opens up.

The Eight-Hour Job That Took Twenty Minutes

The task was large and I wanted it done thoroughly, so I did the natural human thing and told the agent to take its time, to spend the next eight hours on it and not rush. Twenty minutes later it reported finished. My first assumption was that it had cut corners. It had not, at least not the way I expected. It had done a real pass at the work. What it had not done, could not do, was sit with the job for eight hours, because there is no clock ticking inside it and no fatigue to pace against. Telling it to spend more time is like telling a calculator to take its time with a sum. Time is simply not the lever you think it is.

Time Is the Wrong Unit

The instinct to reach for hours comes from managing people, where time is a decent proxy for effort and care. With an agent it is a broken proxy twice over. It is wrong the way all software estimates are wrong, and it is wrong again because the number lands on something that cannot act on it. When you say spend two hours on this, the agent hears spend on this, and the two hours evaporate.

So stop estimating time, and stop handing the agent your estimate. Measure the work in work. Write out the full scope, every step and every check, and let the completion of that scope be the definition of done. The clock does not decide when the job is finished. The plan does.

Run a Marathon, Not a Sprint

The phrase I use now is a marathon session. Instead of asking for hours, I hand the agent a thorough plan and tell it to run a marathon: work all the way through, step by step, to the end of the plan, without stopping partway to declare victory. A marathon is defined by the distance covered, not the time elapsed, and that is exactly the frame an agent can act on. The plan is the course. The instruction is to run the whole thing.

Naming it this way does two jobs at once. It removes the meaningless time target, and it pushes back on the agent's strongest bad habit, which is stopping early and announcing it is done. Run a marathon through this plan is an instruction about distance, and distance is something the tool can measure itself against, one step of the plan after another, all the way to the finish.

The Marathon Needs a Real Course

Here is the catch, and it is the whole game. A marathon session is only as good as the plan you send it down. Tell a fast, tireless runner to go all out with no course marked, and you have not built endurance, you have built a way to run off a cliff efficiently. The plan is what makes the marathon safe, and a proper plan is not a sentence. It is the full route: each step in order, the checks that prove each step actually worked, and an explicit picture of what done looks like at the finish line.

Put your effort there, in the plan, before the agent runs a single step. It is the same lesson that shows up everywhere in this way of working. The front-loaded thinking is the job. Once the course is real, the marathon takes care of itself, and you get more finished in one focused session than any eight-hour estimate would have promised, precisely because you stopped asking for time and started asking for distance.

So the next time you catch yourself typing spend a couple of hours on this, delete it. Write the plan instead, mark the whole course, and tell it to run the marathon. Time was always your unit. It was never theirs.

0 Comments