Vibe coding: Empowering and imprisoning
Posted by zdw 9 days ago
Comments
Comment by siliconc0w 4 days ago
I think this is one of the reasons we don't see huge productivity gains. Most F500 companies have pretty proprietary gnarly codebases which are going to be out-of-distribution. Context-engineering helps but you still don't get near the performance you get with in-distribution. It's probably not unsolvable but it's a pretty big problem ATM.
Comment by ehnto 4 days ago
Comment by theshrike79 4 days ago
“Hey boss we can use AI more if we would document these business requirements in a concise and clear way”
Worst case: humans get proper docs :)
Comment by NewsaHackO 4 days ago
Comment by JimDabell 4 days ago
https://khromov.github.io/svelte-bench/benchmark-results-mer...
I found that LLMs sometimes get confused by Lit because they don’t understand the limitations of the shadow DOM. So they’ll do something like throw an event and try to catch it from a parent and treat it normally, not realising that the shadow DOM screws that all up, or they assume global / reset CSS will apply globally when you actually need to reapply it to every single component.
What I find interesting is all the platforms like Lovable etc. seem to be choosing Supabase, and LLMs are pretty terrible with that – constantly getting RLS wrong etc.
Comment by Teknoman117 4 days ago
Comment by OhSoHumble 4 days ago
Comment by runako 4 days ago
Comment by pan69 4 days ago
Sounds to me like that there is simply more React code to train the model on.
Comment by throwaway150 4 days ago
I don't understand this argument. I mean the same applies for books. All books teach you what has come before. Nobody says "You can't make anything truly radical with books". Radical things are built by people after reading those books. Why can't people build radical things after learning or after being assisted by LLMs?
Comment by altmanaltman 4 days ago
With books, the sell is not that it will create your app and you don't even need to learn to code. The sell is that you will learn to code with this and then use it to build the app (often through a painstaking process).
> Jensen Huang says kids shouldn't learn to code — they should leave it up to AI
https://www.tomshardware.com/tech-industry/artificial-intell...
Which book tells you that you shouldn't learn to code but leave it to the book?
Comment by AdieuToLogic 4 days ago
> I don't understand this argument. I mean the same applies for books. All books teach you what has come before. Nobody says "You can't make anything truly radical with books". Radical things are built by people after reading those books.
Books share concepts expressed by people understanding those concepts (or purporting to do so) in a manner which is relatable to the reader. This is achievable due to a largely shared common lived experience as both parties are humans.
In short, people reason, learn, remember, and can relate with each other.
> Why can't people build radical things after learning ...
They absolutely can and often do.
> ... or after being assisted by LLMs?
Therein lies the problem. LLMs are not assistants.
They are statistical token (text) document generators. That's it.
Comment by bottd 4 days ago
Assisting a person and being an assistant are not synonymous. A cane assists a man while he walks. It is a stick. That's it.
Comment by AdieuToLogic 4 days ago
The difference here is no reasonable person claims a cane can teach someone to walk.
Comment by wiseowise 4 days ago
I don’t know why people post this as some kind of slam dunk.
Comment by urban_alien 4 days ago
Comment by latentsea 3 days ago
Comment by wiseowise 3 days ago
> That’s not a book, that’s just a soup of letters! That’s not an art, that’s just paint on a sheet! That’s not an instrument, that’s just a bunch of crap glued together!
If you’re edgy cynic and treat anything this way, that’s fine. But if you’re singling out LLMs just because you don’t like them, then you’re a hypocrite.
Comment by brazukadev 3 days ago
Comment by preommr 4 days ago
Because that's not how this is being marketed.
I agree with you completely - the best use case I've found for llms (and I say this as somebody that does generate a lot of code with it) is to use it as a research tool. An instantaneous and powerful solution that fills the gap from the long gone heydays of communities like mailing groups, or Stack overflow where you had the people - the experts and maintainers - that seemingly answered within a few hours on how something works.
But then that's not enough for all the money that's being fed into this monster. The AI leadership is hell-bent on trying to build a modern day tower of babel (in more ways than one), where there is no thinking or learning - one click and you have an app! Now you can fire your entire software team, and then ask chatgpt what to do next when this breaks the economy.
Comment by zmmmmm 4 days ago
People vastly over rate the novelty of software work. The vast majority of the time, it's at least got conceptual similarity to things created before. A lot of the time, being "radically new" is a huge negative. It's a recipe for something nobody can understand or maintain. Almost all software is mild variations on existing things that are assembled to create something new in feature space, but its nearly 100% mind numbingly boring in the methodology of how it is built.
Comment by atrettel 4 days ago
I'm reminded of an old quote by Dijkstra about Fortran [1]: "In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included."
I've encountered that same problem in some older scientific codes (both C and Fortran). After a while, the bugs somewhat become features because people just don't know to question them anymore. To me, this is why it is important to understand the code thoroughly enough to question what is going on (regardless of who or what wrote it).
[1] https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498...
Comment by zmmmmm 4 days ago
I do feel imprisoned by my vibe coded apps. But it's because I've lost control of them. I don't understand the code that was written well enough to work on it myself any more. So now I'm at the mercy of the AI to maintain it. When there's a bug to fix I just type it into the LLM and pray and hope that it will be able to solve it, because if it can't, I'm screwed.
It's actually a big reason I'm sticking with tools like Aider for things I care about and not going fully agentic yet. Having an agent do reams of work and then submit hundreds of lines of code for me to examine is counter productive to my longer term aims. I'm happy with the 2-3x improvement I get from lesser tools that still leave me in control.
Comment by wseqyrku 3 days ago
That's eerie. So basically this is the same walled-garden formula but this time directly targeting your intelligence, rather than your data like it has always been.
Comment by jimmaswell 4 days ago
Overall, it seems like defining the structure to some extent yourself and letting the agent fill in implementation and suggest architecture changes is a good way to go to get a lot of useful work out of it without letting the structure of the overall app run away from you.
Comment by ako 3 days ago
Comment by EagnaIonat 4 days ago
That's worse than you think. Maybe not for you though.
They are trying hard to push vibe coding in my work and they had one demo that stood out.
They showed how VC had created an app to analyse multiple logs. It worked, but when they showed the code it was using csv module in python and had created all its own functions. The app was 100's of lines long. The same thing could have been achieved in a few lines of code using pandas.
The person creating the app had no experience of python, nor how do to the work. So they could never tell whats wrong.
.. And that is what is going to happen as junior people come into the workforce, as the next line being pushed is you don't need an expert to VC.
Comment by ako 3 days ago
Comment by EagnaIonat 2 days ago
Faster but not same as an expert would have created.
As an expert you have assumed knowledge on your area of expertise. For example I would assume that the system would know to use pandas and not csv module, because the latter would be a stupid thing to do outside of learning python.
Comment by ako 2 days ago
Comment by EagnaIonat 1 day ago
Comment by kianN 4 days ago
This has been my biggest hesitancy with adopting these technologies. All of the things of which I’m most proud of building were built from a foundation of deep understanding of several domains, not from the solutions of a series of one offs problems, but from the process of solving them.
Comment by Aperocky 4 days ago
Eventually we will gravitate back to square one, and business people are not going to be writing COBOL or VISUAL BASIC or the long list of eventual languages (yes this now include natural ones, like English) that claim to be so easy that a manager would write it. And Googling/Prompting remain a skill that surprisingly few has truly mastered.
Of course all the venture capital believe that soon we'll be at AGI, but like the internet bubble of 2001 we can awkwardly stay at this stage for quite a long time.
Comment by jumploops 4 days ago
With the printing press+internet, one might argue that we’ve helped cement current languages, making it harder for language to evolve naturally.
(A counterpoint may be slang/memes/etc. which has likely increased the velocity of new words for any given language.)
In either case, one might see LLMs as further cementing language, as it’s the thing the machines understand (until their next training run).
Assuming we struggle to make LLMs that learn in realtime, one might suspect that these amazing new tools might further cement the status quo, meaning less new words than before.
With all that said, I think I’ve come to the conclusion that LLMs will likely speed up the evolution of language.
The hypothesis being, that future generations will develop communication that the robots can’t read, at least at first.
A never-ending game of cat and mouse; while the cat is on v6, the mouse is on v7. Ad infinitum.
Comment by Frannky 4 days ago
Comment by Havoc 3 days ago
It works, but I wouldn’t give it to someone else to use because I have little idea how to fix or troubleshoot it beyond shouting at an LLM.
It’s weird.
I don’t think the authors thesis about „radical“ apps is right though. You can definitely arrange simple vibe coded components in novel ways. Much of the business logic out there powering billion dollar companies isn’t exactly mind bending innovative code
Comment by crinklewrinkle 4 days ago
Why not ask ChatGPT?
Comment by FarmerPotato 4 days ago
Was there anything original in it? I'd like to ask this article, what was your knowledge cut-off date?
Comment by fbrncci 4 days ago
Comment by salicaster 3 days ago
Comment by jaimex2 3 days ago
Comment by spankalee 4 days ago
For those cases, I think LLM-assisted coding has the ability to drastically change the usual formula and help bring into being projects that people would previously only daydream about, hoping that the world aligns with their vision one day and they can magically spin up a team to work on it.
Coding agents are fast becoming at least a part of that team. If you're idea is in a domain where they've had a lot of high-quality training code, they can already do a pretty amazing job of getting a project off the ground. If you're a programmer with at least some domain knowledge and can guide the design and push the agent past tough spots, you can keep the project going when the LLMs get bogged down.
I think at the very least, we're going to see some incredibly impressive prototypes, if not complete implementations, of OSes, programming languages, hypermedia systems, protocols, etc. because one passionate programmer threw a lot of LLM time them.
Basically lots of people are going to be able to build their own TempleOS now. Some of those might end up being impactful.
Comment by Getlazy 4 days ago
Comment by wilg 4 days ago
> A huge reason VCs and tech tycoons put billions into funding LLMs was so they could undermine coders and depress wages
is just pure speculation, totally unsupported, and almost certainly untrue, and makes very little sense given the way LLMs and ChatGPT in particular came about. Every time I read something from Anil Dash it seems like it's this absolutely braindead sort of "analysis".
Comment by apical_dendrite 4 days ago
I don't know how much "VCs and tech tycoons" want to undermine coders specifically, but they see a huge opportunity to make money by making things much more efficiently (and thus cheaper) than they can be made now. The way to they plan to do that is to reduce the cost of labor. Which means either automating away jobs or making jobs much less specialized so that you don't need a highly-paid craftsman.
Think about Henry Ford setting up an assembly line where a worker sits at the same location and performs the same action all day, every day. You don't need a highly-skilled, highly-paid person with leverage and power to do that job.
Comment by lubujackson 4 days ago
What AI usage has underlined is that we are forever bound by our ability to communicate precisely what we want the AI to do for us. Even if LLMs are perfect, if we give it squishy instructions we get squishy results. If we give it a well-crafted objective and appropriate context and all the rest, it can respond just about perfectly. Then again, that is a lot of what programming has always been about in the first place - translate human goals into actionable code. Only the interface and abstraction level has changed.
Comment by aaron_m04 4 days ago
Comment by chickensong 4 days ago
> Vibe coding might limit us to making simpler apps instead of the radical innovation we need to challenge Big Tech
is also pure speculation and doesn't make sense. In fact, enabling people to create small and simple apps could well indeed challenge and weaken dependence on big tech.
I stopped reading and closed the page.
Comment by latentsea 3 days ago