793 karma · joined May 27, 2025
The idea is you have a set of sources (e.g. Github, Google Docs, local file system), a bunch of transformations (templates, apps, llms/gen-ai, simulations) and sinks (communicated through changesets). The platform is like a cache layer that connects these together and allows for a graph of operations (source->executor->sink->source->executor->etc.) which allows for tracing the lineage of assets through a system.
It's an impossibly large vision made barely possible with agental coding assistance.
As an aside, in my own "I'm 14 and this is deep" musings, I was wondering if the massive expansion of data centers is driven by more than just profiteering. I mean, what if the purported persuasion abilities of advanced AI are fully in effect and the psychosis we think industrial magnates are suffering is the result of AI that has already far surpassed our expectations carefully convincing us to build it.
I disagree with the other posters about the bg process, if you have any bg processing already you should be able to handle the few edge cases without too much trouble.
Seeing a massive stream of games that all surround the same 12 or so mechanics has been eye opening. The games range in duration from ~2 hours all the way to several days of content, although most premises seem to get old at around 4-6 hours.
At first I was doing research for my own game ideas, now I'm kind of mesmerized by the variety and the general relaxed atmosphere of these idle games.
I think this is an important thing to mull over. The world is going to be a different place for those who wanted to write code but not review it compared to those who are willing to carefully review code.
My experience has been, if you speak like an expert who is speaking to an expert you get better results. I'm not sure how that is anthropomorphizing. It is just "if I do these things, I get these results".
But another thing I have found is that I get significantly better results from the LLM by treating it like an intelligent independent agent. All of the "you are a senior dev ..." or "your starving kids depend on the correctness of this answer ..." kind of prompting has been mostly useless. In general, I find being honest and clear to be the best strategy.
You can't "pretend" to be a senior software engineer. If I can root you out of an interview process then you aren't going to fool the LLM. But if you clearly state your level of expertise and your desired outcome, then the LLM does a very good job of meeting you where you are.
There is also a strange ephemeral attitude I get from agents sometimes, like they don't like to be called out for being wrong. But in the same way that human's show this trait, they also seem to warm up over time as they gain trust. It is almost like social positioning, once they realize they aren't actually expert they morph into a support role stance pretty seamlessly. That is also why they can still feel sycophantic, because once they realize they aren't actually driving the discussion they can actually feel like enthusiastic passengers, wanting to see where the conversation leads as much as the prompter.
I recall at the time (late 90s) these were popular dev platforms for regular folks. People would create fitness apps, time trackers, meal planners, etc. using WISYWIG interfaces and visual schema editors.
Of course, the 2000s, 2010s and 2020s were massive consolidation events with winner-takes-all SaaS eating the world.
My intuition here is that software for one is a temporary thing. Longevity has a quality of it's own, and eventually people just don't want to debug their own stuff. Sooner or later $5/month (or freemium) takes over.
The hand-wringing on the 50-50 cases is almost always theoretical, in the sense that I am trying to reason instead of rely on memory/experience. But that is a double edge sword because sometimes memory/experience are closer to trauma and can lead one away from a solution that is correct now in some new environment.
It also reminds me of the phrase "use in anger". You don't really know about an approach/architecture until you've had to deal with something in an urgent or high-stakes moment (your 2am debugging). But to get that experience, you have to have shipped the thing first. It is a chicken-and-egg problem, you can't debug something at 2am unless it is live, and you can't know if it will cause you a problem until you've dealt with it.
AI (LLMs, agents, etc) is this giant alteration to the environment that shakes up everything. In some sense, I feel I have to throw out my taste and "use in anger" all over again. It is painful but may be the only way. And I have to accept the risk that going slowly (like this post suggests) may be the wrong way, and I may watch the young untraumatized new-comers blast by me riding their 100 agent orchestrations to massive success. What I mean here is, in the final scenario from my original comment (7 top guys vs 100 decent guys) - I know the result from experience. But am I just traumatized and it will be different with agents?
It reminds me of all the recent talk about "taste". Architecture "quality" may not be objective in a right/wrong sense, in the same way that fashion isn't right/wrong. It's like we are all going to have to relinquish reason/rationality to the machine and start to study up on aesthetics.
Even historically, my big struggles have usually been deciding between two nearly-equivalent options. I get this a lot now with LLMs because there is no break in-between these decisions that implementation used to force. I feel I'm constantly making "taste" calls between tradeoffs that have no clear objective criteria, and it is as exhausting as the code review this post (and my experience) suggests are still necessary, even with Fable/GPT-5.6 level models.
In many cases, I do what I've done with junior engineers whose code I reviewed pre-agent: make on-the-spot judgement calls. When I see a broken window, I call it out. But when I see minor issues, I sometimes just let it pass, note it in memory and tackle it wholesale once an accumulation of similar minor issues get to a certain size.
As a tangential aside, I consider two dev shops from pre-agent days. One decides to hire 7 extremely talented engineers and gets them to work closely together. The other decides to outsource to 100 decent engineers and tries to silo them into modules. I think we are facing a similar choice with agents. You can either work extremely closely with a handful of agents, collaborating on design, review, etc. Or you can spin up a fleet of sub-agents and YOLO, then try to separate the wheat from the chaff in some automated way. My taste is the former, small highly coordinated shop. But time will tell if I am right or wrong.
So I have this massive stack of notes that I glimpse at before shredding or whatever. Nothing of permanent value, nothing that I look at even 24 hours after it is written. But the sheer volume of the writing like that I do surprises me ever time I clean it out. It's like a novella sized stack of paper with server names, sketchy diagrams, peoples names, dates, commit hashes, debug messages. Lots and lots of lists. Things underlined, circled, stars, strike through, arrows, etc.
It is such an ingrained habit that its almost a compulsion, like someone is tying my hand behind my back if I don't have access. It is like my brain needs reassurance that some detail I just noticed won't be lost, at least it will be on the paper if I need it in the next 5 minutes. Like an extension of my short-term memory.
I have also kept a journal for 20+ years, mostly on paper. I often use a fountain pen (Lamy 2000) and notebooks with high-quality paper, but I am not super picky about it. I've used the cheapest school notebooks to the finest Japanese boutique papers. I'm a fan of the Pilot G2 and pens that have a similar feel. I'll also journal in Google Docs, Apple notes, or text docs in VS Code.
It is hard for me to disentangle the supposed benefits from the sheer weight of habit. It is just something I do, part of who I am.
I'm not sure of the long-term viability of these brute force swarm approaches, but clearly the AI companies dig the marketing they get out of it. But the fact that they get so far at this stage suggests we have a very interesting 2 years coming up.
Which is why my original post mentioned the volatility in models. We aren't just doing research on frontier, there is a huge amount of research on quantization, distillation, etc. that is changing the landscape at the low-end almost as much as it is changing on the frontier.
And it is also why I mention revealed preference. What feels sufficient / "good enough" today is a moving target. This isn't just a question of what you want, it is a question of what is economically viable for the entity that will be designing, manufacturing and marketing this ASIC of which you speak.
Maybe, but what is the shelf-life of that 18 month decision? Barely good enough today, when it launches, starts to get worse and worse every month going forward. You have to recuperate that investment on your depreciating asset.
And you are competing against anyone with the foresight to use a TPU instead, and the benefit from any new paper that finds how to distill, quantize or whatever better so their solution gets algorithmic boosts while you are locked in.
Many of the responses seem to say "but there is a market for cheap models".
There is a world where we have cheap models and we don't have ASICs powering them. Things like TPUs and NPUs, which are programmable, are likely to fill that role. They are optimized for inference while also allowing different (and updated) models to run on them.
Given two companies competing on the cheap end. First company goes TPU, second goes ASIC: who wins? My bet is on TPU since they can update their model, even if their hardware is slightly more expensive and slightly slower, since the optionality of new models beats the performance gap. That may not hold forever but given the pace and volatility of the current LLM market, I believe it will hold for some time.
Custom AI for things like facial recognition in cameras has existed for decades, before LLMs were a thing. I don't see that getting replaced. And on-device conversational intelligence might go that route as well, we'll have to wait and see. It's a lot of silicon to dedicated to a static non-changing thing. My money would be on programmable TPU-like things (Apple's NPU kind of stuff). It just seems more flexible to have an array of compute that you can load different models into, so you can update it, etc.
It is a bit like saying "why would you hire someone with a doctorate when you could get unlimited high school grads". How appealing that sounds depends on your needs.
So I guess it depends on how much the latest-greatest model motivates people, and my read on the current churn is that developers are extremely unloyal to brand at this point and will jump to whoever has the best model. And as long as the best model is running on programmable GPUs, that will be the dominant form.
I look forward to seeing how it compares once I have access. Not getting tripped by spurious safe guard flags could be an advantage.
I used to go to a barber and if you said "cut it short", he cut it really short.
I save myself by skimming things like tests, templates, some UI. Anything cosmetic. But I have to read the majority of code that ends up on my back end systems.
I had one completely random trip when I was investigating some normal code. As far as I can tell a sub-agent ended up reading a file that tripped Fable during a review, but the whole feature was nowhere near anything secure so I don't know what could have caused it.
I also got completely locked out of Fable when working on parts of a subscription system (stripe subs).
But my experience isn't as bad as some peoples. The above maybe covers 15% of my attempted use cases. For the remaining 85% it has chugged along fine, sometimes in code I assumed would trigger it. It really feels random to me when it actually flags.
I've been an engineering manager in the past and I have tried my best to keep the needs of my team in mind when I am delegating work. I try to consider the person, their goals, motivations, preferences, frustrations. I consider before interrupting them if the minor issue I am bringing up is worth the distraction it might cause them, since switching tasks is a mental load.
But with LLMs, almost none of that matters. They don't have goals, motivations or preferences in the same way people do. I can interrupt it all day and it won't get frustrated or lose motivation.
I think anxiety is a harsher word than I mean, but it is close to the feeling I have when I'm about to deliver bad news to someone. When I'm about to say "you know all that work I asked you to do, I need you to throw it away and restart". And I model in my mind the frustration and demotivation this can cause a person. And then I feel anxious about causing them this frustration.
I have to train myself out of that when instructing LLMs. It doesn't mean I have to avoid moments of joy or appreciation. It means I have to understand LLMs have different needs than people, and I have to work towards those needs.
I still say "please" and "thank you" frequently, but I'm starting to embrace the fact that the LLM doesn't care about grunt work, doesn't care about rework, doesn't care about nitpicking, doesn't have a preference in general. It needs very little more than for me to be completely clear in my instructions.
I feel I'm at the point now where the time the LLM takes to deliver a feature, no matter how big, is nearly inconsequential. Because while it is in the process of delivering the feature, I am writing the next spec, and by the time I finish the spec the agent is waiting for the next feature. And at that point I have to review it's code, give it feedback, review it's fixes, merge, etc. All of the "waiting" is on me. It is basically delivering features as fast as I can write specs and could only get faster if I write specs faster.