Disagree with so many assertions put forth here. You don't _have_ to turn you brain off when coding with an LLM. It's not some intelligence dementor. If your brain turned off while you were vibe coding thats honestly just a you problem and I wish everyone would stop boogeymanning an obvious improvement in the ability to better yourself just because a lot of people don't choose the betterment route.<p>I've never been more informed or understood more about my code, pipelines, and stack than now- and its 100% due to AI reasoning about my projects, and me making an effort to learn.
> I've never been more informed or understood more about my code, pipelines, and stack than now...<p>Would you mind clarifying if this includes code, pipelines, stacks, etc... on which many other people are simultaneously working on in a group setting? Or are these all things that you alone are working on as an individual?<p>My experience has been that AI makes me tremendously more productive as an individual working alone. Put 20 people (all empowered by AI) on a project however, and it quickly falls to shit.
The people struggling with this most are also the ones that never got to grips with human delegation either.<p>At least in my circle it's the classic leads/seniors (that predate the scrum "everyone's the same" thing) that are managing to get the most real mileage out of this.
> You don't _have_ to turn you brain off when coding with an LLM. It's not some intelligence dementor. If your brain turned off while you were vibe coding<p>You have too, because that's the definition of vibe coding. If you use an LLM to assist you, but still keep your brain on, that's not vibe coding.
> because that's the definition of vibe coding.<p>That's _your_ definition of vibe coding.
That's the definition I am aware of, yes. It's also in the term, that you let a vibe (a force coming from the outside) decide what your work lead to, as opposed as to deciding where it should arrive at and leading into that direction.
Feels like a No True Scotsman fallacy.
How so?<p>The property Scotsman is existing a priori and then a causality to behaviour is assumed. But here the term is defined by behaviour.
There's multiple ways to program using LLMs, so using different words for different styles is a useful distinction.<p>Of course, you absolutely can build a No True Scotsman argument on top of that distinction, but I don't think that's what GP was doing.
I agree. It’s actually more exhausting in some ways.
You're technically right on your first point, but I think this is missing a broader issue... this entire technology incentivises its users to put as little effort (and cognitive effort, at that -- so, thought) as possible to go from a vague idea of something they want to a <i>somewhat-working</i> thing. That's how it's being sold, that's how it's being marketed, and that's how it's arguably being built from an interface point-of-view.<p>Is it possible to use it in a more involved way? Certainly. I try to do that. But it's challenging, because ultimately even taking a more collaborative approach, this thing puts out a <i>lot</i> of slop, and then I have to deal with going over the output and just spending most of my day in code review mode vs an author that doesn't ever learn from feedback.<p>The most frustrating thing for me beyond the feedback black hole is that when things <i>do</i> inevitably go wrong, trying to point out the concrete issue and instructing the LLM to do better around it is challenging; a lot of the time directives (even those in a global CLAUDE.md!) are just ignored either outright or as the context grows, or fail to be passed down to subagents; negative prompts are discouraged because of the pink elephant effect, so I have to jump through hoops to try and frame a "never do $thing" constraint as an affirmative prompt (which is then often ignored). That aside, english is a godawful language for specifying things compared to programming languages. It's just a really frustrating experience overall.
So like I get what you're saying but an LLM helping you code is just a personal search engine/autocomplete.<p>"Vibe coding" to me and others is just going "claude program me a wife that didn't leave with the kids and make no mistakes" and just rawdogging the output.<p>but that's just me.
I never said you have to turn your brain off to feel the limitations.<p>Actually, for more complex work I think it's pretty common to spend a long time crafting some elaborate prompt, and then arguing with the agent for 10-20 turns, getting a "passable" plan, accepting it then arguing with the agent every step of the way because it's doing it wrong. It's incredibly frustrating, even with models like Fable.<p>Even after that, I'll often find out during later sessions that some feature that was supposed to be deprecated was actually silently left in "because I wasn't sure you wanted it <i>completely</i> gone" or something.<p>I agree that exploring a codebase through prompts is actually quite nice! But the mental model you get from that is almost always warped - you have to supplement that with reading the code, where 9 times out of 10 you <i>will</i> find some kind of discrepancy that you're unhappy with.<p>Why not optimize that process?
This sounds like not the best workflow. If your prompt is that long, you may not be spending your time very efficiently.<p>Splitting problems into smaller problems is huge. You want a concrete idea that you still own. Only tell an agent to do something you know it can nail - this will likely be one subsystem. The subsystems and how they talk is on you.
I agree, I tend to give a high-level concept for what I want done first, and then break it into smaller tasks. That said, there's almost always a misunderstanding within the smaller tasks anyway, which I have to test to find out about, then ask the agent to fix.
Your experience is night-and-day from mine. Both myself and the AI correct and remove each other's gaps in understanding. There is never what I would call arguing. Disagreements are resolved by back and forth discussion and reaching consensus.
[dead]
I think a big issue is that the companies pushing AI want it to replace people entirely. So the software around it is designed with that mindset.<p>I'd really like something that works more like pair programming. Where you share an editor session with the AI, and it's much more interactive. eg. It says "I'm thinking about doing X here, what do you think?". Then you give a response and it continues. Or you can see it doing something silly and immediately stop it and correct something either with a prompt or by manually editing yourself, before letting it rip again. Or just ask it "why are you doing it that way?". Maybe with some control over the speed it's going, for when you feel confident about what it's doing.<p>Claude has made some positive changes over time where it asks you more when there are different approaches it can take. But I feel like I'm not being brought along with my mental model as much as I would like. A lot of the time it spits out a whole pile of code and then I have to go and build up the mental model after the fact, and correct a lot of what it's done.<p>The current approach is good a lot of the time though, when you're not really changing anything architectural and just want it to bash out code while you do somehthing else.
This piece is more thoughtful than the title initially led me to believe. However, I feel like it's sort of like advocating for us all being able to read/write binary (using a bit of an extreme to prove a point). While there might certainly be benefits to understanding less abstract layers, I don't think it's necessary or even necessarily helpful. That said, I don't think the answer is "turn your brain off completely" but I think that there should be tools that facilitate thoughtful ways of vibe coding with natural language, which is basically another abstraction layer from writing the code and tests yourself.
I'm making the case that we should make tools for the <i>higher</i> abstraction, not a lower one. You said it yourself: why should we read/write binary? We don't, we shouldn't. It might be useful in some cases, but working with assembly is much easier.<p>Intent is more natural to us than code, for the same reason assembly is more natural than binary.
Man, it's wild how I have no original thoughts. I've been pulling on this thought this morning, complete with checking in on how CodeSpeak and Tessl are doing.<p>I'll add this link to the pile: <a href="https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html" rel="nofollow">https://martinfowler.com/articles/exploring-gen-ai/sdd-3-too...</a><p>> spec-kit created a LOT of markdown files for me to review. They were repetitive, both with each other, and with the code that already existed. Some contained code already. Overall they were just very verbose and tedious to review. [...] To be honest, I’d rather review code than all these markdown files.<p>The hardest part of any of this extraction is that modern code is already an extremely dense representation of how the computer should work. You mostly can't change the code without changing behavior.<p>I bet Scryer works for his use case, and it's a joy to dogfood. I also bet it fully breaks down the moment a 2nd developer, who cares about different things, joins the team.
I enjoyed the article, I think you're right that the tooling to get out of making things too automatic is definitely lacking. AI coding is cool if you have something in a certain valley of simple enough for it to get but not so complex or low level that it will screw it up, but commercial models don't really do the following yet:<p>1. malware development<p>2. anything security tooling related<p>3. reliable assembly<p>4. reliable and somewhat more obscure programming languages like blockchain programming langs or distributed programming with elixir<p>I feel that <a href="https://maldevacademy.com" rel="nofollow">https://maldevacademy.com</a> has been keeping my skills relatively fresh, it's fun in the discord where sometimes we try using models to do this stuff and it just chokes<p>On the other hand I "vibe coded" (Although I've heard more nuanced distinctions in terminology here about doing it right rather than just letting it rip automatically or without much thought) a fairly large and profitable software project in about a month recently that would have probably taken me over three if I hadn't used claude.<p>In the end and as you mentioned, these things are just tools and if you're busy complaining about them rather than finding what they can't do yet and having a bit of fun with working within those limits, you might be able to find a good niche to make better use of your time and avoid the skill atrophy
Thanks, yeah I just went with the most controversial term as the catch-all which just means: you prompt an agent as your core workflow.<p>For me as well, I do projects for clients that would have taken me months, and I deliver them in a fraction of the time. It's amazing and totally helped cure my burnout (which I had for over a year before I found Claude Code.)
Howabout: just turn off AI.<p>I scanned the article, never made it to the bottom, didn’t find the point the author was trying to make.<p>Howabout just learning to code better as a human without using AI. Just like learning a craft. Just refuse to use AI. Not possible because of peer pressure? Well then stop worrying and continue to vibe.<p>Either stop or stop complaining but don’t make excuses or write long articles that ramble and rant … sorry but I don’t understand what’s so hard about stopping.
>Writing code by hand will always be around for bespoke and novel, complex work.<p>That sentence is probably the key.<p>There is zero chance of this stopping overall.<p>Much like with artists 90% of the commercial stuff - copy/ads with generic guy in suit picture - will be AI that is "good enough".<p>Less concerned about the code quality and more the labour market dynamics. If this goes anything like translation & creative space did then there is going to be a brutal shakeup where competition for remaining "real" seats gets intense
We now have more work, not less. Engineers can finally address security and tech debt! Surely businesses will see the value in that. Right?
> Much like with artists 90% of the commercial stuff - copy/ads with generic guy in suit picture - will be AI that is "good enough".<p>Eh, wouldn't be sure. Every time I see slop in such a context, it makes my day worse. And usually ensures I wouldn't go to that business, or at least unconsciously biases me against it.
While my CONTEXT.md's are a hodgepodge of general ideals and specific do's/dont's, my AGENTS.md are demonstrable.<p>I can instrument to observe the instructions being executed.<p>* Delegation<p>* Execution (better rules than rtk)<p>* Response<p>* Logging<p>When I want to turn off the printf style confirmations, manually editing saves the tokens. Using RFC 2119 (language) doesn't make a substantial difference. I'm in search of something better.
Economics will dictate that working bespoke on coding will simply not be profitable anymore. Great article but there is no stopping this trend at this rate.
We can also go back to the telegraph
[dead]
[dead]
[dead]
Vibe coding is the new way forward. Please adapt or you will lose so much