Promptable Architecture and Spaghetti Product

Cover Image for Promptable Architecture and Spaghetti Product
Scott Werner
Scott Werner

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.

  1. Component-based design
    Breaking your software down into smaller, reusable components that can be generated or modified by LLMs independently.
  2. 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.
  3. 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.

If you’d like to see the early days of what we see being the future of product development, sign up at sublayer.com and come join us in our discord.


More Posts

Cover Image for Waste Inferences!

Waste Inferences!

Back in the 1970’s, Caltech professor Carver Mead suggested that, given the implications of Moore’s Law (which he coined!), we should embrace the growing abundance of transistors and “waste” them. Computing power was becoming cheaper at an exponential rate, and what that meant was that we should work to create more powerful, flexible, and innovative …

Scott Werner
Scott Werner
Cover Image for Introducing Blueprints: A New Approach to AI-Assisted Coding

Introducing Blueprints: A New Approach to AI-Assisted Coding

Today, we’re excited to officially announce the release of Blueprints! A new, open-source, (and soon, model-agnostic!) approach to AI-assisted coding that helps you leverage patterns in your existing codebase for code generation. Personalized to you and your team’s unique style. Introduction There is a lot of excitement these days around AI programming assistants like Github …

Scott Werner
Scott Werner