Software for an Audience of One

For most of the history of software, an application existed because enough people wanted it to pay for the time it took to build. A tool that only one person needed usually didn’t get written, unless that person happened to be a programmer with a lot of spare evenings. Everyone else adapted to whatever the market offered.

That has changed. With modern LLM coding tools, a person with a clear picture of the application they want can build it, even if they will be its only user. I think of it as custom software on demand: not a product with a market, but a tool made for one person’s way of working. I’ve been building software this way for most of this year, and I think it is one of the more important things these tools make possible.

Task-Decoupled Agents: Breaking the Monolithic Context Problem

A recent paper from Tsinghua and Renmin University caught my attention: Task-Decoupled Planning for Long-Horizon Agents. The core insight resonated with a problem I’ve been wrestling with on a Java code modernization project at work, and I think the pattern deserves more attention.

The Entangled Context Problem#

Most LLM agent architectures fall into two camps: step-wise planning (reactive, one step at a time) or one-shot planning (generate the whole plan upfront). Both share a fatal flaw: they maintain a monolithic reasoning context that spans the entire task history.