Marginalia - 2025-08-25
Reading List
- I love calculator
- Everything early should be an art project
- Live a Disciplined Life, Spontaneously
- The Roadmap of Mathematics for Machine Learning
- Andrej Karpathy - Bullish on environments and agentic Interactions but bearish on RL
- The Second Half (AI's halftime)
- Unreasonable Effort
Rough Thoughts in Progress
What does it look like to build infrastructure primarily (or exclusively) for LLMs?
I believe a major sticking point to onboarding the next billion software developers is going to be everything that's not coding. As anyone who develops software knows, there is a constant dance between the actual code and all of the configuration that needs to be in place to get your code to run as expected.
While platforms like Replit attempt a vertically integrated strategy, others have delegated to preferred partners. Supabase in particular has emerged as the backbone of vibe coding platforms like Lovable and Bolt. Supabase, of course, predates the LLM revolution. While it was always "developer friendly" as an open-source alternative to Google's Firebase, we're no longer talking about a developer customer. The customer is the agent. So the question becomes, what does a 5-star customer experience look like for agents?
Agentic Wishlist
- All documentation is up-to-date and easily parsed. Likely in markdown or xml format.
- In contrast with much of the documentation developers put up with today, there can't be several sources of truth. It's likely the LLM will run a single web search and go with the first answer.
- Versioning likely needs to be extraordinarily explicit to avoid vibe coding into an incompatible state.
- APIs must remain stable, backward compatible or, at minimum, have error messages that indicate to the agent what code update is required
- This is a major issue with present-day agentic coding tools - they excel when developing against stable APIs where plenty of training data exists.
- MCP tooling for everything
- We can't expect the next generation of vibe coders to wade through configuration as we do today. The agentic tools they're consulting should be able to initialise, configure and deploy their applications by themselves.
- This likely means that this infrastructure is a 1-stop-shop for everything required - from DNS to secrets management to deployment.
While I believe Replit might be the closest to this reality, I don't think anyone has truly nailed this as a cohesive ecosystem. For every other agentic coding platform, you're still reliant on a Platform as a Service (PaaS) for deployment and the MCP support (/prayers) of your agent of choice.
Infrastructure-as-Code (IaaC)
I've always been a sucker for IaaC. It just makes sense to me to write, review and version control infrastructure alongside its associated code. On the face of it, it looks like IaaC is the antithesis of vibe coding. However, I could see a world in which the agents, trained & prompted appropriately, would work much better in the domain of Terraform than in MCP calls.
I might be stuck in the mud but my mental model is still that we have excellent next token prediction, NOT decision making (and certainly not "intelligence"). Bringing vibe-configuration into a modality in which we have a massive amount of training data, feels much more likely to work reliably.
If that's true, where does it leave us? Seemingly with end-users staring at a pile of Terraform code, and a backend in AWS. Using the AWS console is nightmare fuel for even seasoned developers. So this seems less than optimal for the local charity shop in need of a website.
There are, of course, no shortage of easy (or easier) to use PaaSs. Vercel, Netflify, Render, Heroku etc. While all of these support some level of configuration as code - typically a custom yaml or json formatted file or files - none (to my knowledge) get you from account signup to configured deployment purely in "code". The fact each have their own proprietary configuration, and the fact that nobody really uses this approach are also major headwinds to having agents take the wheel using IaaC.
SST is perhaps the closest to what I'm after here. Their promise is your entire application defined in code. In my limited experience, their docs leave a little to be desired but they are true to their word. The drawback, from the perspective of our charity shop webmaster, is that support for platforms that aren't AWS is limited at present. If that changed, such that Vercel or perhaps Cloudflare, was a little better supported, we might have a winner. You opinion might vary on whether either of those platforms have a UI that is appropriate for the vibe-coders of tomorrow. My 2c is that more might need to be done there also.
The Character of Good Tools
"What a computer is to me is it’s the most remarkable tool that we’ve ever come up with, and it’s the equivalent of a bicycle for our minds.” -- Steve Jobs
What makes a tool "good":
- In operation space - they are simple and rigid
- In usage space - they are infinitely complex and flexible
When I think about the best tools I use daily, whether they are physical or virtual, concrete or abstract, they have a very particular character.
They are always simple to use, and much of that simplicity comes from their rigidity. They can only be used in a very limited way. They frequently have few moving parts, concepts to understand, or inputs to mess with.
However, their simplicity is never a constraint to their use. They can be used in flexible ways and to do complex things. Frequently this manifests in composability. The few things one can create with the tool can be combined to create results that are more than the sum of the primitive parts.