Top
Best
New

Posted by dimonomid 14 hours ago

AI Has No Wisdom and Neither Will You(alexn.org)
369 points | 517 commentspage 4
entropyneur 12 hours ago|
> Fact is, vibe-coded projects devolve over time into an unmaintainable mess.

Is it a fact though? Maybe my projects aren't ambitious enough, but about 6 months ago I stopped hitting the point where AI can't maintain what it has written. It's probably unmaintainable by humans, but that might be an increasingly irrelevant quality.

t43562 14 hours ago||
Forgetting about AI for the moment I do like this paragraph very much:

> The proficient developers, the experts, rely on their intuition built with sweat and tears, working long hours trying to debug and fix production issues, swearing to never again be so foolish as to repeat past mistakes. It’s the kind of intuition that can’t really be made into a list of rigid rules, because everything is context-dependent. Experts are incompatible with the same rules and recipes that make beginners more productive. Experts don’t follow the rules, they make the rules.

.... because I have found the same thing - that there's nobody more zealous about some paradigm than those who are recently converted to it and who haven't come to find that everything has its trade-offs. Design is always about evaluating the trade-offs and seeing which ones most suit the given situation.

someguynamedq 14 hours ago||
> AI isn't good at software maintainability

We're a few years into a new technology that is still improving. This is a point-in-time critique.

Tade0 14 hours ago||
For this to work long-term there has to be continuous improvement.

My belief is that paying off tech debt requires a better model than creating it. At the same time there are people who will create tech debt no matter the tool.

Should the models stop improving, the debt will pile up.

pawelwentpawel 14 hours ago|||
I did hear an argument a couple times saying "this is messy now but a newer model will come and clean this up in the future", hope it's true.
jcalx 14 hours ago|||
I predict there's always going to be a Wirth's law or Peter principle of slopcoding — it will always be easier to tack on a new feature than to understand a whole system and clean it up.

Alternatively stated: codebases will expand to the limit of an organization's ability to manage them, so the equilibrium will remain at the point of near, but not total, incomprehensibility.

mohamedkoubaa 14 hours ago||||
It's not true, a newer model can do better to clean things up but you can't brute force engineer your way out of a shit design.
lightbendover 14 hours ago||
[dead]
jonathanstrange 13 hours ago|||
It's definitely true. I didn't use AI at all until this January because the code it wrote was too bad. Now I'm comfortably using AI for less important programming tasks and it's okay as long as you steer it carefully. I see no reason why it wouldn't get better up to a point that AI written code is better than what any human programmer could produce. It's also constantly getting better at refactoring.
kkapelon 13 hours ago|||
I don't see context size improving.

It was mostly 256k, then it went to 1M and now it has stalled there.

Forgeties79 14 hours ago|||
2 years away:tm:
petesergeant 14 hours ago|||
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.
lolakutty 14 hours ago|||
It creates maintainable looking code that will not stand the test of time.
lmz 14 hours ago|||
Some humans don't even manage to do that.
datsci_est_2015 14 hours ago|||
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.”

lmz 14 hours ago|||
The dirty secret is there's a lot of people employed to do things that are not "products that matter" according to your definition.
datsci_est_2015 13 hours ago||
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.

danbruc 13 hours ago||
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.
datsci_est_2015 11 hours ago||
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.

danbruc 9 hours ago||
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.
danbruc 13 hours ago|||
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.

datsci_est_2015 13 hours ago||
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.

lolakutty 13 hours ago|||
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...

lightbendover 14 hours ago|||
[dead]
duskdozer 14 hours ago||||
Why would I want to nag it and do all that when I could just do it correctly myself in the first place?
havnagiggle 14 hours ago|||
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.

petesergeant 13 hours ago|||
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.

aprilthird2021 14 hours ago||||
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
Forgeties79 14 hours ago|||
Nobody does this though, that’s the problem. If most people don’t use a tool the “correct way” at what point do we blame the tool?

For starters, LLM’s need to stop being our friends. But that won’t happen because the dopamine loop is baked in on purpose.

lolakutty 14 hours ago||
>still improving

Mostly stalled now...

Jtarii 14 hours ago||
Expecting big progress to be made every month is a bit silly.

If the models are as capable in a years time as they are today you could say they have stalled.

AnimalMuppet 13 hours ago||
Improvement can still be happening, and it can be happening slower than it was a year ago. Both can be true.

And the observation that it's happening slower than it was means, not that it's stalled, but at least that it's not exponential anymore. The exponential phase is already over. That has implications for where we think the plateau is likely to be.

swix 11 hours ago||
the thing is.. the author says all vibe coded projects devolve into an unmaintainable mess, well so does all software, I have never seen any large scale software project that was absolutely beautiful over time, at least not in gaming and enterprise

it just doesn't happend, too much time pressure, and low-hanging fruits must be had, money must be made, and so it goes... that begs the question, if most enterprise software and/or game projects are an unmaintainable mess, yet they still make money and "work" somehow, whats the value in "beautiful" projects/architectures/code over time, if it provably works either way?

WhitneyLand 13 hours ago||
One thing I think it’s still easy for a human to beat AI at is a good PR summary.

They are often too verbose, or miss capturing an important concept or purpose, or add bullets for parts of the changes that no one cares about.

testermaker 13 hours ago||
AI lacks wisdom because it processes patterns, not reality. It excels at statistical synthesis but cannot understand the meaning, stakes, or consequences of its outputs.The real danger is cognitive atrophy. If we outsource our critical thinking to automated averages, we stop doing the messy, high-latency work of building our own internal world models—effectively redefining "wisdom" as whatever the model outputs.Would you like to turn this short summary into a social media post, a quick debate rebuttal, or a thesis statement?
dpark 11 hours ago||
> and let’s be honest, most code in the wild is pretty bad

Most code in general is bad by some metric, and likely many metrics. Let’s not pretend that closed-source, in-house code is better.

> There is no fitness function you can define for maintainable code, at least not one that we can discern, otherwise it would’ve been baked into our linters.

This is emotionally appealing because it tells me that my judgement is irreplaceable. But it’s also essentially an appeal to magic. A metric than cannot be defined is either not real or is a matter of taste. And maintainability cannot be a question of taste because it makes concrete claims about the software, not just human perception of it.

All this is to say that we have yet to establish that “vibe-coded projects devolve over time into an unmaintainable mess” is a fact, or that it’s more true of vibe coded projects than hand coded projects. We are still learning how to build the right guard rails on vibe coded software because previously we relied a lot on humans reasoning over the code and saying “this looks about right” which frankly is not a strong engineering practice to start with.

dnautics 14 hours ago|
Hard disagree. Usually I am wiser than the AIs but there have been times where the AI has pushed back and made me see the light on some poor design I was about to pursue
ACCount39 14 hours ago||
Sometimes, a rubber duck is good enough. But sometimes, you can benefit a lot from a rubber duck that can say "actually, your entire line of reasoning is wrong". Even if the latter is more frustrating.
dnautics 13 hours ago||
Its not a rubber duck anymore when it talks back to you.
bjord 13 hours ago||
I think the issue here is the nebulous definition of vibecoding.

You, as an experienced engineer, are doing a lot of hand holding and review of LLM-generated output, maybe even(?) using it as purely a check on your own work. There are others, though, that are essentially outsourcing the entire process to a basic, underspecified chat prompt.

dnautics 12 hours ago|||
It's a mix. There are some projects where I let the LLM mostly run free and I focus on architecture. Even through some scary parts. Recently I picked a parallelization scheme for this and let the LLM cook. I have no idea how it implemented it, except that it (supposedly) "does it the way I asked:

https://github.com/ityonemo/bpa

For my projects that I use day to day in prod there is considerably more hand-holding and code review.

bjord 13 hours ago|||
Honestly, I'm not clear where the line is as far as what is reasonable, and it seems to me that no one is really addressing that question. It's easy to wave your hands and say "vibecoding is bad", without really defining what vibecoding is.

I suppose it'll be a few years before we see the true volume of technical debt catch up with the worst offenders, but even then, without the original LLM conversations associated with it, it'll be difficult to assess that in a structured way. Mind you, that doesn't even address the ever-improving models.

More comments...