I don't see an all encompassing one but I could see similar arguments being made in a courtroom around high capacity magazines. (I'm not saying I think the analogy is perfect, but there has been plenty of of lobbying that has stifled - to some - sensible gun regulation that could help reduce the severity of mass shootings. I still mostly fall on the side of the individual doing the action bearing mostly all of the responsibility but if the product you build makes it too easy to do awful things, I think there is some responsibility to go around.
A better analogy may have been the troubles Meta has faced around child protections on their platforms. Technically the abuse and problems have stemmed from individuals too, but they've in many respects enabled the situation by failing to moderate or flag warning signs. OpenAI is failing to moderate the models in similar ways.
Last time I managed to get addicted, the gum was a lifeline. I found it pretty easy to switch to, to be honest, and just told myself it was OK if I was on it forever. After about 4 months of as much gum as I wanted, whenever, I started working down through the dosages, eventually making little Franken-gums by using a pill-cutter and regular gum to split the dosage further.
I've found Astra to be horrible at making orchestration decisions. I will be trying to use Sol for both. Fable is very good at it though. Worst part of my week is when I hit my Fable usage limit and have to switch to Astra.
Which is one of those fun things that didn’t actually exist back when we took it for granted that our fellow person was operating under some kind of moral or ethical framework, which pretty much everyone was until the economists told us that wasn’t rational, because it turns out it’s an evolutionary advantage to operate under an ethical or moral framework because it allows the kind of coordination which facilitates better collective outcomes, which everyone knew until the economists came along to tell us we were wrong and in fact it was rational not to do so and suddenly we had the prisoner’s dilemma.
On the other hand, there's research suggesting that the most optimal behavior for the best outcomes (based on the famously dependable economist style of analysis in a vacuum) is to practice the moral/ethical framework but to also engage in tit for tat - ie, assume everyone means well but respond proportionally when they don't.
didn't they say Opus 5 was Fable-level too tho? Let's see, I'm at the point where I don't think benchmarks really tell us very much any more. I'd love it to be as strong as Fable, but I'm skeptical about how that will look in practice.
Also AI is fine at creating maintainable software, you just have to nag it to and not accept its first attempt at it, and subject it to peer review. This is plenty similar to human developers.
Yeah and they’re typically fired for incompetence, or their startup fails, or their product flounders but that’s okay because the company doesn’t need the product to actually be successful.
Meanwhile, the people who work on actual products that matter have a valid criticism that can’t be dismissed with “some humans don’t even manage to do that.”
Yes, including myself in the past. I’m grateful to be out of that situation.
Probably a vast majority of software written never actually gets interacted with by a user. A vast majority of VC-funded software probably never gets interacted with by a user.
Feels pretty great to work on a product that actually has a user, and that user isn’t actually the product (and that user isn’t being manipulated or exploited). Tiny, tiny minority of the software industry I work in.
That does not sound right, I would guess the most code is in enterprise and business applications and people have to use it no matter how bad it is. I would guess only a tiny fraction of code - besides hobby projects - ends up in the trash without ever having users.
I’m coming from the angle that the majority of software written is internal or B2B rather than B2C, and that most critical B2B software features are hammered out in the first couple of years of development while the remaining development cycles are for niche requests to maintain specific clients who don’t actually know what they want and then don’t end up resubscribing / even using the feature.
If you don’t think about it as a per-software criteria, but per-feature criteria, the vast majority of software features developed are probably completely ignored or even untouched compared to the “critical few”.
Very, very long tail distribution. The most executed 100 lines of code (maybe some Java class init snippet, or some Linux kernel snippet) is probably executed more per day than the per-day bottom 80% of all code combined. Maybe the bottom 99.9% of all code combined.
But that is generally true, most things in the real world have a few common cases and a lot of rare exceptions, so every software dealing with the thing will have a hot path and many additional paths that are rarely or maybe never executed. Or look at large applications like Excel, Photoshop or Blender, they have a million features but most user will probably never use even a single percent of them.
If you would fire all incompetent [1] software developers, there would be almost nobody left.
[1] There is probably a more fitting word, I am just reusing incompetence here, but that is not a really fitting description, I think. I would maybe say carelessness or something like that, but a single word is not going to capture the issue accurately.
Same with pretty much any other profession. Hunting for reliable and reasonably-priced HVAC, plumbing, handymen, etc. is a part-time job.
But the point OP was trying to make is that because LLM harnesses output code that is at least better than the worst, say, 20% of developers then we should be fine with it. Meanwhile, I’ve worked in shops where you have to be way above the worst 20% in order to keep your job or even be hired in the first place. And it isn’t some crazy lose-sleep-over-it, stressful requirement. It’s just that literally if you’re not good enough your work will be identified as a liability and you’ll be let go. It’s only happened to 3 people fwiw.
I think crappy code that looks like crap, is better than good looking code that is actually crap if someone cares to look..at least it can be fixed early.
LLMs commit crap, and read the "pattern" back, and consider it as gospel and repeat it all across the code base...
That's like asking why senior/staff engineers tend to review more code than write themselves. In certain environments there's a scaling constraint, and you can generally have wider impact through oversite than typing at a keyboard yourself. That's not to say one is more worthy of your time or not, just that it's not unique to AI.
Generally though, you are also investing your time into leveling up junior engineers to take over responsibilities from you. I just never really see that happening with AI. Even as it gets "better" technically, there's no real growth pattern to its work and it doesn't understand ownership or responsibility.
But if scaling isn't a problem, then sure just write it yourself.
Same reason you’d hire engineers rather than expecting the CTO to do all the programming?
It doesn’t take much effort to setup cross-agent reviews and automatic reviews for slop and accretion, while directing design decision questions back to the human to consider. I have had a considerable increase in throughput of code that I designed and made the important decisions about, and that I’m pleased with the quality of, although as always in these discussions, someone will be a long shortly to tell me that that implies I must be a terrible engineer.
But people don't use AI the way they use human beings because it's a technology and it's being consistently overhyped by its own makers as superhuman intelligence
reply