Top
Best
New

Posted by dimonomid 14 hours ago

AI Has No Wisdom and Neither Will You(alexn.org)
366 points | 516 commentspage 3
jmartrican 12 hours ago|
Solid points. I will add a few points.

1) A lot of the time i spent deciding on interfaces (methods, classes, etc.) for humans. E.g. should this be two methods or one, should this method be in this class or moved to utility. Those problems went away. 2) What about performant code? This can be prompted away and when the measurements in your performance tests do not go down, then you can step in. 3) Sad to say but the AI has always been better than me at code-reviews. Maybe this is just me and if so I own that, but to the articles point, it might be harder to fix now. 4) "vibe-coded projects devolve over time into an unmaintainable mess". Preventing and managing this mess is the new skill sets we need to develop as software engineers. 5) Another skill-set we will need to master is how to maintain and grow our coding skills. Some ideas are: a) every once in a while implement a feature yourself. b) no AI Tuesdays! c) Have the AI quiz you on the code base. d) Have the AI develop HTML docs about how the code works.

__MatrixMan__ 12 hours ago||
I've found it helpful to make an explicit delineation in the codebase for which interfaces I'm going to agonize over and refine and which I'm going to ignore.

One set goes into haxe files and I use reflaxe macros to write tiny compilers that generate docs, clients, servers, cli's, test cases, serializers and deserializers, etc in whatever language is appropriate. That leaves gaps, which the AI can then fill in.

So I iterate on the haxe stuff. If the AI is struggling to "draw the rest of the owl," I change the source of truth until it has enough guidance re: type related errors, failing tests, and documentation. As requirements change, these things change.

As for the rest of the owl, it's disposable. Every few months I'll delete it and have an AI rewrite it from scratch (now with a smarter model and better docs and API specs and tests to guide it). This keeps the cruft from accumulating while preserving human contact with the code.

NichoPaolucci 7 hours ago|||
> Preventing and managing this mess is the new skill sets we need to develop as software engineers.

How can we prevent and manage the mess if we're not actively working in the codebase though? (Sometimes, I'll get a 'feel' for when something needs changed or will become unmaintainable, but that required consistently interacting with the thing)

Currently, we look at code once during the PR and then we never touch it again until it comes up in the PR.

I'm still handling a few tickets a week without AI, because sometimes it's faster to make a 2 line fix than to write + review a prompt, but increasingly it's just to make sure I still 'got it'.

daveguy 12 hours ago||
1) Those problems did not go away. They only "went away" if you assume no one will ever need to read code again. And if you believe that, you clearly aren't reading the code already. Which I guess is why you think naming and architecture problems went away. AI is the absolute worst at architecture decisions.

2) not even sure what you mean by this

3) probably shouldn't admit that. It implies the reviewer has a less than average understanding of the code they're reviewing.

4) preventing and managing vibe code devolving into a pile of slop requires programmers not use AI. 80% accuracy repeated in more and more layers === more and more failures. In other words, the skill required is exactly the skill of being a good programmer without AI.

5) e) no AI all the time or only use AI as search. You're almost there with a and b. With c, it just doesn't understand well enough to "quiz you". With d, how are you going to know if the docs are correct if you aren't reading the slop?

skybrian 13 hours ago||
You can still read the code, ask the AI questions about it, and ask it to fix things. Coding agents are a power tool for cleaning up codebases, but you have to ask for the right cleanups, which means figuring out what it is based on your understanding. (You can also ask the AI to suggest ideas.)

This takes time away from implementing new features, but that’s true of all code health maintenance.

kkapelon 13 hours ago|
> You can still read the code, ask the AI questions about it, and ask it to fix things

This only works in small projects. For large projects, it is close to impossible. Everybody talks about how new models appear all the time and nobody comments on the fact that context size has almost stalled.

skybrian 10 hours ago|||
Yes, it's certainly possible to generate code faster than you can clean it up. That's a choice. (Often called technical debt.)
hard_times 13 hours ago|||
Can't everything be broken down into smaller pieces? And isn't that actually a good principle in general?
kkapelon 12 hours ago||
Sure. But in order to do central refactoring and actually improve stuff you need to keep in context all the small pieces.

You can split a small program into piece A, B, C All of them look correct on their own. But they duplicate something in 3 different ways and person/agent who can "see" all of them can see the duplication and refactor.

Current model context is simply not enough for large projects.

Same problem for letting AI review code. A PR might look correct on its own and be small enough to fit into context. But somebody who has access to the whole code of the project again sees the duplication.

I am an OSS developer and when reviewing PRs I actually look at how the same problem was solved in other popular OSS projects. No AI can check this today because there is simply not enough context.

Basically if we had unlimited context what you said might be true. But context size is limited today.

hard_times 11 hours ago||
I suppose it's not enough to break everything down into smaller pieces, your architecture also needs to be composable. That would address the issue of duplication. Think a plugin system.
kkapelon 11 hours ago||
Duplication was just an example. Code architecture is the general topic.

Yes a plugin system is great, but it only works if that plugin API/interface it designed correctly and gives plugins what they need while still enforcing good practices.

But somebody needs to design a plugin system that does this first. And designing a plugin system (for large projects) brings us back to square 1 :-) (that you need a large enough context to see what the code does in order to anticipate plugin needs).

johnsmith1840 12 hours ago||
Effort is all. It was before AI, it is the same with AI.

Putting in massive effort with AI leads to quality exactly like before hand coding.

Vast majority of work was junk before AI because vast majority of people put the minimal possible effort.

The difference now is that AI can make low effort work look high effort at a surface level.

edg5000 11 hours ago|
> The difference now is that AI can make low effort work look high effort at a surface level.

True, but we'll also get higher standards I think. It's become easier to do things, so skilled people can do more complicated things. We compare to what humans can achieve.

fyredge 11 hours ago||
> because we’ve always done automation at scale, everything we do is automation

I'm weirdly attached to this line. Physical automation a.k.a. factories are not portable. The manufacturing techniques are, but to "spin up" a new factory requires expertise, effort and capital. In contrast to software, replication can be done quite effortlessly, with containers and such tools, it's easily a one-man job.

Writing, coding and art are not meant to be repetitive, scalable tasks. I think that's what's driving the core of the backlash. If these forms of human expressions can be automated, then why would we need to apply our mental capacity at all?

ambre222 10 hours ago||
I do think AI might get better and better at coding, as long as there are still humans creating software for AI to learn from—which may actually be a bad thing.

What worries me more is my own tendency to rely on AI more and more. It is becoming increasingly difficult to choose the harder path of coding by myself instead of taking the easier road, even though I know that road may gradually make me lose some of my skills.

Fortunately, I am closer to the end of my career than the beginning, but I worry a great deal about the new generation of developers.

gritzko 12 hours ago||
Very interesting post. Feels like my comment from two days ago [1], elaborated. I must thank the author for verbalizing all the concerns.

So now we have a fork: red-pillers who want to regenerate software all the time (esp those with unlimited token budgets) and blue-pillers who want to maintain more code mass per developer-head. Plus, we have software artisans.

That will be an interesting horse race.

[1]: https://news.ycombinator.com/item?id=49774239

clementg 11 hours ago||
I'm all in favor for well crafted software and thoughtful designed stuff. The "No-AI" branding will probably become somewhat popular as you expect it, but how can we trust this? We've already seen so many examples of people (wether normal people or very important people) using AI and disguising it as their own thought. How can we ever trust a company just slapping a "No-AI used" logo on their landing page?
bluGill 12 hours ago||
Wisdom is very rare. I constantly have to tell people "we did it like that in 2012 because it seemed like a good idea and there were no better options - but this is 2026 and there are now better options and we shouldn't do things the old way instead.

Too often people get an idea and don't stop to ask if there is an even better idea. (I'm guilty of this myself). Often it takes a while to figure out what the good ideas are, but people want an answer now.

meowface 12 hours ago||
>People are actually terrible at making predictions. I believe the future will surprise all of us. But, I’m going to make a prediction of my own…

>In the future we will see more and more companies proudly boasting their “NO-AI” policy as a competitive advantage. And they will be right.

I will very happily take the other side of this bet. Maybe if LLMs stayed as September 2026 LLMs for the next 20 years, I'd grant it's possible. But that's not what's going to happen.

ThePhysicist 12 hours ago|
Are LLMs getting much better at coding? The new models are arguably better at understanding context and coming up with a solution that works but they still write just as much hilariously bad or hacky code as the models did 2 years ago. I e.g. ask Fable 5.1 to make changes to my software and if it's something that's not a standard CRUD architecture on top of a well-specified library it will come up with pretty wild stuff, i.e. producing shell scripts with a "cat" command that contains a 1,000 line Golang program that it compiles on the fly to load some data, or a whole Javascript tool it crams into a string in a server-side web app to make some UI element work instead of figuring out how to do it "right". Another model wrote its own (buggy) YAML parser for reading translations and I had to figure out why it broke my whole pipeline (can't even say why it chose to write that instead of just reusing a standard library, maybe I told it before to be careful when adding untrusted dependencies so it interpreted it as writing everything itself). Seems these systems are always trained to produce the desired output but I think it's very difficult to get training data that teach the systems how to keep the code maintainable when making hundreds or thousands of such individual edits. Honestly not sure if that will get better fast, so far it seems not!

I guess there's no reason to believe these models can't be as smart as a great software architect / engineer or team of such people that build an elegant and maintainable software solution over many years together based on customer feedback, then again the models are appallingly bad at some forms of reasoning, I mean they will "understand" something once you make them aware of it like e.g. a flaw in the software architecture, but when asking them to audit the code and check for issues they will often have a blind spot to finding such problems. It's interesting, like they have very high ability but very little awareness or self-directed thinking outside of the prompts they receive.

meowface 11 hours ago||
They're getting a bit better at coding. My prediction is that by 2029, they will be noticeably considerably better at coding than they are today. That will include them becoming less myopic.

I experience all the same issues you mention. I am just predicting where the ball is moving. In the scheme of things, LLMs have been useful for coding for, what, like... 1.5 years??? What other technology has ever existed where people expect it to go from "just came out" to "changes everything for everyone" in 2 years?

In the arc of history I see us at the very, very early stages of AI-driven software development.

tsoukase 6 hours ago|
I love when I can reason about and follow the LLMs' output, when I learn from it. I hate when it makes me dumber and less efficient.
More comments...