A New Era in Software Development
The main criticisms of Large Language Models (LLMs) like GPT-4 as code generating tools right now are that they’re only good at certain aspects or that they won’t work for larger, more complex applications. At Sublayer, we’re rethinking the product management application from the ground up, with the understanding that LLMs and other generative AI tools will continue to improve over time. Since day 5, we’ve been using Sublayer to product manage itself, and recently we had a realization. We were changing the way we thought about, architected, and built the application to make prompting easier and to get better results.
Enter Promptable Architecture
We’re calling this new way of thinking about building software Promptable Architecture, or software architecture that lends itself well to being easy to prompt and results in more accurate results when collaborating with LLMs to build and modify software. As these tools improve, the more promptable your architecture is, the faster and cheaper it is going to be in order to make changes to it. If you’re not able to prompt an LLM to make changes to your product, you’re going to be at a major disadvantage to any competitor who is.
What Can I Do Today?
We don’t know exactly what this looks like yet, but luckily there are a few principles that have emerged that you can work toward today so that you’re set up to take advantage of new capabilities and discoveries of working with LLMs as they emerge.
- Component-based design
Breaking your software down into smaller, reusable components that can be generated or modified by LLMs independently.
- Self-contained Functionality
Structure your code in a way that promotes self-contained functionality. This allows LLMs to generate code that can be tested and validated independently without requiring a complex prompt or complex setup.
- Clear Interfaces and Contracts
If you’re able to clearly and simply define the inputs and outputs of a piece of code and the change, you’ll be able to more clearly write a prompt, and promote loose coupling and separation of concerns.
By the time you read this, there will also be a site live at promptablearchitecture.com where we’ll be collective examples, knowledge, and writing on the subject. Join us in the Sublayer Discord if you’d like to talk more!
Enter Conway’s Law
Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.Melvin E. Conway
If you can accept a future where you are designing software in a new way to take full advantage of what LLMs have to offer, your biggest risk is not properly taking Conway’s Law into account. For example, if your teams aren’t structured with clear responsibilities and boundaries, how can you expect your code to be? This is another place where we see it being imperative to get a head start untangling your organization and creating small, focused, modular groups as a first step in order to be prepared as the world catches on, and something we’ll be discussing more in-depth over at promptablearchitecture.com
The Failure Case: Spaghetti Product
As we all collectively get better at Promptable Architecture, and our organizations are structured accordingly, the next big issue we expect to see is Spaghetti Product. Some of you out there may be familiar with spaghetti code, unstructured, tangled, convoluted code. Spaghetti product will be similar. Because LLMs will do exactly what you ask for, the risk you run into is not being clear and having thought through what you’re asking them to build, resulting in a convoluted, hard to understand and use product or feature.
Where Does Sublayer Fit?
We’ll be writing a lot more in detail about Sublayer coming up, but these ideas seemed so big when they came to us, we just had to write about them first. We’re working to codify these Promptable Architecture principles into a product to help guide you as you learn to build in this new paradigm, giving you a proven way to build products with LLMs that we’re using ourselves, and will grow alongside these generative AI tools as their capabilities improve and we all learn better ways of working with them.