Exponential Ideas
Now that the agents are here, and thousands of lines of good code can be written, what's the most we can think of? Given a powerful tool, how can we explore the boundaries of software, about how we can leverage it, where we can leverage it, and how much to leverage?
There are different levels to this, and I'd like to explore each one here. Let's first begin with:
- Agents, as in, a software which understands language, and can make things happen on your computer, basically openAI's Dot or SpaceXI's GrokBot. What are the possibilities now? Most UI/UX will change, as people wouldn't use them ... as much, at least business-wise. Businesses wouldn't need UI/UX now, they'll need to satisfy agents. Which also mean any digital tasks, if can be done by agents (tasks like managing massive databases, excel sheets, CRMs, etc ...), we are looking at a complete overhaul of how we interact with software! A firm which would effectively be a hybrid of both, leveraging agents and humans wherever they can, would find itself in a very nice position (there are a lot of real-life frictions, especially around legal stuff). Once again, this seems like a good trajectory for how software might evolve, but we cannot make any meaningful predictions of the economy.
- Coding agents, are the most impactful of them all. We can now write thousands of lines of code within days. Given that ... what can we do ? There are axes here: vertical and horizontal. The horizontal axis basically concerns itself with pure volume. Now that we can easily write hundred thousand lines cheaply, what becomes possible? One thing, as DHH mentions, is simple make and maintain native apps throughout. Have a codebase for Mac, one for Windows and one for mobile and tablet! Volume does not matter, we have agents. When volume isn't a cost, we can spread farther, without being thinner. Although I am not sure about the pros and cons here.
- The vertical axis ... trying out more complex projects. Trying to solve more and more complex problems, building things that we do not understand fully (but overall, architecturally), and exploring what's possible, what actually works and what doesn't! All the way from hardware to the highest level of abstractions, we can really explore the bounds of software, and other research directions (anything computational is within reach!). I think a good differentiating factor would be focus and grit: given everyone has agents, where are they dircting their powers to? How effectively are they doing it? And for how long? Let the frontier tackle open problems (if they want to), while everyone willing can leverage any agents available to them.
One other thing, that I had mentioned in a previous post, was that just because everyone can code, doesn't mean:
- They'll sit down and write/make software, when the agents can just do things for them
- They'll think computationally, and try to leverage the power of computation however and wherever they can.
- Consistently pour their resources in trying to solve open-ish problems and make genuinely complex software.
The nature of software, in the sense that what we can do with it, how we design it and how we write it are changing. Change is ... hard to digest, but in retrospect, may end up being a net good.