10 ms·
Perverse incentives of vibe coding
- comex 1y ago> There was no standardization of parts in the probe. Two widgets intended to do almost the same job could be subtly different or wildly different. Braces and mountings seemed hand carved. The probe was as much a sculpture as a machine. > Blaine read that, shook his head, and called Sally. Presently she joined him in his cabin. > “Yes, I wrote that," she said. "It seems to be true. Every nut and bolt in that probe was designed separately. It's less surprising if you think of the probe as having a religious purpose. But that's not all. You know how redundancy works?" > “In machines? Two gilkickies to do one job. In case one fails." > “Well, it seems that the Moties work it both ways." > “Moties?" > She shrugged. "We had to call them something. The Mote engineers made two widgets do one job, all right, but the second widget does two other jobs, and some of the supports are also bimetallic thermostats and thermoelectric generators all in one. Rod, I barely understand the words. Modules: human engineers work in modules, don't they?" > “For a complicated job, of course they do." > “The Moties don't. It's all one piece, everything working on everything else. Rod, there's a fair chance the Moties are brighter than we are." - The Mote in God's Eye, Larry Niven and Jerry Pournelle (1974) […too bad that today's LLMs are not brighter than we are, at least when it comes to writing correct code…]
- mnky9800n 1y agoThat book is very much fun and also I never understood why Larry Niven is so obsessed with techno feudalism and gender roles. I think this is my favourite book but I think his best book is maybe Ringworld.
- Loughla 1y agoRingworld is a great book. The later books have great concepts, but could do without so much. . . rishing. Niven plainly inserted his furry porn fetish into those books, for reasons unclear to any human alive.
- Suppafly 1y ago>for reasons unclear to any human alive Given how prevalent furries seem to be, especially in nerd adjacent culture, I'd say he was ahead of his time.
- AlexCoventry 1y agoThe zero-sum mentality which leads people to think that way is already clear in The Mote In God's Eye. I think the point of the book is that despite being superior to humans in every way imaginable, the Moties are condemned to repeated violent conflict by Malthusian pressures, because they have nowhere to expand. One way I interpret the "mote" in God's eye is the authors' belief that no matter how good we get, we'll always be in potentially violent conflict with each other for limited resources. (The "beam" in our own eye is then that we're still fighting each other over less pressing concerns. :-)
- Suppafly 1y ago>I think this is my favourite book but I think his best book is maybe Ringworld. Ringworld is pretty good, the multiples sequels get kind of out there.
- mnky9800n 1y agoI never read any of the sequels just a couple of the short story collections and some of the man kzin wars. What’s wild about them?
- Suppafly 1y agoIt's been a long time since I read them, but I recall the sequels being less focused plot-wise and also having a lot more of the human + alien/furry relations. I think I read 5 or 6 of them and mostly enjoyed them, but eventually moved on to other authors. Might be time to revisit them now that I've mostly forgotten them enough that it'll feel fresh again.
- jerf 1y agoYeah, I've had that thought too. I think a lot about Motie engineering versus human engineering. Could Motie engineering be practical? Is human engineering a fundamentally good idea, or is it just a reflection of our working memory of 7 +/- 2? Biology is Motie-esque, but it's pretty obvious we are nowhere near a technology level that could ever bring a biological system up from scratch. If Motie engineering is a good idea, it's not a smooth gradient. The Motie-est code I've seen is also the worst. It is definitely not the case that getting a bit more Motie-esque, all else being equal, produces better results. Is there some crossover point where it gets better and maybe passes our modular designs? If AIs do get better than us at coding, and it turns out they do settle on Motie-esque coding, no human will ever be able to penetrate it ever again. We'd have to instruct our AI coders to deliberately cripple themselves to stay comprehensible, and that is... economically a tricky proposition. After all, anyone can write anything into a novel they want to and make anything work. It's why I've generally stopped reading fiction that is explicitly meant to make ideological or political points to the exclusion of all else; anything can work on a page. Does Motie engineering correspond to anything that could be manifested practically in reality? Will the AIs be better at modularization than any human? Will they actually manifest the Great OO Promise of vast piles of amazingly well-crafted, re-usable code once they mature? Or will the optimal solution turn out to be bespoke, locally-optimized versions of everything everywhere, and the solution to combining two systems is to do whatever locally-sensible customizations are called for? (I speak of the final, mature version, however long that may be. Today LLMs are kind of the worst of both worlds. That turns out to be a big step up from "couldn't play in this space at all", so I'm not trying to fashionably slag on AIs here. I'm more saying that the one point we have is not yet enough to draw so much as a line through, let alone an entire multi-dimensional design methodology utility landscape.) I didn't expect to live to see the answers, but maybe I will.
- fwip 1y agoFor me, "Motie engineering" always brings to mind "The Story of Mel." http://www.catb.org/jargon/html/story-of-mel.html http://www.catb.org/jargon/html/story-of-mel.html
- rcxdude 1y ago>I think a lot about Motie engineering versus human engineering. Could Motie engineering be practical? Is human engineering a fundamentally good idea, or is it just a reflection of our working memory of 7 +/- 2? Biology is Motie-esque, but it's pretty obvious we are nowhere near a technology level that could ever bring a biological system up from scratch. It's the kind of thing you commonly get if you let an unconstrained optimization process run for long enough. It will generally be better, according to whatever function you're optimizing for. The main disadvantage, apart from being hard to understand or modify the design, is manufacturing and repair (needing to make many different parts), but if you have sufficiently good manufacturing technology (e.g. atomic level printers), then that may be a non-issue. And in software it's already feasible: you can see very small scale versions of this in extremely resource-constrained environments where it's worthwhile really trying to optimize things (see some demoscene entries), but it's pretty rare (some tricks that optimizing compilers pull off are similar, but they are generally very local).
- bradly 1y ago> it might be difficult for AI companies to prioritize code conciseness when their revenue depends on token count. Would open source, local models keep pressure on AI companies to prioritize the usable code, as code quality and engineering time saved are critical to build vs buy discussions?
- jsheard 1y agoDepends if open source models can remain relevant once the status quo of "company burns a bunch of VC money to train a model, open sources it, and generates little if any revenue" runs out of steam. That's obviously not sustainable long term.
- Larrikin 1y agoMaybe we will get some university backed SETI like projects to replace all those personal mining rigs now that that hype is finally fading.
- Workaccount2 1y agoAre using the APIs worth the extra cost vs using the web tools? I haven't used any API tools, I am not a programmer, but I have generated many millions of tokens in the web canvas, something that would cost way more than the $20 I spend for them.
- jfim 1y agoIf you're using Claude code or cursor, for example, they can read files automatically instead of needing the user to copy paste back and forth. Both can generate code though, I've generated code using the web interface and it works, it's just a bit tedious to copy back and forth.
- thimabi 1y agoI think the idea that LLMs are incentivized to write verbose code fails when one considers non-API usage. Like you, I’ve accumulated tons of LLM usage via apps and web apps. I can actually see how the models are much more succinct there compared to the API interface. My uneducated guess is that LLM models try to fit their responses into the “output tokens” limit, which is surely much lower in UIs than what can be set in pay-as-you-go interfaces.
- tippytippytango 1y agoThis article captures a lot of the problem. It’s often frustrating how it tries to work around really simple issues with complex workarounds that don’t work at all. I tell it the secret simple thing it’s missing and it gets it. It always makes me think, god help the vibe coders that can’t read code. I actually feel bad for them.
- r053bud 1y agoI fear that’s going to end up being a significant portion of engineers in the future.
- babyent 1y agoI think we are in the Flash era again lol. You remember those days right? All those Flash sites.
- iotku 1y agoThere's a pretty big gap between "make it work" and "make it good". I've found with LLMs I can usually convince them to get me at least something that mostly works, but each step compounds with excessive amounts of extra code, extraneous comments ("This loop goes through each..."), and redundant functions. In the short term it feels good to achieve something 'quickly', but there's a lot of debt associated with running a random number generator on your codebase.
- didgetmaster 1y agoIn my opinion, the difference between good code and code that simply works (sometimes barely); is that good code will still work (or error out gracefully) when the state and the inputs are not as expected. Good programs are written by people who anticipate what might go wrong. If the document says 'don't do X'; they know a tester is likely to try X because a user will eventually do it.
- alternatex 1y ago
- sigmaisaletter 1y agoIn section 4, the author writes "... cheaper than Claude 3.7 ($0.80 per token vs. $3)". This is an obvious mistake, the price is per Megatoken, not per token. Source: https://www.anthropic.com/pricing https://www.anthropic.com/pricing
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- vanschelven 1y ago> Its “almost there” quality — the feeling we’re just one prompt away from the perfect solution — is what makes it so addicting. Vibe coding operates on the principle of variable-ratio reinforcement, a powerful form of operant conditioning where rewards come unpredictably. Unlike fixed rewards, this intermittent success pattern (“the code works! it’s brilliant! it just broke! wtf!”), triggers stronger dopamine responses in our brain’s reward pathways, similar to gambling behaviors. Though I'm not a "vibe coder" myself I very much recognize this as part of the "appeal" of GenAI tools more generally. Trying to get Image Generators to do what I want has a very "gambling-like" quality to it.
- dingnuts 1y agoit's not like gambling, it is gambling. you exchange dollars for chips (tokens -- some casinos even call the chips tokens) and insert it into the machine in exchange for the chance of a prize. if it doesn't work the first time you pull the lever, it might the second time, and it might not. Either way, the house wins. It should be regulated as gambling, because it is. There's no metaphor, the only difference from a slot machine is that AI will never output cash directly, only the possibility of an output that could make money. So if you're lucky with your first gamble, it'll give you a second one to try. Gambling all the way down.
- princealiiiii 1y ago> It should be regulated as gambling, because it is. That's wild. Anything with non-deterministic output will have this.
- GuinansEyebrows 1y agomaybe more accurately anything with non-deterministic output that you have to pay-per-use instead of paying by outcome.
- Suppafly 1y ago>that you have to pay-per-use instead of paying by outcome. That's still not gambling and it's silly to pretend it is. It feels like gambling but that's it.
- gitroom 1y ago[flagged]
- biker142541 1y agoCan we please stop using 'vibe coding' to mean 'ai assisted coding'?? (best breakdown, imo: https://simonwillison.net/2025/Mar/19/vibe-coding/ https://simonwillison.net/2025/Mar/19/vibe-coding/) Is it really vibe coding if you are building a detailed coding plan, conducting "git-based experimentation with ruthless pruning", and essentially reviewing the code incrementally for correctness and conciseness? Sure, it's a process dependent on AI, but it's very far from nearly "forget[ing] that the code even exists". That all said, I do think the article captures some of the current cost/quality dilemmas. I wouldn't jump to conclusions that these incentives are actually driving most current training decisions, but it's an interesting area to highlight.
- Animats 1y ago"Vibe coding" is a trend.[1] [1] https://trends.google.com/trends/explore?geo=US&q=%22vibe%20coding%22&hl=en https://trends.google.com/trends/explore?geo=US&q=%22vibe%20...
- Ancapistani 1y agoThere should be a distinction, but I don't think it's really clear where it is yet. In my own usage, I tend to alternate between tiny, well-defined tasks and larger-scale, planned architectural changes or new features. Things in between those levels are hit and miss. It also depends on what I'm building and why. If it's a quick-and-dirty script for my own use, I'll often write up - or speak - a prompt and let it do its thing in the background while I work on other things. I care much less about code quality in those instances.
- codr7 1y agoIt's still gambling, you're trading learning/reinforcing for efficiency, which in the long run means losing skills.
- parliament32 1y agoThis reads like "is it really gambling when I have a many-step system for predicting roulette outcomes?"
- 1y ago
- samtp 1y agoI've pretty clearly seen the critical thinking ability of coworkers who depend on AI too much sharply decline over the past year. Instead of taking 30 seconds to break down the problem and work through assumptions, they immediately copy/paste into an LLM and spit back what it tells them. This has lead to their abilities stalling while their output seemingly goes up. But when you look at the quality of their output, and their ability to get projects over the last 10% or make adjustments to an already completed project without breaking things, it's pretty horrendous.
- Etheryte 1y agoMy observations align with this pretty closely. I have a number of colleagues who I wager are largely using LLM-s, both by changes in coding style and how much they suddenly add comments, and I can't help but feel a noticeable drop in the quality of the output. Issues that should clearly have no business making it to code review are now regularly left for others to catch, it often feels like they don't even look at their own diffs. What to make of it, I'm not entirely sure. I do think there are ways LLM-s can help us work in better ways, but they can also lead to considerably worse outcomes.
- jimbokun 1y agoJust replace your colleagues with the LLMs they are using. You will reduce costs with no decrease in the quality of work.
- andy99 1y agoI think lack of critical thinking is the root cause, not a symptom. I think pretty much everyone uses LLMs these days, but you can tell who sees the output and considers it "done" vs who uses LLM output as an input to their own process.
- deleted 1y ago[deleted]
- mystified5016 1y ago
- charcircuit 1y agoThis article ignores the enormous demand of AI coding paired with competition between providers. Reducing the price of tokens means that people can afford to generate more tokens. A code provider being cheaper on average to operate than another is a competitive advantage.
- chaboud 1y ago1. Yes. I've spent several late nights nudging Cline and Claude (and other systems) to the right answers. And being able to use AWS Bedrock to do this has been great (note: I work at Amazon). 2. I've had good fortunes keeping the agents to constrained areas, working on functions, or objects, with clearly defined (by me) boundaries. If the measure of a junior engineer is that you correct them once a day, an engineer once a week, a senior once a month, a principal once a quarter... Treat these agents like hyper-energetic interns. Nudge frequently. 3. Standard org management coding practices apply. Force the agents to show work, plan, unit test, investigate. And, basically, I've described that we're becoming Software Development Managers with teams of on-demand low-quality interns. That's an incredibly powerful tool, but don't expect hyper-elegant and compact code from them. Keep that for the senior engineering staff (humans) for now. (Note: The AlphaEvolve announcement makes me wonder if I'm going to have hyper-energetic applied science interns next...)
- xianshou 1y agoAmusingly, about 90% of my rat's-nest problems with Sonnet 3.7 are solved by simply appending a few words to the end of the prompt: "write minimum code required" It's not even that sensitive to the wording - "be terse" or "make minimal changes" amount to the same thing - but the resulting code will often be at least 50% shorter than the un-guided version.
- panstromek 1y agoWell, the article mentions that this reduces accuracy. Do you hit that problem often then?
- SteveMqz 1y agoThe study the article cited is specifically about when asking the LLMs about misinformation. I think on coding tasks and such shorter answers are usually more accurate.
- theshrike79 1y agoGemini on the other hand has a tendency for super-defensive coding. It'll check _EVERY_ edge case separately, even in situations where it will never ever happen and if it does, it's a NOP anyway.
- andy99 1y agoI wish more had been written about the first assertion that using an LLM to code is like gambling and you're always hoping that just one more prompt will get you what you want. It really captures how little control one has over the process, while simultaneously having the illusion of control. I don't really believe that code is being made verbose to make more profits. There's probably some element of model providers not prioritizing concise code, but if conciseness while maintaining "quality" was possible is would give one model a sufficient edge over others that I suspect providers would do it.
- techpineapple 1y agoSomething I caught about Andrej Karpathy’s original tweet, was he said “give into the vibes”, and I wonder if he meant that about outcomes too.
- andy99 1y agoI still think the original tweet was tongue-in-cheek and not really meant to be a serious description of how to do things.
- meander_water 1y agoAgreed, I've been thinking about the first assertion a lot recently as I've been using Cursor to create a react app. I think it's more prevalent in frontend development because it tightens the feedback loop considerably, and the more positive feedback you get, the more conditioned you get to reach for it anytime you need to do anything in code. I think there's another perverse incentive here - organisations want to produce features/products fast, which LLMs help with, but it comes at the cost of reduced cognitive capabilities/skills in the developers over the longer term as they've given that up through lack of use/practice.
- tptacek 1y agoThat's not a great argument for talking down their utility for experienced developers, though.
- Pxtl 1y agoI can feel how the extreme autocomplete of AI is a drug. Half of my job is fighting the "copy/paste/change one thing" garbage that developers generate. Keeping code DRY. The autocompletes do an amazing job of automating the repeated boilerplate. "Oh you're doing this little snippet for the first and second property? Obviously you want to do that for every property! Let me just expand that out for you!" And I'm like "oooh, that's nice and convenient". ... But I also should be looking at that with the stink-eye... part of that code is now duplicated a dozen times. Is there any way to reduce that duplication to the bare minimum? At least so it's only one duplicated declaration or call and all of the rest is per-thingy? Or any way to directly/automatically wrap the thing without going property-by-property? Normally I'd be asking myself these questions by the 3rd line. But this just made a dozen of those in an instant. And it's so tempting and addictive to just say "this is fine" and move on. That kind of code is not fine.
- Ancapistani 1y ago> That kind of code is not fine. I agree, but I'm also challenging that position within myself. Why isn't it OK? If your primary concern is readability, then perhaps LLMs can better understand generated code relative to clean, human-readable code. Also, if you're not directly interacting with it, who cares? As for duplication introducing inconsistencies, that's another issue entirely :)
- Suppafly 1y ago>That kind of code is not fine. Depends on your definition of fine. Is it less readable because it's doing the straight forward thing several times instead of wrapping it into a loop or a method, or is it more readable because of that. Is it not fine because it's slower, or does it all just compile down to the same thing anyway? Or is it not fine because you actually should be doing different things for the different properties but assumed you don't because you let the AI do the thinking for you?
- Pxtl 1y agoIt is not fine because it is too verbose for me to have any confidence that there isn't something awful hiding in there.
- andrewstuart 1y agoClaude was last week. The author should try Gemini it’s much better.
- martin-t 1y agoHonestly can't tell if satire or not.
- jazoom 1y agoIt's not satire. Gemini is much better for coding, at least for me. Just to illustrate, I asked both about a browser automation script this morning. Claude used Selenium. Gemini used Playwright. I think the main reasons Gemini is much better are: 1. It gets my whole code base as context. Claude can't take that many tokens. I also include documentation for newer versions of libraries (e.g. Svelte 5) that the LLM is not so familiar with. 2. Gemini has a more recent knowledge cutoff. 3. Gemini 2.5 Pro is a thinking model. 4. It's free to use through the web UI.
- AlexCoventry 1y agoHow do you give it your whole code base, via the web UI?
- jazoom 1y agoI created a script to pack it into a markdown file. Later I found this which does a better job, so I use it now. https://github.com/yamadashy/repomix https://github.com/yamadashy/repomix
- AlexCoventry 1y agoSweet, thanks! Glad I asked.
- andrewstuart 1y agoIn a zip file in ai studio
- neilv 1y agoI would seriously consider banning "vibe coding" right now, because: 1. Poor solutions. 2. Solutions not understood by the person who prompted them. 3. Development team being made dumber. 4. Legal and ethical concerns about laundering open source copyrights. 5. I'm suspicious of the name "vibe coding", like someone is intentionally marketing it to people who don't care to be good at their jobs. 6. I only want to hire people who can do holistically better work than current "AI". (Not churn code for a growth startup's Potemkin Village, nor to only nominally satisfy a client's requirements while shipping them piles of counterproductive garbage.) 7. Publicizing that you are a no-AI-slop company might scare away the majority of the bad prospective employees, while disproportionately attracting the especially good ones. (Not that everyone who uses "AI" is bad, but they've put themselves in the bucket with all the people who are bad, and that's a vastly better filter for the art of hiring than whether someone has spent months memorizing LeetCode answers solely for interviews.)
- YossarianFrPrez 1y agoThere are two sets of perverse incentives at play. The main one the author focuses on is that LLM companies are incentivized to produce verbose answers, so that when you task an LLM on extending an already verbose project, the tokens used and therefore cost increases. The second one is more intra/interpersonal: under pressure to produce, it's very easy to rely on LLMs to get one 80% of the way there and polish the remaining 20%. I'm in a new domain that requires learning a new language. So something I've started doing is asking ChatGPT to come up with exercises / coding etudes / homework for me based on past interactions.
- Vox_Leone 1y agoNoted — but honestly, that's somewhat expected. Vibe-style coding often lacks structure, patterns, and architectural discipline. That means the developer must do more heavy lifting: decide what they want, and be explicit — whether that’s 'avoid verbosity,' 'use classes,' 'encapsulate logic,' or 'handle errors properly.'
- neonate 1y agohttps://archive.ph/EzbNK https://archive.ph/EzbNK
- johnea 1y agoI generally agree with the concerns of this article, and wonder about the theory of the LLM having a innate inclination to generate bloated code. Even in this article though, I feel like there is a lot of anthropomorphization of LLMs. > LLMs and their limitations when reasoning about abstract logic problems As I understand them, LLMs don't "reason" about anything. It's purely a statistical sequencing of words (or other tokens) as determined by the training set and the prompt. Please correct me if I'm wrong. Also, regarding this theory that the models may be biased to produce bloated code: I've reposted this once already, and no one has replied yet, and I still wonder: ---------- To me, this represents one of the most serious issues with LLM tools: the opacity of the model itself. The code (if provided) can be audited for issues, but the model, even if examined, is an opaque statistical amalgamation of everything it was trained on. There is no way (that I've read of) for identifying biases, or intentional manipulations of the model that would cause the tool to yield certain intended results. There are examples of DeepState generating results that refuse to acknowledge Tienanmen square, etc. These serve as examples of how the generated output can intentionally be biased, without the ability to readily predict this general class of bias by analyzing the model data. ---------- I'm still looking for confirmation or denial on both of these questions...
- sherburt3 1y agoReally makes you wonder where this is all going. What is going to be the thing where we say "Maybe we took this a little too far." I'm sure whatever bloated react apps we see today are nothing in comparison to the monstrosities we have in store for us in the future.
- deadbabe 1y agoThe future should be less bloat. We don’t need frameworks anymore, we can produce output to straight html pages with vanilla JavaScript. Could be good.
- coolcase 1y agoDopamine? That sort of thing triggers cortisol for me if anything!
- erulabs 1y agoThese perverse incentives run at the heart of almost all Developer Software as a Service tooling. Using someone else's hosted model incentivizes increasing token usage, but it's nothing special about AI. Consider Database-as-a-service companies: They're not incentivized to optimize on CPU usage, they charge per cpu. They're not incentivized to improve disk compression, they charge for disk-usage. There are several DB vendors who explicitly disable disk compression and happily charge for storage capacity. When you run the software yourself, or the model yourself, the incentives aligned: use less power, use less memory, use less disk, etc.
- jiggawatts 1y agoMy favourite example of this is the recent trend towards “wide events” replacing logs and metrics… spearheaded and popularised by companies that charge by the gigabytes ingested.
- tptacek 1y agoCompanies that ingest logs generally rip their customers faces off with their pricing. At least oTel spans can be tail-sampled.
- jiggawatts 1y agoI worked out that it's cheaper to write logs to high-end Samsung SSDs and then throw them away every month than to retain them in the log analytics systems of some cloud services for the same period of time. Wait, no, sorry... that doesn't quite "paint the right picture". The "single use" SSDs are 75 times cheaper than storing the data in the cloud.
- tptacek 1y agoAs someone who works at a platform company that operates several (very) large log ingestion systems, if you're not indexing the logs usefully, having stored them on SSDs isn't doing much for you. It's just a weird comparison to make, is all I'm saying.
- lubujackson 1y agoI feel like "vibe coding" as a "no look" sort of way to produce anything is bad and will probably remain bad for some time. However... "vibe architecting" is likely going to be the way forward. I have had success with generating/tuning an architecture plan with AI, having it create stub files/functions then filling them out individually. I can get pretty much the whole way without typing code, but it does require a fair bit more architectural thinking than usual and a good bit of reading code (then telling the AI to "do better"). I think of it like the analogy of blind men describing an elephant when they can only feel a single part. AI is decent at high level architecture and decent at low level production but you need a human to understand the big picture and how the pieces fit (and which ones are missing).
- nowittyusername 1y agoWhat you are talking about is the "proper" way of vibe coding. Most of the issues with vibe coding stem from user misunderstanding the capabilities of the technology they are using. They are overestimating the capabilities of current systems and are essentially asking for magic to happen. They don't give proper guidance, context or anything of value for the coding IDE to work with. They are relying a mindset of the 2030's to work with systems from 2025. We aint there yet folks, give as much guidance and context as you can and you will have a better time.
- croes 1y agoIf I do the same with a human developer instead of an AI it’s called ordering not vibe coding. What’s the difference?
- ramoz 1y agoI disagree with the idea that LLM providers are deliberately designing solutions to consume more tokens. We're in the early days of agentic coding, and the landscape is intensely competitive. Providers are focused on building highly capable systems to drive adoption, especially with open-source alternatives just a git clone away. Yes, Claude Code can be token-heavy, but that's often a trade-off for their current level of capability compared to other options. Additionally, Claude Code has built-in levers for cost (I prefer they continue to focus on advanced capability, let pricing accessibility catch up). "early days" means: - Prompt engineering is still very much a required skill for better code and lower pricing - Same with still needing to be an engineer for the same reasons, and: - Devs need to actively guide these agents. This includes detailed planning, progress tracking, and careful context management – which, as the author notes, is more involved than many realize. I've personally found success using Gemini to create structured plans for Claude Code to execute, which helps manage its verbosity and focus to "thoughtful" execution (as guided by gemini). I drop entire codebases into Gemini (for free).
- mecredis 1y agoHi! Author here. I don't actually think they're deliberately doing this, hence my choice of "perverse incentives" vs. something more accusatory. The issue is that they don't have a ton of incentive to fix it. Agree with you on all the rest, and I think writing a post like this was very much intended as a gut-check on things since the early days are hopefully the times when things can get fixed up.
- ramoz 1y agoMy speculation is that these companies have significant reason to prioritize lowering the amount of tokens produced as well as cost of tokens. The leaked Claude Code codebase was riddled with "concise", "do not add comments", "mimic codestyle", even an explicit "You should minimize output tokens as much as possible" etc. Btw, Claude Code uses a custom system prompt, not the leaked 24k claude.ai one.
- slurpyb 1y agoIt’s so cool that we’re all actively participating in the handover of all our work to these massive companies so we can be forever reliant on their blackbox subscriptions. Don’t fret; there will be a day where those profit numbers will have to go up and they will consciously make the product worse, just to trigger more queries, and thus extract more money from you. Gross.
- brooke2k 1y agoI don't understand the productivity that people get out of these AI tools. I've tried it and I just can't get anything remotely worthwhile unless it's something very simple or something completely new being built from the ground up. Like sure, I can ask claude to give me the barebones of a web service that does some simple task. Or a webpage with some information on it. But any time I've tried to get AI services to help with bugfixing/feature development on a large, complex, potentially multi-language codebase, it's useless. And those tasks are the ones that actually take up the majority of my time. On the occasion that I'm spinning a new thing up quickly, I don't really need an AI to do it for me -- I mean, that's the easy part! Is there something I'm missing? Am I just not using it right? I keep seeing people talk about how addictive it is, how the productivity boost is insane, how all their code is now written by AI and then audited, and I just don't see how that's possible outside of really simple rote programming.
- Starlevel004 1y ago> Is there something I'm missing? Am I just not using it right? The talk about it makes more sense when you remember most developers are primarily writing CRUD webapps or adware, which is essentially a solved problem already.
- tptacek 1y agoI'm not doing either of those things with it.
- rockemsockem 1y agoWhat are some examples of things you are doing with it?
- tptacek 1y agoLarge scale server telemetry and fiddly OAuth2/Macaroon token management.
- UncleOxidant 1y ago> I have probably spent over $1,000 vibe coding various projects into reality dude, you can use Gemini Pro 2.5 with Cline - it's free and is rated at least as good as Claude Sonnet 3.7 right now.
- rcarmo 1y agoAs it happens, I wrote about the need for planning and organizing work (for greenfield or understanding existing projects) only yesterday: https://taoofmac.com/space/blog/2025/05/13/2230 https://taoofmac.com/space/blog/2025/05/13/2230
- exiguus 1y agoI understand your point. The Vibe approach is IMO only effective when you adopt a software engineering mindset. Here's how it works (at least for me with Copilote agent mode): 1. Develop a Minimum Viable Product (MVP) or prototype that functions. 2. Write tests, either before or after the initial development. 3. Implement coding guidelines, style guides, linter etc. Do code reviews. 4. Continuously adjust, add features, refactor, review and expand your test suite. Iterate and let AI run tests and linters on each change While this process may seem lengthy, it ensures reliability and efficiency. Experienced engineers might find it as quick as working solo, but the structured approach guarantees success. It feels like pairing with a inexperienced developer. Also, this process may run you into rate limits with Copilot and might not work with your current codebase due to a lack of tests and the absence of applied coding style guides. Additionally, it takes time. For example, for a simple to mid-level tool/feature in Go, it might take about 1 hour to develop the MVP or prototype, but another 6 to 10 hours to refine it to a quality that you might want to show to other engineers.
- postalrat 1y agoI have doubts that testing is going to be the key to make vibe coding work for non-trivial projects. I'd focus on developing great well documented interfaces between components and keeping the scope of your agent under control.
- exiguus 1y agoPerhaps I wasn't clear, but I was referring to a small tool or a specific feature that, in my opinion, embodies your approach. Keeping the scope clear and minimizing cognitive load—through practices like code splitting—are essential. Implementing tests, whether unit, component, or integration tests, as part of your testing strategy, helps provide quick feedback on recent changes. As you would do it on a traditional codebase.
- _--__--__ 1y agoI agree with the thrust of the blog post but honestly most of the increased line count comes from the fact that LLMs have been whipped into leaving moronic comments like // Create a copy of the state const stateCopy = copyState(state);
- tptacek 1y agoI'm waiting for the front line coding agents to just strip all comments from LLM output; it seems like a very reasonable thing to do, given you can just ask for comments where you think they're useful.
- mullingitover 1y agoI've definitely noticed that LLMs want to generate Enterprise-Grade™ code right out of the box. I customize the prompts to tell them that we're under intense pressure to minimize line counts, every line costs $10k, and so to find the simplest solution that will get the job done.
- OutOfHere 1y agogpt4.1 doesn't have the issue of doing more than it should. It is why I prefer it for agentic coding. If anything, it may do a little less than it should, which I can remedy with my handwritten code or with a follow-up prompt. Oh and gpt4.1 has an input context that is over twice as large as claude.
- cadamsdotcom 1y agoCurious what happens if, rather than asking for conciseness, one asks for elegance.
- jay_kyburz 1y agoelegance is in the eye of the beholder. I want grug brain code.
- cadamsdotcom 1y agoIt'd be great to forbid comments eg. using some of the techniques pioneered by Outlines, Instructor et al. For now I'll do it with some examples in my context priming prompt, like: Do not emit comments. Instead of this: # frobnicate a fyzzit def frobnicate_fyzzit(self): """ This function frobnicates a fyzzit. """ # Get the fyzzit to frobnicate. fyzzit = ... ... Do this: def frobnicate_fyzzit(self): fyzzit = ... ...
- protocolture 1y agoConsidering most of these LLMs are in some kind of loss leading ramp up phase, wouldn't the incentive lean towards using the least number of tokens? Werent they recently complaining that people thanking LLMs were costing them too much money?
- deleted 1y ago[deleted]
- gregorymichael 1y agoUnlimited Claude Code for $100 on the Max plan is a game changer.
- xwowsersx 1y agoIt's unlimited? I thought it was "Choose 5x or 20x more usage than Pro." Could you please elaborate?
- stefap2 1y agoI found useful asking it to write with minimal lines. Let it write a functional code and ask to remove all unnecessary lines, minimalistic, efficient code.
- flashgordon 1y agoThis addiction and fear of things-going-bad-if-i-dont-listen-to-the-copilot is precisely why my workflow is a bit more simple and caveman-ish: 1. start a project with vague README (or take an existing one). 2. create makefile with the "prompt" action that looks something like (I might put it in a script to work around tabs etc): ``` prompt: for f in `find ./ | grep '*.go *.ts *.files_i_care_about' | grep -v 'files to ignore' | pbcopy` do echo "// FILE: $f" cat $f done ``` 3. Run `make prompt` to get a fresh new starting prompt, Go to Gemini (AI Studio) and use the prompt: ```You have the following files. Understand it and we will start building some features. <Ctrl-v to paste the files copied above> ``` 4. It thinks, understands and gives me the "I am ready" line. 5. To build feature X I simply prompt it with: ``` I want to build feature X. Understand it, plan it, and do not regenerate entire files. Just give me unix style diffs. ``` 6. Iterate on what i like and dont (including refactors, etc) 7. Copy patches and apply locally 8. Repeat steps 5 - 7. 10. After about 300-400k tokens generated (say over 20-40 features) I snapshot with the prompt: ``` Great now is a great time to checkpoint. Generate a SUMMARY.md on a per folder basis of your understanding of the current state of the project along with a roadmap of next steps. ``` 11. I save/update the SUMMARY.md and go to bed. When I come back I repeat from step 2 - and voila the SUMMARY.md generated before are included too. I have generated about 20M tokens so far at a cost of 0. For me "copy/pasting" diffs is not a big deal. Getting clean code, having a nice custom workflow is more important. I am still ready to relinquish control fully to an agent. I just want a really good code search/auto-complete out of the LLM that adheres to *my* interfaces and constraints.
- bitwize 1y ago"Vibe coding as gacha game" is a new wrinkle I didn't expect. It certainly explains why I see people who should know better talking up AI and LLMs like they're the second coming: it's like how stoners talk about weed as a cancer cure.
- nbittich 1y agoAt best, the only useful thing I can get from chat gpt, deepSeek, or grok is keywords I can search on Google to find a valid solution to my problem. I get so frustrated with them that I almost never use LLMs, except for fixing grammar or translating. It's not because I'm against them, but because they are useless to me and a massive waste of time.
- qwery 1y agoI am perpetually amused at the use of the word 'vibe' in 'vibe coding'. > it’s much more worthwhile to work with a plan composed of discrete tasks that could be explained to a junior level developer I'm sure this is a more effective way to get more usable results. But I really think anyone in this situation should be taking it as a kind of wake-up call. Mentoring/guiding a junior is work -- there's a significant cost. But it's a cost easily justified -- a lot of people find it intrinsically rewarding, you're training a colleague, etc.. What you're describing here, though, is all of the cost with none of the benefits and you're being the junior developer as well (you must be -- you're doing their work). You're alone, mentoring a chatbot that cannot learn or grow. > I’m beginning to think the problem runs deeper, and it has to do with the economics of AI assistance. > When charging by token count, there’s naturally less incentive to optimize for elegant, minimal solutions. ... Or maybe the tool just isn't that good / what you want. There doesn't have to be a conspiracy behind it. That is to say, I think the main point presented here is very unconvincing. If they could build a tool that could just do what you want in an acceptable manner, they would. People would obviously throw money at that. It produces verbose, comment-heavy, procedural code because that form reasonably effectively supports the nature of the generator. Procedural code is obviously well-suited to "what comes next?" style append-oriented editing operations. Verbosity eliminates nuance. OK, one more thing: > While we wait for AI companies to better align their incentives with our need for elegant code I’ve developed several strategies to counteract verbose code generation "While we wait" is the most depressing thing I've read in a while. It's just completely at odds with the field itself.
- replyifuagree 1y agoAs in all things, it depends. For example if you have an iron clad exit plan after you land that promotion for "delivering" a steaming pile for someone else to debug, and you have no sense of shame, then by all means!
- insane_dreamer 1y ago> In an effort to impress the user and over-deliver, LLMs end up creating a rat’s nest of ultra-defensive code littered with debugging statementsIn an effort to impress the user and over-deliver, LLMs end up creating a rat’s nest of ultra-defensive code littered with debugging statements This has been my experience as well. I have to continuously explicitly instruct Claude to be more concise (though that often leads to broken code ...). Gemini is even more verbose. I'm not sure in the end how much time is saved over simple good auto-completes (for method syntax lookups), other than for rote tasks like "replicate this pattern across X" (and even then it doesn't get it 100% right), and for quick answers to specific questions usually in frameworks I'm not that well versed it that I would have searched SO for ("how do I do X in Qt?", "how do I do the equivalent of Y in Linux on Windows")--but even then I have to verify the answer, whereas if it's a highly voted answer on SO I'll know it works (or there will be helpful comments to the contrary under the reply). Most of the "it can build X app for you automatically" comments I read remind me of "build a Rails app in 5 lines" (back in the day).
- black_13 1y ago[dead]
- cashiodrive 1y ago[flagged]