\

The Tower Keeps Rising

234 points - today at 4:57 PM

Source
  • tekacs

    today at 5:42 PM

    I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear.

    I feel like that gives an even more literal tower-rising metaphor, and that's what it feels like people using agents naively (and software engineers of lower skill or earlier-career), end up violating.

    Agents are getting better at folding things into themselves, especially if you direct them to... but unfortunately I've found that the architectural instincts, even of Fable and 5.6 Sol, are still wildly behind what I reflexively achieve, say.

    For sure there is an ability to have agents go back over work and try to fold it into better and better abstractions until it's sort of annealed into something good. I've done something similar on codebases that I have, but the 'high reaches' of architecture with great _prediction of how the software will evolve in the future_ in _subtle_ ways – those are, for now, out of reach of agents.

    There is a part of me that wonders if it's partly just how much they can hold in their head right now, though. Even with the greatest articulation and high density of feeding them, the current setups don't allow them to hold a high-quality, sparse, 'zoomable' model of the world in their head that well yet, which we can do pretty well.

    But the fact that I'm talking about it in terms of that kind of subtlety is itself promising, I guess?

      • arkmm

        today at 9:08 PM

        I think part of the problem is the context windows for humans are actually much smaller than what an LLM can keep track of today. The small context window of humans is a feature that forces modularity and abstraction in software engineering so that you can decompose what you're working on into something that can fit into your head. But since LLMs can fit so much more in their head, so to speak, they don't have this same incentive, and you get these

        • Animats

          today at 5:51 PM

          The upper bound on program complexity used to be the power of the human mind. "Vibe coding" can break through that barrier. But not because the problem being solved needs that complexity. Because the process does not drive itself towards compact abstractions. It's the AI-powered version of the scaling problem Brooks described back in "The Mythical Man-Month". The combinatoric problems get worse with scale. Concretely, multiple similar implementations of roughly the same thing appear in different parts of the project. This is a known problem of vibe coding now.

          We need some way to make AI-driven coding strive for parsimony.

            • fooqux

              today at 9:03 PM

              > The upper bound on program complexity used to be the power of the human mind.

              Maybe for simple one-person projects. We've long since developed methods and models to allow us to make things bigger than ourselves. Linux, SAP, etc. These software projects are not held in the mind of a single developer. But we use structure, rules, and other tools so that the pieces still fit together.

              • conartist6

                today at 5:59 PM

                Why would it? It has optimized what it was built to optimize: this is the token-selling industry. Take note that the people hawking the dream of a gold rush are not actually mining but selling shovels

                  • ashdksnndck

                    today at 7:04 PM

                    Same issue happens in models trained by organizations who aren’t selling tokens. I believe it’s because being parsimonious is simply harder. Achieving the task at hand independently and declaring the job done is easier than building an abstraction and reconciling between every use case.

                    • nomel

                      today at 8:49 PM

                      All the open weight models, that are given away for free, across orgs and even nations, are using the same methods to achieve high performance.

                      What's more profitable, optimizing for inference time or optimizing to increase inference time by increasing token count?

                      • tekacs

                        today at 8:19 PM

                        Labs are trying to make long-horizon work. Even if you're a coding agent, adding more and more surface area is distracting to that goal. There is reason that RL over long traces should, at least in principle, optimize for building in ways that help the result fit in the model's context window.

                        A meaningful risk of course is that the tools available to the model (ripgrep + fancier semantic approaches) allow it to do a good job of reasoning over things much larger than its context window, and so it doesn't pay the penalty sufficiently to fix it.

                          • conartist6

                            today at 8:33 PM

                            Does that not sound a little silly to you when you say it? Should I invest in becoming a memory athlete as a way of becoming a better software engineer? ...or should I learn how to build and use tools?

                    • TacticalCoder

                      today at 8:40 PM

                      > "Vibe coding" can break through that barrier. But not because the problem being solved needs that complexity. Because the process does not drive itself towards compact abstractions.

                      It's the infinite AI monkeys at a computer keyboard phenomenon.

                      Or the car on the highway that bumps left and right on the guardrails until, eventually, it arrives at its destination and nearly everybody is amazed at that great success.

                      The AI kool-aid drinkers are going to answer: "but that's how human code too".

                      And I'm really not sure about that.

                        • bluefirebrand

                          today at 8:45 PM

                          It's perhaps how some humans code but frankly if you have those people employed to build software for you, you have big problems

                            • pishpash

                              today at 9:06 PM

                              That's some idealistic nostalgia. Software is generally poorly built today, and it's evidently not big enough a problem to fix.

                  • VMG

                    today at 8:23 PM

                    Isn't this just an effect of what the LLMs are RL'ed for? Solving short-horizon tasks.

                    I assume one can't benchmaxx multi-year long efforts, clean architecture, taste etc as easily as these "make tests pass" tasks

                    • Cthulhu_

                      today at 8:49 PM

                      I have a theory (armchair take here lmao) that AIs are trained on public code, but the biggest codebases are not public.

                      Although I suspect models from Google, Facebook and Microsoft can be trained on their massive internal codebases. Whether they are is another question.

                      • throwaway27448

                        today at 7:59 PM

                        > the lines have to clear.

                        Sorry, the lines have to clear what? Surely there must be some kind of constraint on "lines" that they have to overcome.

                          • edoceo

                            today at 8:15 PM

                            The lines (rows) in Tetris have to become complete and then disappear to make room for the new falling pieces.

                            In code the thing has to become stable, can't just keep packing more and more noise onto it.

                              • tekacs

                                today at 8:16 PM

                                Absolutely this: and it needs to ideally become the kind of set of abstractions that mean that every new thing added uses less net-new surface area than it would without them.

                            • today at 8:11 PM

                              • tekacs

                                today at 8:15 PM

                                I mean that at the bottom of the Tetris board, the lines need to vanish so that the Tetris board keeps moving downward and doesn't grow unbounded.

                            • Gud

                              today at 6:49 PM

                              Do you believe "micro services" can make a comeback? local daemons with an exposed API, each daemon vibe coded?

                                • Cthulhu_

                                  today at 8:50 PM

                                  What problem would it solve? They're still part of a larger system ultimately. Sure, smaller codebases with more focused scope can be good for e.g. human individuals and LLMs, but there's multiple ways to achieve that that don't require a network boundary.

                                  • jdlshore

                                    today at 7:49 PM

                                    Microservices don’t reduce complexity, they just move it to the interactions between services. You have the same fundamental design problem.

                                    In other words, if you can’t design a modular monolith, you can’t design a set of microservices.

                                    • swiftcoder

                                      today at 6:57 PM

                                      Unless we are planning to deploy them all individually to an expensive serverless platform like Lambda, the coordination challenges and overprovisioning are going to more than outweigh whatever architectural benefit you reap (in human-centred development, micro services are solving an entirely different problem - Conway's Law)

                                      • layer8

                                        today at 8:25 PM

                                        Microservices are about separate deployment. Regarding separating the development/maintenance of components, you can achieve that in a monolith by composing it out of corresponding modules/libraries with defined APIs. That’s good practice anyway.

                                        • throwaway27448

                                          today at 8:00 PM

                                          Sure, why not? The same reasons they succeeded originally will work just as fine now.

                                          • stavros

                                            today at 6:49 PM

                                            Please no.

                                              • jambalaya8

                                                today at 6:59 PM

                                                Lemme guess, you were in favour of monolithic systemd too?

                                        • stavros

                                          today at 6:49 PM

                                          Agreed, and ever since LLMs started being able to write competent code, I've noticed a massive difference in quality on codebases where I knew the technology, and ones I didn't. This is because I can much more efficiently steer the LLM on e.g. backend code, which is my expertise, vs yoloing everything on mobile, where I have no idea.

                                          The codebases using technologies I have no idea about tend to quickly become unmaintainable and buggy, because the LLM still doesn't make good architectural choices, but the codebases that use technologies I'm familiar with basically never devolve into unmaintainability.

                                          The difference between the two is massive, and that's why I think that a competent engineer steering an LLM in their area of expertise gets two orders of magnitude more productive, whereas someone steering an LLM in an area they know nothing about are basically producing tech debt at the speed of thought.

                                            • maest

                                              today at 7:44 PM

                                              > two orders of magnitude more productive

                                              Shipping 100x more features per day?

                                                • Cthulhu_

                                                  today at 8:51 PM

                                                  100x faster towards becoming an email client

                                                  • stavros

                                                    today at 8:27 PM

                                                    Yes.

                                                      • Avicebron

                                                        today at 8:49 PM

                                                        Do you have specifics? It would be interesting to see what kind of improvements are possible.

                                                          • stavros

                                                            today at 9:01 PM

                                                            I just see in my usage that I can release tens of features a day, whereas I'd be able to release one or two a day usually. I don't know if it's 100x, but it's definitely more than 10x.

                                                            I've written up my process here:

                                                            https://www.stavros.io/posts/how-i-write-software-with-llms/

                                                            The biggest thing to get right is to let the LLMs do what they're great at (code implementation from very detailed specs, and code review), and you do what humans are great (architecture and making sure the high level of the implementation is sane). That way, you get the best of both worlds, and a lot of speed at high quality.

                                        • HiPhish

                                          today at 8:01 PM

                                          > But it’s not the biblical story. At Babel, the loss of common language stops construction whereas in AI-assisted engineering, construction can continue after shared understanding has already collapsed. The lack of an immediate failure is what makes it curious and a bit disorienting. The tower does not fall, and so we do not notice what was lost. It just keeps rising.

                                          I don't know whether the author thinks this is a good or a bad thing, but in my eyes it's clearly a bad thing. Intelligence is knowing that a tomato is a fruit, wisdom is knowing not to put it in a fruit salad. AI is the the ultimate form of intelligence with zero wisdom. Actually, it's not even intelligence, it's an illusion of intelligence. If there is no human who can understand what the AI is doing it's time to stop and accept that we do not have the wisdom to contain what we are building.

                                            • robocat

                                              today at 8:53 PM

                                              > Intelligence is knowing that a tomato is a fruit

                                              Intelligence is learning to avoid using childish cliches, unless your intention was to mislead. Categorisation and understanding dependencies are hard enough problems already.

                                              At the supermarket or taxation (Nix v. Hedden) tomatoes are a vegetable.

                                              • geraneum

                                                today at 8:49 PM

                                                I have this funny feeling that someone’s probably gonna ask their favorite frontier LLM about the fruit salad thing to refute your point.

                                            • ssivark

                                              today at 6:19 PM

                                              The core thesis of this essay is reminiscent of the Lisp Curse [1] / Bipolar Lisp Programmer [2].

                                              It's been a few years since I read these, but if I recall the argument there, it was that Lisp makes it so easy to build stuff and scratch exactly your own itch, that there's no real strong push for lisp programmers to come together and collaborate to build non-trivial and general purpose artifacts. And that is why the landscape of public lisp software is poorer as a result, compared to languages which demand much more effort to get anything substantial done.

                                              Armin seems to be making a very similar point about AI coding.

                                              [1] https://www.winestockwebdesign.com/Essays/Lisp_Curse.html

                                              [2] https://www.marktarver.com/bipolar.html

                                                • baq

                                                  today at 8:04 PM

                                                  Au contraire if typescript and rust didn’t steal the whole show it’d be a great time to be a lisp LLM pilot: agents can explain pretty much everything without any confabulations nowadays, so the understanding problem essentially goes away, if you care, which is exactly the point of the article if you ask me.

                                                    • ares623

                                                      today at 8:38 PM

                                                      But at that point why use Lisp (which LLMs have been so far still to struggle to get matching parens every now and then)

                                                      What made Lisp cool and powerful goes away when you do it through an LLM.

                                                        • baq

                                                          today at 8:43 PM

                                                          lisp can do things that make the currently accepted as standard best practice software engineering processes redundant, but it needs a different set of processes which I’m not sure are written about anywhere since apparently nobody is running with e.g. hot patching of application code

                                                  • zephen

                                                    today at 8:00 PM

                                                    > compared to languages which demand much more effort to get anything substantial done.

                                                    It is not clear at all to me that other languages "demand much more effort" for the same end result.

                                                    It is clear that many non-lisp programmers value syntax, and many lisp programmers don't. Even many people who programmed enough lisp to have their minds blown and expanded still prefer not to program in lisp. I'm still awaiting psychological studies on this, but the rift is so large, I think there may be some significantly different brain processing going on between the two groups.

                                                    To your point, yes, it is also clear that, to the extent that lisp can match the productivity of other languages, whether it exceeds them or not, one of the tools that is needed to achieve this productivity boost in lisp is heavy usage of homoiconicity, and this results in every serious lisp program being a collection of DSLs, each of which is only understood by one person or very few people.

                                                • sixtyj

                                                  today at 5:33 PM

                                                  > There is the appealing idea that AI-assisted programming means better tools which lets us build more ambitious software. That is certainly true at the level of the individual and without doubt a developer with an agent will be dramatically more capable of changing a codebase. But large software projects have never been limited only by how quickly an individual can produce code. They are limited by how well people can coordinate their understanding of the system they are changing.

                                                  So true.

                                                  Since Nov 30, 2022 everything has become… more complex.

                                                    • overgard

                                                      today at 6:40 PM

                                                      I feel like with software, things have gotten way too complicated (just layer's upon layers upon layers). But to deal with that complexity, now we're using something that just creates WAY more complexity. I've been coding for a while, and I remember the 90s and early 00s where people could make pretty powerful applications with like visual basic or php with essentially no formal training. Those technologies weren't great, but they were really simple and easy to pick up. In contrast, if you try to pick up web development or desktop app development today, it's absolutely overwhelming. Like, something like React is useful but the amount of things you need to know to use it properly is pretty high.

                                                      I think introducing AI to deal with this is overall a mistake though. We're just adding more complexity on top of the existing complexity. At best, it's a massive waste of hardware. At worst, we'll probably have agents introducing as many bugs as they fix as they also drown in complexity, and a lot of stuff built using these techniques are going to be fragile garbage while the overall skillset of humanity diminishes because people aren't learning the skills anymore.

                                                      Fundamentally, software does not need to be this complicated and it's a solvable problem, but it does require people that care about craftsmanship.

                                                        • throwaway219450

                                                          today at 8:17 PM

                                                          I had a discussion with folks at work about what information is worth retaining in the face of AI doing everything for us. A lot of what we have in our heads to qualify as "domain experts" is pretty esoteric. How to invoke command line tools, gotchas because library A uses one convention over library B, AWS vs GCP; so much is specific to a tool rather than a method. There are also a lot of entrenched tools that are effectively unfixable due to the risk of breaking changes, so you have to shrug and accept + learn that's how it works.

                                                          Catch-22 is it's still important to know the fundamentals so you know what to ask for, but if you don't know the esoterica, the model is eventually going to make an assumption and screw things up. And the models don't have much taste either in prose, or in coding/comment style.

                                                          • SoftTalker

                                                            today at 7:39 PM

                                                            And what's ironic is that a lot of those layers and complexity were added with the stated goal of making it easier for average developers to build applications.

                                                            • sixtyj

                                                              today at 7:57 PM

                                                              Amen.

                                                              Drowning in complexity. Paralysis of choice.

                                                              I read a comment (joke) that if you want to follow all LLM development you should have to be unemployed.

                                                          • lelanthran

                                                            today at 7:11 PM

                                                            > They are limited by how well people can coordinate their understanding of the system they are changing.

                                                            It's not really news, though. Programming as Theory Building (Peter Naur) was published in the 80s, I think?

                                                            Maybe the younger entrants to this field never came across it, but even if you never came across it, it was common knowledge amongst experienced devs that understanding of the system you are about to change is crucial.

                                                              • sixtyj

                                                                today at 7:29 PM

                                                                The complexity of coordinating a project involving more than one entity is, of course, an issue across all industrial sectors—just look at the construction industry.

                                                                Thanks for mentioning Peter Naur’s Programming as Theory Building (1985).

                                                                I would add Fred Brooks and his The Mythical Man-Month.

                                                                • jgalt212

                                                                  today at 7:33 PM

                                                                  > It's not really news, though. Programming as Theory Building (Peter Naur) was published in the 80s, I think?

                                                                  The news is that Agentic Programming has made this always challenging task even more challenging.

                                                              • calvinmorrison

                                                                today at 5:50 PM

                                                                I don't know. some stuff has gotten less. Major databases now ship effective HA tooling, microservices seem on their way out, structured databases seem to be back in instead of NoSQL.

                                                                HTML and pre-rendering are back in, HTMx, liveview

                                                                The degaussing of CSS and the hacks we did, hell i was trying to explain how we debugged web pages in IE6 to a younger staff member today.

                                                                Some things are more complex, some things got good enough to make them less complex.

                                                                  • endorphine

                                                                    today at 6:37 PM

                                                                    A database with built-in HA is a significantly more complex system than one without it.

                                                                      • hilariously

                                                                        today at 6:59 PM

                                                                        And one built without it and not coordinating with it is often much harder to reason about when you bolt it on later.

                                                                    • paulryanrogers

                                                                      today at 5:57 PM

                                                                      > Major databases now ship effective HA tooling

                                                                      Which ones? PostgreSQL doesn't have HA in core.

                                                                        • calvinmorrison

                                                                          today at 5:59 PM

                                                                          MySQL 8, but upon review that was 2018. 5.7 had some but it's certainly improved overall since then as well

                                                                  • pixl97

                                                                    today at 6:01 PM

                                                                    >Since Nov 30, 2022 BC everything has become… more complex.

                                                                    FTFY

                                                                    Increasing complexity is the story of mankind. It's the story of civilization.

                                                                    Someone from 20,000 BC would wander around the earth trying to find food, trying not to freeze, and trying not to get eaten. Someone from 5,000 BC would be trying to grow food, hoping it rains, and hoping disease didn't wipe out the village. The second one increases the complexity from all the systems required to manage people and keep the land growing. Today the vast majority of people on earth don't grow their own food at all, and instead are busy in some way managing the complexity of a large society.

                                                                    Someone from 1970-80 would think our software from pre-llm days was vastly more complex. They'd just code directly to the hardware with no abstraction layer. Now almost no one does that. We abstracted the hardware away in most cases. With cryptography libraries for the vast majority of people it's complexity is abstracted away and mostly people are told "don't try to write your own crypto because you will fuck it up".

                                                                    The question now becomes, how quickly will LLMs be able to coordinate their understanding of the system they are changing?

                                                                      • qsera

                                                                        today at 6:38 PM

                                                                        >LLMs be able to coordinate their understanding

                                                                        I think the next time I see "LLMs" and "Understanding" in the same sentence, I am going to lose it....

                                                                          • pixl97

                                                                            today at 7:19 PM

                                                                            >I am going to lose it

                                                                            Then I think you should check in with your favorite mental health provider before you become a danger to yourself or others.

                                                                            Simply put LLMs do understand some things within their crystalized intelligence. Your anthropocentric mind may not accept this, but one day it will. As LLMs have a very short context window in relation to their stored knowledge they have very limited plastic intelligence to change their minds or adapt. All of which is flushed away at the end of a session. It would be like living without the ability to turn your short term memory into new long term memories.

                                                                            I would gladly use another word for what LLMs can do, but the world at large has not adopted any. The definitions we use around intelligence, comprehension, understanding, consciousness, and sapitence have already been failing us for some time before LLMs as our scientific understanding of biology has increased over the decades as it is. I am one for more exacting definitions when they exist, but humans seem to barely understand the inner workings of our own minds, in large such words escape us.

                                                                              • irishcoffee

                                                                                today at 7:32 PM

                                                                                I'll meet you in the middle: an LLM "understands" words in the same way a toddler understands the phrases they say. "My want cookie!" The toddler has zero comprehension of what any of those words mean, but they know that saying them in that order might result in something desirable.

                                                                                An LLM has zero understanding of "my", "want", or "cookie" because an LLM has no id/ego, has never felt desire, and has never eaten a cookie.

                                                                                  • pixl97

                                                                                    today at 7:55 PM

                                                                                    I believe you've made a category error in understanding, um, understanding. You've tied emotion into it. This to me are entirely different concepts where both happen to be wrapped up in meaty flesh that drives us humans. Now, these concepts are very important in sociology and human understanding of how we behave, but they also may have zero importance for the domain that encompases all understanding.

                                                                                    HN would commonly recommend reading the book Blindsight here.

                                                                                    Moreso, all you've done is recreate the Searle Chinese Room thought experiment which gets bounced around with no means of deciding if it reflects reality or not.

                                                                                    • CamperBob2

                                                                                      today at 8:11 PM

                                                                                      I'll meet you in the middle: an LLM "understands" words in the same way a toddler understands the phrases they say.

                                                                                      How'd your toddler do at IMO last year?

                                                                              • a2dam

                                                                                today at 7:35 PM

                                                                                You should be less upset over semantics that everyone else has usefully settled on. LLMs understand things fine.

                                                                            • ButlerianJihad

                                                                              today at 6:35 PM

                                                                              > IBM has entered the chat

                                                                              https://en.wikipedia.org/wiki/VM_(operating_system)

                                                                      • apinstein

                                                                        today at 5:48 PM

                                                                        > The shared language of a software project is not English or Python but it is the common understanding of what its concepts mean, where the boundaries are, which invariants matter, who owns what, and why the system has the shape it does. This language is rarely written down in one place. It lives partly in documentation and code, but also in code review, conversations, arguments, and the experience of having to explain a change to somebody else.

                                                                        This is so true. I am a big fan of Christopher Alexander’s “Pattern Language” concept, which addresses this exact problem! In fact he recommends developing your own pattern languages for your own domains (which of course led to the famous GoF Design Patterns book).

                                                                        I have been experimenting with a “Pattern Language” skill which instructs the AI to maintain 3 pattern languages for every project. One in the business domain, one in the product domain, and one in the technical domain. It is working really well. It is always super cool to see it reference the pattern languages during planning and curate them during implementation and review.

                                                                        I credit using it with keeping my 100% ai-coded projects well organized, aligned across domains, and easy to work on.

                                                                          • ucyo

                                                                            today at 9:08 PM

                                                                            Would be interesting to see an example. I heard a couple times that code maturance is very similar on how a city grows naturally, but never seen an example.

                                                                            • whattheheckheck

                                                                              today at 6:49 PM

                                                                              Do you have any github examples publically available?

                                                                          • alwa

                                                                            today at 5:55 PM

                                                                            I come back to Babel and the Bruegel image too, although taking from it a little less optimism.

                                                                            I feel these systems rising and sprawling with wee myopic agents developing out their little corners of this unknowably vast whole… a tower with 50 parapets on one side and some wacky cantilevered maiden tower on the other, and a very serviceable adobe roof over some patio for god-knows-why, and thatch over the landing next to it…

                                                                            Some grotesque fatberg of designs that make sense at the level of individual design efforts, but that lack the fractal sort of levels of policy and judgment that unify the overall enterprise.

                                                                            The overall language, as it were.

                                                                            And language takes discipline to establish and maintain through any sufficiently large group of people—witness the company-speak or army-speak of pretty much any successful organization.

                                                                            We feel like we’ve conquered the problem of talking the same language as our “Gastown Mayors” (who in turn are talking the same language as their “polecats” and so on all the way down the chain of golems)… but it’s only when it’s all built that the good Lord will humble us… that we’ll realize the understanding we thought we’d transmitted perfectly from our thrones wasn’t quite so shared as we’d imagined.

                                                                            • zemo

                                                                              today at 6:40 PM

                                                                              Anakin: "a developer with an agent will be dramatically more capable of changing a codebase"

                                                                              Padmé: "For the better, right?"

                                                                              Anakin: (gazes in silence)

                                                                              Padmé: "For the better, right?"

                                                                            • jeffreyrogers

                                                                              today at 5:45 PM

                                                                              My comment is not directly responding to the essay, but it got me thinking about about how agentic programming is much more akin to management than it is to actual programming. Managers generally only have a high level idea of what ICs are working on and often don't have the time, bandwidth, and in some cases ability to understand everything the ICs they're supervising are doing. As more and more software gets written agentically the role of software engineer becomes less technical and more managerial.

                                                                                • snarf21

                                                                                  today at 5:54 PM

                                                                                  It feels to me like I'm stuck doing code reviews for a junior dev all day so I use it as little as possible and mostly to look for things I may have missed.

                                                                                    • gwbas1c

                                                                                      today at 6:19 PM

                                                                                      It's great for "mechanical" changes.

                                                                                      For example, yesterday I came across some unit tests that didn't have error messages in their assertions. Normally, it takes me ~10 minutes to fix a handful of tests in this situation. In this case, I gave a 2-3 sentence prompt, went to the bathroom, and reviewed the result after I washed my hands. Saved me a bunch of time!

                                                                                      I encourage you to accept a feeling of "imposter syndrome" when using it, and keep trying new things with it. Don't feel like you have to be hands off, except when you're confident that you can be. (IE, if you think you need to spend 30+ minutes on mindless refactoring, see if you can explain it to an agent and then look at HN while it runs. You might get a good result, otherwise, it probably was time for a break anyway.)

                                                                                      BTW: It's important to try different models. The Claude 5.0 models are slow and give me bad results, so I'm sticking with 4.x for now.

                                                                                      • BatFastard

                                                                                        today at 7:59 PM

                                                                                        Use the force Luke!

                                                                                        I finally learned to let go of the code. I dont even run my C++ editor anymore.

                                                                                        I run frequent code and architectural reviews. Its awesome.

                                                                                • prymitive

                                                                                  today at 5:26 PM

                                                                                  It used to be that you need a good reason to make huge refactorings, because it’s often so much work. Now agent can rewrite half of your code if your prompt is vague enough and you don’t actual try to review it all. And so the “soul” of a program can change dramatically every single day. It’s both great and very much not so.

                                                                                    • Xirdus

                                                                                      today at 5:51 PM

                                                                                      The biggest obstacle to huge refactoring has always been minimizing the risk of bugs, not losing any features, and ensuring compatibility with the existing ecosystem. The reason it's become easier in the age of AI is because we stopped caring about these things.

                                                                                        • sarchertech

                                                                                          today at 6:34 PM

                                                                                          Yep. That’s what people are forgetting. If you have an application that many people depend on to do real work, to make money, you won’t survive if you allow AI to constantly make huge changes.

                                                                                          Your test suite doesn’t cover all workflows. It doesn’t cover every combination of actions a user can take. So every big AI refactor while change some of those.

                                                                                          If this is happening frequently, your software will feel like a janky piece of unusable crap.

                                                                                      • today at 5:57 PM

                                                                                    • sigbottle

                                                                                      today at 8:35 PM

                                                                                      If humans are still around by the end of the century: previously shunned philosophical movements such as pragmatism will actually become mainstream again.

                                                                                      The most interesting problems arise when you don't try and force one shared standard upon everybody yet still try and play nice.

                                                                                      Alternatively, power could concentrate and the winners get to decide what is valuable and not, thus cutting down the space of possible complexity by construction.

                                                                                      • cheschire

                                                                                        today at 8:21 PM

                                                                                        Douglas Adams basically predicted Wikipedia on smartphones, and I suspect we are only a few years away from babelfish ear buds.

                                                                                          • Tagbert

                                                                                            today at 8:25 PM

                                                                                            Apple AirPods and Google buds both can do automatic translation. It's still a little too slow and is a little clumsy to use but it's getting better fast.

                                                                                        • ddp26

                                                                                          today at 8:21 PM

                                                                                          > I can ask an agent to add OAuth, you can ask one to add caching, and somebody else can ask one to rebuild the database from first principles and make the UI pink. Each change can be reasonable in isolation.

                                                                                          But this is just bad vibecoding? This would be bad if humans did it too. With agents or humans, you need to coordinate.

                                                                                          • luciana1u

                                                                                            today at 8:35 PM

                                                                                            the tower keeps rising but the elevator pitch for every new floor is 'it solves the problems created by the floor below it'

                                                                                            • trjordan

                                                                                              today at 6:12 PM

                                                                                              The agent will always fill in the gaps in your understanding. It's not a compiler. It's categorically different from any of the other ways we've built software.

                                                                                              I'm not sure reading code is coming back. The ritual of reading code must come back, because that's the only way to build products that don't collapse under their own incoherence, both technically and visibly.

                                                                                              "just ask Claude" is fine, but it's not the end state

                                                                                              • thadk

                                                                                                today at 7:29 PM

                                                                                                Three or so years ago, Omar, the creator of DSpy pointed out on Twitter that ~LLMs get better most by better internal collaboration. Wish I could find it.

                                                                                                It seems to me that LLMs and particularly chatbots have already allowed for bigger scale collaboration within the LLM companies versus what was possible within the prior cohort of big platform companies.

                                                                                                Has the result just been taller towers, or actually a change of what is possible?

                                                                                                • conartist6

                                                                                                  today at 5:27 PM

                                                                                                  Does it really keep rising? Many of my fondest memories of technology come from times past...

                                                                                                    • CobrastanJorji

                                                                                                      today at 5:48 PM

                                                                                                      I interpret "keeps rising" negatively. Changes keep getting made, certainly. The AIs will perhaps never fail to fulfill your feature request. But there's no overall plan. It's just undirected, cancerous growth. It's Homer Simpson telling a team of automotive engineers to add feature after feature.

                                                                                                      • a2dam

                                                                                                        today at 7:01 PM

                                                                                                        This isn't really a good way to judge things. In the future, the fondest memories someone else has about technology will be about the present. The past is not better, you're just nostalgic for it.

                                                                                                          • jambalaya8

                                                                                                            today at 7:23 PM

                                                                                                            Every time I think the past was better, I think about how terrible ksh scripting was in 1995. And look at how great peoples' bash scripting is now compared to when we though bash had reached its apex in like 2009.

                                                                                                        • BigTTYGothGF

                                                                                                          today at 7:29 PM

                                                                                                          > Many of my fondest memories of technology come from times past...

                                                                                                          Is that because of the technology or because of who you were at the time?

                                                                                                          • GlickWick

                                                                                                            today at 5:31 PM

                                                                                                            The tower is not about fondness, its about growth

                                                                                                              • conartist6

                                                                                                                today at 5:49 PM

                                                                                                                Is growth enough if technology makes our lives worse? Is a tower the pride of the civilization if a strong gust of wind could bring it down? It is before the gust, when all that matters is that the tower is tall rather than strong. After the gust, things are a bit more nuanced. Fingers are pointed.

                                                                                                                The tricky part here is that you can't tell if a once-topmost part of the tower is sturdy until a great deal more tower is resting on it. Well, now a lot the economy is resting on little other than AI dreams. Your move, rational people.

                                                                                                        • guessbest

                                                                                                          today at 7:01 PM

                                                                                                          I don't know why people hold on to all this extra software and features when with the tools its easier than ever to strip that out and refactor the end product in to a much more compact deliverable. Maybe once upon a time it was useful to keep legacy parts of the software solution around, but it can be recreated with fresh eyes if needed given the power of the new LLM models. My philosophy is if its not needed, it needs to be removed.

                                                                                                          • overfeed

                                                                                                            today at 7:40 PM

                                                                                                            AI replaces a single tower with millions of 5-over-1s[1]. The aggregate height, and speed of construction mind-boggling, but when each building is considered individually, not very impressive.

                                                                                                            1. Perhaps with a handful of skyscrapers sprinkled in.

                                                                                                              • abraxas

                                                                                                                today at 8:37 PM

                                                                                                                so the post-AI landscape is software as a shanty town? That's not a bad analogy. We won't like the looks of it and it will barely function but like real life shanty towns it will function nonetheless.

                                                                                                            • aaron_m04

                                                                                                              today at 7:34 PM

                                                                                                              This could've been a much better article without the strained Tower of Babel article.

                                                                                                              • jadbox

                                                                                                                today at 8:00 PM

                                                                                                                This reminds me of Ted Chiang's "Tower of Babylon". You really should read it (and all of TC's works)!

                                                                                                                • jzer0cool

                                                                                                                  today at 7:33 PM

                                                                                                                  > the people is one, ... one language, ..., nothing will be restrained from them

                                                                                                                  Why being one (I see as collaborative) was it not desired? Interpretations? Why is it seemed *more* harmful rather than good?

                                                                                                                  • __0x01

                                                                                                                    today at 6:26 PM

                                                                                                                    Agents are very good at making us think the tower is rising, when in fact it is falling beneath our feet.

                                                                                                                    • zawaideh

                                                                                                                      today at 8:24 PM

                                                                                                                      This is exactly what Marx meant by labourers being alienated from their work because none of them understood anymore how the repetitive task they did factored into the product sold.

                                                                                                                      We are going through a transition from a guild based software production with primitive division of labour to a machinery based one where AI is the steam engine and the job of the engineer is to build the production line, be the mechanic fixing the line, and also the assembly line worker.

                                                                                                                      • dzonga

                                                                                                                        today at 7:43 PM

                                                                                                                        at one point - future generations - will look at people who designed unix like tools - tools that do one thing well & compose with other tools as demigods.

                                                                                                                          • ares623

                                                                                                                            today at 8:39 PM

                                                                                                                            lol no. They'll "rediscover" it and claim themselves as demigods.

                                                                                                                        • fantasizr

                                                                                                                          today at 6:27 PM

                                                                                                                          ai eliminating friction is eliminating learning and understanding. this is felt with more severe consequences in K-12 writing and music.

                                                                                                                          • overgard

                                                                                                                            today at 6:32 PM

                                                                                                                            I feel like this is missing the ending of "until gravity wins"

                                                                                                                            • beardyw

                                                                                                                              today at 6:16 PM

                                                                                                                              No, the story of the tower of Babel was:

                                                                                                                              "we can, so we should".

                                                                                                                              It ended badly.

                                                                                                                              • jdw64

                                                                                                                                today at 8:14 PM

                                                                                                                                Since GPT 5.2, AI has been writing code much better than I can. In 5.6, it beat Tourlist in competitive coding. After seeing that, I only practice about an hour a day just to keep the feel of coding.

                                                                                                                                Honestly, rather than pointless debates about whether human coding is bad or AI coding is bad, I just think it's good to build tools that help me understand the world. I don't really care whether it's hand-coded or bad code.

                                                                                                                                Because most of my career has been spent as an on-site programmer. Staying at factories, visiting public institutions, deploying services for financial companies. My career is short, but I was lucky enough to work in various places.

                                                                                                                                When AI first came out, I thought I still wrote better code. But after the GPT 5 series, I've completely switched to AI and I'm now thinking about how to avoid errors and maintain larger codebases.

                                                                                                                                In the world I work in, it's common to see functions with 10,000 lines. Many people don't consider coupling or cohesion. So these days, instead of focusing on programming syntax, I'm studying programming theory and thinking about how to handle code when it becomes massive and turns into a black box through vibe coding. And I think this approach is right, because I believe I need to get used to using AI, so I keep coding with it.

                                                                                                                                But due to my cognitive limits, I've restricted myself to C# and TypeScript, which I'm comfortable with. C++ has too much to memorize and is hard to keep up with. In my region, there are very few C++ jobs, and those that exist are either extremely high-paying or garbage-tier jobs. There's nothing in between. So I stick with C# and TypeScript.

                                                                                                                                In practice, when building large programs, I often just set external configuration values I don't fully understand and code based on heuristics. I don't know the internals of Kafka, RabbitMQ, or PostgreSQL. I just know how to use them. And yet they work fine.

                                                                                                                                I feel the same way about AI code. Even if AI code is messy, if it runs, I use it. When bugs appear or performance is off, I just plug in debuggers or print statements and fix the necessary parts, like working with legacy code. Programming is so complex that if you try to understand everything, you can only design very small parts. Do the people who wrote Linux understand the entire codebase? They trust people they can rely on.

                                                                                                                                I've also reached an internal agreement to trust AI code. To support that, I'm spending time on creating rules for how to get good code from AI. Things like adding gates or CI, and seeing if that improves the code.

                                                                                                                                The problem is, I know this means no one will want to use other people's work or collaborate. The middle layer will disappear. There will be only highly admired projects or personal projects. In the past, even mid-sized projects had humans helping each other. But now mid-sized projects barely need human help. So I think projects will become increasingly polarized and become a zero-sum game.

                                                                                                                                Brooks divided complexity into two types in The Mythical Man-Month: Essential Complexity and Accidental Complexity. Personally, I think AI has greatly reduced Accidental Complexity. However, the essential difficulty, the problem of modeling, still needs to be done by humans. Because AI has no physical embodiment, it's inherently hard for it to understand domains the way humans do. Learning about something is different from experiencing it.

                                                                                                                                So I've decided to believe that vibe coding is also a valid approach. Supporters talk about compilers being deterministic, but LLMs are not deterministic. Critics say AI only produces garbage code, but I've seen that with high-quality prompts, the output becomes much better. Math PhDs say AI is good at things like theorem proving, and most of coding is similar to theorem proving.

                                                                                                                                It's not about good or bad. I've decided to believe it's just another approach. Yes, this is just a religion. My religion.

                                                                                                                                No matter how much people say vibe coding is bad, those who use it well do use it well. And there's no reason to criticize those who don't use it. I've just decided to treat this programming approach as a religion. Arguing about what's right or wrong is pointless anyway. Everyone has different values based on their environment, and convincing others is a waste of time.

                                                                                                                                People in open source communities might feel like AI code is destroying their communities. The code they used to communicate with, and the time they spent on it.

                                                                                                                                But for someone like me, who's been in delivery and on-site work, it feels like an escape hatch. It freed me from the hell of dealing with difficult people. So I've decided to rationalize it to myself: AI coding is just one way of doing things

                                                                                                                                I just think new methodologies will emerge. Instead of dividing code by functions or methods, people will think about how to divide things at a larger scale.

                                                                                                                                I'm just living to adapt to this era. I have nothing to lose anyway. I'm just waiting for the new era.

                                                                                                                                • jagged-chisel

                                                                                                                                  today at 5:53 PM

                                                                                                                                  ... and narrowing.

                                                                                                                                  Where the "tower" was once a company (or team?) of human devs, it can now be a single dev and their agents.

                                                                                                                                  The right engineer can likely replace non-technical co-founders with a couple LLMs. Geez, I can't wait to write that article...

                                                                                                                                  • m3kw9

                                                                                                                                    today at 5:46 PM

                                                                                                                                    You use a shared agents.md and an auto updated architecture doc but that is the one that needs to be heavily scrutinized and everyone gets a turn to review it.

                                                                                                                                      • jagenabler2

                                                                                                                                        today at 6:16 PM

                                                                                                                                        this doesn't work in any truly complex system. If the entire organization's shared understanding could be captured in a few documents, software engineering would've been a solved problem ages ago.

                                                                                                                                    • mrdomino-

                                                                                                                                      today at 7:17 PM

                                                                                                                                      [dead]