{"slug": "faulty-towers-vibe-sickness-and-the-vibe-bobsled", "title": "Faulty Towers, vibe sickness, and the vibe bobsled", "summary": "A blog post examines the phenomenon of 'vibecoding' and 'agentic engineering,' where AI-generated code accumulates without human understanding, citing Armin Ronacher's observation that LLMs enable continued development on incomprehensible codebases. The author notes Simon Willison's shift from advocating code review to admitting he no longer reviews AI-written production code, highlighting a growing acceptance of opaque AI-generated systems.", "body_md": "[Faulty Towers, vibe sickness, and the vibe bobsled](#f)\n\nI know. As if what the world needed was *yet another* blogpost about\nLLMs and AI tech. Yet there is a pile of things which have been on my\nmind, and I haven't seen them laid out elsewhere in the way I'm going\nto write them, and so here we go.\n\nI still don't use genAI to write my articles, fwiw. Here or anywhere else. These rambly words are my own.\n\n# The tower tilts\n\nI read\n[The Tower Keeps Rising](https://lucumr.pocoo.org/2026/7/13/the-tower-keeps-rising/)\nrecently, and it has stuck in my mind.\n\nThe piece is an observation, and\n[according to Armin on lobste.rs](https://lobste.rs/s/latr8d/tower_keeps_rising#c_erjpmu),\nit is not an advocacy for the state of affairs (though by running a\nvibecoding company, Armin is part of advancing this direction):\n\nFor context: I'm the author. I intentionally did not make a judgement if this is a good or bad thing, or if this is going to continue working. It's primarily an observation that with agents you can continue to make progress even when people on the team maneuvered themselves into situations where previously they would have needed to talk to each other.\n\nThe summary of Armin's post is effectively that vibecoded systems keep piling code on top of code, but in many systems things seem to keep building, but the abstractions keep piling on, but eventually no human can understand the codebase. But this is a new way of operating, because LLMs can \"explain\" a part of the codebase that no human can make sense of, and so continue building.\n\nEven if such systems continue to work, I find two things: 1) that now advocates for this state of affairs have pivoted into acknowledging that this is the end state of their systems and 2) they seem to be accepting it as the way forward.\n\nRegarding the first, I think it's very important to note that this is\n*a shift*. [Simon Willison](https://simonwillison.net/), probably the\nbest pro-genAI writer on the internet (sometimes, I think, giving\ncover for a lot of weaker writers, but is that Simon's fault?), at one\npoint coined the term\n[\"agentic engineering\"](https://simonwillison.net/guides/agentic-engineering-patterns/what-is-agentic-engineering/)\nand was very clear to\n[draw a line in the sand between agentic engineering and vibecoding](https://simonwillison.net/2025/Mar/19/vibe-coding/):\n\nWe also need to read the code. My golden rule for production-quality AI-assisted programming is that I won’t commit any code to my repository if I couldn’t explain exactly what it does to somebody else.\n\nIf an LLM wrote the code for you, and you then reviewed it, tested it thoroughly and made sure you could explain how it works to someone else that’s not vibe coding, it’s software development. The usage of an LLM to support that activity is immaterial.\n\nIn an *incredibly short* period of time, basically a year, Simon\nchanged published a fairly honest article titled\n[Vibe coding and agentic engineering are getting closer than I’d like](https://simonwillison.net/2026/May/6/vibe-coding-and-agentic-engineering/):\n\nThe problem is that as the coding agents get more reliable, I’m not reviewing every line of code that they write anymore, even for my production level stuff.\n\nI know full well that if you ask Claude Code to build a JSON API endpoint that runs a SQL query and outputs the results as JSON, it’s just going to do it right. It’s not going to mess that up. You have it add automated tests, you have it add documentation, you know it’s going to be good.\n\nBut I’m not reviewing that code. And now I’ve got that feeling of guilt: if I haven’t reviewed the code, is it really responsible for me to use this in production?\n\nIt's a great read, and what I will say is that I applaud Simon's\n*honesty* and willingness to self-reflect and challenge prior\nstatements.\n\nBut the gap of time between the\n[former](https://simonwillison.net/2025/Mar/19/vibe-coding/) and\n[latter](https://simonwillison.net/2026/May/6/vibe-coding-and-agentic-engineering/)\narticles are *stunningly* short, just slightly over a year.\n\nAnd Simon isn't alone. Just a year ago, I think the memetic shape\n*was* by and large that something along the lines of \"agentic\nengineering\" is what people could or should do, and, though I think\nmany people are hesitant to admit it, I think most people using these\ntools are tending towards vibecoding and not agentic engineering, just\nas Simon himself found himself pulled.\n\nBefore we look at the consequences to this, I think we should look at why it's happening.\n\n# The vibe bobsled\n\nAs far as I know I'm the only person who uses the term \"vibe bobsled\" and, well, I doubt it's a term that's particularly likely to catch on, but I find it personally useful.\n\n[Bobsledding](https://en.wikipedia.org/wiki/Bobsleigh), if you are\nunaware, is a particularly strange and interesting sport. It's a lot\nof fun, but you don't have a lot of agency in it. You sit in a\nbobsled, you go down an icy track, and really, there is only one way\n*to* go. But people can become experts in it, and can indeed measure\nthemselves against each others skills; it's an olympic sport, and I\nremember my own first encounters with bobsledding as a child, when my\nfather and uncle and aunts took me, and it was thrilling like a roller\ncoaster and intoxicating upon my first encounter.\n\nBut again, ultimately, there's only one place to go.\n\nThe vehicle is the LLM, you are the passenger. And I think the amount of agency people have over their journey is greatly reduced from what they feel like it is. More than just a slippery slope, it is a pre-crafted journey.\n\nAt the top of the chute, people tell themselves they're going to use\nthese tools as a kind of fancy autocomplete. As they descend, they say\nthey'll spin up some agents to explore ideas, but they'll write the\ncode themselves. Next their agents are generating the code for them,\nbut don't worry, but they'll review all the output. Soon they're\nplummeting downward and well, they don't actually review the code\nbeing spat out much anymore, but they trust the agents, heck maybe the\nagents are actually better coders than they are they say. And where\ndoes it go from there?\nFrom \"I don't even code anymore\" to\n[\"I don't even prompt anymore\"](https://lucumr.pocoo.org/2026/6/23/the-coming-loop/)?\n\nAt every stage of the process, the coder in question removes themselves from the process of producing code, and gives in towards a faith-based initiative of code production, that the LLM knows and does a good job of what it's doing. But what is the source of gravity pulling the sled along this icy chute?\n\nIt's simple. Generation is not the slow part of coding. Theory-building\nand review are. And plausible-enough things are extremely hard to debug\nand understand. But the machines are so *fast* at producing things. If\nyou are going to review their work, you aren't really taking advantage of\ntheir most powerful property, which is speed. But theory-building and\nreview are also *the programmer's most important role*.\n\nTo illustrate just how hard it is to detect and review problems with\nsomething which *appears plausible*, let's look at Ka-Ping Yee's\nremarkable dissertation,\n[Building Reliable Voting Machine Software](http://zesty.ca/pubs/yee-phd.pdf).\nIt is a wonderful read, and highly approachable.\n\nIn the section \"What makes software hard to verify?\", Ka-Ping recognizes several major reasons why software is hard to verify: number of components, complex interactions, far-reaching effects, and nonlinearity. Notably, all of these problems are exacerbated by the patterns of code generation by LLMs. Still, let us leave that aside.\n\nKa-Ping constructs a model voting machine, and decides to see how hard it would be to verify that we know it behaves correctly. To push that exploration to its furthest, Ka-Ping Yee and David Wagner try an interesting experiment:\n\nDavid Wagner and I decided to insert three bugs into Pvote to see if the reviewers would find them. We inserted what we thought would be an “easy” bug, a “medium” bug, and a “hard bug” to find, and chose each bug individually in such a way that an insider could conceivably exploit the bug to influence the results of an election. [...]\n\nWe decided to insert all of these bugs in a 100-line region of a single file, lines 11 to 109 of Navigator.py, and told the reviewers to look in this region. We did this both because the navigator was the most interesting in terms of the program logic and because we knew the reviewers would have limited time. The new version of the code that we gave the reviewers contained all three bugs, but we did not tell the reviewers how many bugs there were.\n\nYoshi Kohno, Mark Miller, and Dan Sandler participated as reviewers on the third day of the review. Dan was very familiar with Python and found the “easy” and “medium” bugs quickly, within about 70 minutes. Yoshi Kohno and Mark Miller found the “easy” bug after about four hours of reviewing. None of the reviewers found the “hard” bug.\n\nIan Goldberg and Yoshi Kohno participated as reviewers on the fourth day of the review. Ian Goldberg also found the “easy” bug within about two hours; none of the other bugs were found on the fourth day.\n\nThe reviewers spent a total of about 20 reviewer-hours focused on the task of finding the bugs in this 100-line section of Navigator.py.\n\nKa-Ping chose from a highly seasoned group of reviewers who were even\ndeeply familiar with security threats. Mark S. Miller has been a\npersonal mentor to me throughout my career, and is one of the\nprogrammers I have learned most from and studied the work of most\nclosely. I talked with him about the experience at one point. He\nremarked on how it took a significant amount of time to find the easy\nbug, hours to find the medium bug, and that nobody could find the hard\nbug... but the big observation (which was said to me personally, and\nis not recorded in the dissertation) was that \"the astounding thing is\nthat once the bugs were pointed out, we all agreed that they were\nretroactively obvious, and that we *should have* been able to find\nthem!\"\n\nIf some of the best programmers in the world struggle to find bugs\nthey even *know must be there* within a *100 line program*, there is\nsimply *no hope for humans to review the volume of output from LLMs*.\n\nAnd so there is only one thing to do: don't bother. At each step, remove yourself. You tell yourself you won't, but you do. You give in to the chute and the shape of the vibe tunnel, and down you go.\n\n# Vibe sickness and the colonial settlers of the uncanny valley\n\nThe term \"AI psychosis\" is thrown around a lot these days to describe\nanyone or any state of poor behavior or outcomes due to genAI\nusage. But the original description of \"AI psychosis\" was closer to\nsomething clinical, a description of people *quite literally*\nexperiencing psychosis from encounters with chatbots which reaffirm\nfar too much of the user, spinning them into spaces of delusional\ndetachment from reality.\n\nBut we should have *something* to describe the general sense of\nunwellness that seems to be befalling this world, and the best phrase\nof which I first saw in a\n[post from Glyph](https://mastodon.social/@glyph/116603752031736039):\n\nOn the way home from #PyConUS 2026. Quite an experience this year; very intense. No point in sugar-coating the part where there is a pervasive vibe-sickness, open source is suffering a massive sustainability crisis, slop security PRs are overwhelming everyone (etc etc). But there was a lot of hope, a lot of energy, a lot of effort toward mutual understanding, and (surprising to me) a lot of\n\nappreciation. Including for my own work, both writing and coding.\n\nI like the phrase \"vibe sickness\", and if you aren't speaking of a form of literal psychosis, I think it's a better phrase.\n\nVibe sickness is everywhere... heck, perhaps we are on the verge of,\nif not experiencing, a *vibe epidemic*. Everyone complains of slop,\nand yet nobody using these tools wants to self-describe their outputs\nas slop. Yet slop seems to be everywhere, and infecting one's everyday\nexperience: posters of food at your local restaurant that have\nplausible and yet incomprehensible designs, the helpdesk support\nchatbot you wish you could make physically manifest so you could throw\nit off the edge of a cliff,\n[age verification code](https://neuromatch.social/@jonny/116935681120949448),\nand if you're a maintainer of an open source project, slop issues and pull\nrequests.\n\nThe thing is that all of this tooling is useful for *some* things, but\nthe term \"genAI\" points at exactly what it's *worst* at: generating\nthings. If we want to talk about *finding problems*, it's a different\nstory. But even leaving aside the quality issues of the growing and\nwavering tower, there comes the problem of lack of understanding of\nhow it is built, constructed, and maintained.\n\nThe worst part of all this is you can't opt out. A colleague or an\nopen source contributor sends you a \"generous contribution\" that is\nabsolutely slop and certainly *not* understood by the person who\nsubmitted it. You're left sitting there, parsing whether or not you're\ngoing to be rude even to ask if this is LLM generated, or to\nunwittingly become a user of vibecoding workflows yourself by\nindirectly interacting with the agent through trying to respond to the\nissue/PR.\n\nYou can't escape.\n\nTo quote Glyph again:\n\nProtesting LLMs by refusing to use any software that includes them feels like attempting to protest the introduction of tetraethyl lead into gasoline by refusing to breathe until everyone stops putting it in their cars. So I am drawing my personal moral lines in such a way that I will probably accept this.\n\nBut please don't mistake this for excitement about huffing a bunch of vaporized lead.\n\nWell put. In the meanwhile, the\n[uncanny valley](https://en.wikipedia.org/wiki/Uncanny_valley)\ncolonizes our world and transforms it into its own.\n\nBut there is a rot growing beneath our feet and within our walls as\nour world is swapped out with systems nobody understands. And I fear\nwhat it's going to be like to recover from this all, the price we do\nnot even yet realize we are going to have to pay. For this reason, any\nproject that chooses *not* to engage with current genAI stuff, I tend\nto gain respect for.\n\nBut perhaps you can't opt out from aiding the problem. Your work won't let you, you're stuck in some situation... I don't mean to judge, but I do mean to end with a perspective.\n\nSometimes I sit as the passenger of a car and watch the driver of said car get angry at someone biking on the road. It feels bad, because sometimes I bike on the road, and without sufficient infrastructure, bicyclists risk getting hit by car doors parked on the side of the road, squeezed out by impatient drivers, etc.\n\nI also drive. When I do, and there's a bicycle in front of me, I pause, and as the world broils to death, I take a moment to be thankful for their presence, and to think about how we could change the shape of the terrain to allow bicyclists to participate more safely (which would also help me drive more easily too, or choose to bike when I can).\n\nMay we not give up on ourselves, and not lose faith in our ability to participate towards building a better world.", "url": "https://wpnews.pro/news/faulty-towers-vibe-sickness-and-the-vibe-bobsled", "canonical_source": "https://dustycloud.org/blog/faulty-towers-vibe-sickness-and-the-vibe-bobsled/", "published_at": "2026-07-17 19:53:06+00:00", "updated_at": "2026-07-17 20:22:38.193339+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-agents", "ai-ethics", "developer-tools"], "entities": ["Armin Ronacher", "Simon Willison", "Claude Code", "Lobsters"], "alternates": {"html": "https://wpnews.pro/news/faulty-towers-vibe-sickness-and-the-vibe-bobsled", "markdown": "https://wpnews.pro/news/faulty-towers-vibe-sickness-and-the-vibe-bobsled.md", "text": "https://wpnews.pro/news/faulty-towers-vibe-sickness-and-the-vibe-bobsled.txt", "jsonld": "https://wpnews.pro/news/faulty-towers-vibe-sickness-and-the-vibe-bobsled.jsonld"}}