Hey all, I shared this idea a few months ago over ...
# share-your-work
s
Hey all, I shared this idea a few months ago over in #thinking-together: https://futureofcoding.slack.com/archives/C5T9GPWFL/p1700418506013839 We just open sourced this concept we've been working on for programming with LLMs we're calling Blueprints. It is kind of an alternative to coding copilots. It allows you to capture patterns/sections/chunks/classes/etc of your code to store as a "blueprint" then use those blueprints as a base template for generating something new - in your particular style. Think about it similarly to how when you work on a new feature, a lot of the time there's similar code in your codebase that you look at and modify for this new use case you're working on. The way it works is that when you capture a blueprint, the server generates a description with GPT4 along with vector embeddings of that description so that the next time you want to do something you just need to describe it, it finds the closest description, and uses the description+code to prompt for the new code generation. Would love feedback or to chat if this sounds interesting to anyone! Repo here: https://github.com/sublayerapp/blueprints Short demo of it in action here: https://www.loom.com/share/727e449a764e4362b28a74460db84655
g
A few of thoughts: it would be interesting to learn if the user's prompt for "a new class" can be more complex, potentially relying on multiple blueprints at once. Here's a concrete example: for infrastructure-as-code (i.e. Terraform), a prompt could serve as a sketch for an architecture: "I want a web service in Azure connected to a serverless function via an API gateway", for example. Imagine blueprints for each of those major abstractions (web service, serverless function, API gateway) that could be combined automatically by the LLM. Not sure how close we are to that, but it would be very cool to see in action!
s
Yes! I think so...that's one of the things I'm exploring now... essentially a blueprint that is made out of blueprints
I struggle to get out of the philosophical side of things sometimes...but I'm kind of thinking about it from an Alexander-style pattern language...patterns are made up of smaller patterns kind of thing...
but Terraform/infrastructure as code might be a great test case for getting that to work
d
I really like the idea of creating abstractions vs. using abstractions. I hadn’t thought about that distinction before but it makes a lot of sense to me!