Kimi Lu

There is a tempting story about AI agents: if an agent can write software on demand, then maybe software itself disappears. Instead of buying SaaS, you ask an agent to build the workflow. Instead of using a tool, the agent writes code. Instead of subscribing to products, every user gets one-off software generated in the moment.
That story is directionally right for the long tail. It is wrong for almost everything that matters at scale.
LLMs and agents will create much more software, not less. But they will not replace the economic reason packaged software exists. When work is repeated, important, complex, latency-sensitive, cost-sensitive, or reliability-sensitive, it is almost always cheaper to package the capability once and expose it as software than to regenerate it every time.
The easiest way to see this is to separate intelligence from machinery.
A model can reason through a task. It can decide what needs to happen. It can adapt to context. That is intelligence. But most useful work also needs machinery: schemas, auth, permissions, retries, rate-limit handling, data normalization, UI state, observability, billing, audit logs, compliance, security review, caching, latency engineering, and years of weird edge cases.
Software is the machinery that lets intelligence be reused.
One useful way to think about software is that it is a snapshot of intelligence made repeatable. Someone figured out a problem, encoded the solution, tested it, priced it, documented it, and made it callable again and again. The more often the same problem appears, the more value there is in turning the solution into a reliable tool.
Software is also muscle memory. It moves work from slow, deliberate System 2 thinking into fast, automatic System 1 execution. You do the deep thinking once, package the answer, and then the system can perform it cheaply without reasoning from first principles every time.
Agents do not erase that. They make it more important.
The Token Cost Is the Cutoff Line
The economic boundary is simple: if using a tool is cheaper, faster, or more reliable than having an agent recreate the capability, the tool wins.
That boundary is not philosophical. It is the token bill, the latency budget, and the failure rate.
Imagine an agent needs to enrich a lead, deduplicate records, write to a CRM, respect field-level permissions, and log what happened. It could generate glue code each time. But every generation consumes tokens. Every execution needs context. Every retry burns more inference. Every edge case creates another loop. Every mistake costs user trust.
If the workflow happens once, on a strange case no product has ever covered, on-the-fly software may be exactly right.
If the workflow happens every day, across teams, with customer data and business impact, the economics flip. You want the packaged tool. You want the API with a contract. You want the cache. You want typed inputs. You want the vendor that already absorbed the edge cases. You want the boring path, because the boring path is cheaper.
This is the same debate as SaaS versus in-house software. Companies have always been able to build internal tools. They still buy SaaS because building is not free. Maintenance is not free. Reliability is not free. Security is not free. The real question is not whether you can build it yourself. The real question is whether it is worth building yourself.
Agents move that line. They make building cheaper, so more one-off software becomes rational. But they do not make reuse worthless. In many cases, they make reuse more valuable because the agent can now call far more tools than a human would have had patience to evaluate manually.
Reliability Compounds
The deeper reason packaged software wins is that reliability compounds.
A one-off generated workflow starts at zero operational history. The agent may write something good, but it has not seen enough production failures. It has not built up rate-limit strategies. It has not learned every provider's strange response shape. It has not been hardened against bad inputs. It has not earned trust.
Packaged software can amortize that learning across every user and every call. Each bug fix improves the product for everyone. Each integration update protects every workflow that depends on it. Each monitoring rule catches the next incident sooner. Each customer edge case becomes part of the system.
That compounding is why reuse wins.
The higher the SLA, the more this matters. If the task is low-stakes, slow, or personal, maybe generation is fine. If the task touches money, customer records, production systems, compliance, security, or revenue, the agent should call trusted software instead of improvising.
Final Thoughts
Agents make creation cheaper. They do not make reuse obsolete.
The future is not a world where every task is rebuilt from scratch. It is a world where agents know when to think, when to generate, and when to call software that has already earned the right to be trusted.


