Live data from Hacker News

The Tower Keeps Rising

lucumr.pocoo.org

221–230 of 280 posts

Re: The Tower Keeps Rising

#222
post #59

Earlier quoted context omitted.

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

Right and my math textbook understands integration.

At least your math textbook was written by somebody who understood integration

Re: The Tower Keeps Rising

#223
post #219
post #106

Earlier quoted context omitted.

> 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.

They said "the" human kind, not "one" human mind. Even with structures, rules, and other tools, we are limited in the amount we can abstract, comprehend, and communicate. As projects get larger, we inevitably see a friction develop where coordination breaks down and we turn to isolation and responding to failures at the boundaries. This is where complexity in design of an individual system ends. Larger ecosystems are…

Fair enough.

I do worry what that will mean for projects such as Linux though. Not that I think it will die or anything, but rather that it will become so fragmented that forward movement ceases.

Re: The Tower Keeps Rising

#224
post #6

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 unfor…

I can't prove it but I have strong beliefs that the logic and intuition required for abstracting for future changes is not possible in a stream of predicted tokens. Mental models aren't built from text. Something's missing that can't be measured.

I believe similar.

Maybe not exactly the same thing, but I think one related representation of this in any good codebase is documentations in the code: Good documentation always focuses on the why and not the what. i.e. things that are not represented by or representable in code. It may describe not only why a certain choice was made, but also why not something else. In general, the whole point of these documentation is to account for things that are beyond what can be understood from just reading the codebase including other existing documentation, that you may never even imagine with all the tokens in the world otherwise, which were yet a critical part of our coding choices.

If we are to believe that LLMs can build complex systems, then it's equivalent to saying that LLMs can make similar decisions equally well without any of that... which also then implies that we essentially never needed these documentation to begin with other than as redundancy for human needs.

Re: The Tower Keeps Rising

#225
post #13
post #6

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 unfor…

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…

A friend of mine built just built a project for doing something like that, although it's built on enforcing a spec rather than elegance: https://medium.com/@joeldg/architecting-out-of-the-vibe-how-...

Re: The Tower Keeps Rising

#226
post #72

> 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…

Maybe a tomato would fit quite well in a fruit salad, and the only reason we do not do it is because of arbitrary learned "it's a fruit. But it is treated as vegetable"...

Re: The Tower Keeps Rising

#227

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 writte…

We can say that about programmers, most ICs don't understand what's going on in the layers beneath were they work. Most have no idea what's going on with libraries, frameworks, remote APIs, it's all abstractions. Most people can't tell you how system calls are implemented or function. They don't have the time, bandwidth to understand it all, they just operate at their own layer to get the job done.

It comes down to trust. I trust that the people who mede the low level stuff I'm using.

I don't feel the need to code review every single line of the edior I'm using. I trust it to work as promised. Same with all other tools.

Re: The Tower Keeps Rising

#228
post #14

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.

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.

Actually now we care even more. The reason people didn't write extensive test suites was was because it's super fucking boring to do so.

AIs don't care, they'll happily write 50 unit tests with slight variations and pair them with a full dockerized end to end test suite.

Now we have at least SOME tests. Are they good? Maybe, maybe not - but we have them. If one of them fails later on, we can check if it's an actual issue or the test being bad.

Which is infinitely better than having no tests because nobody can be arsed to write them or the customer isn't paying for the extra hours needed for a proper test suite.

Re: The Tower Keeps Rising

#229

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.

If the "soul" of a program (which is a vague term but I think I get what you mean) changes daily, that's indicative of a lot of churn, and a lot of churn is not a good idea in any project. it's like changing how the tower of babel should be built daily. Just because you can doesn't mean you should.

But if all the tests pass, does it matter what's inside?

Re: The Tower Keeps Rising

#230
post #83

> 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.

Nothing to do with vibes, it's just a process issue.

Yes, you can "add" anything you want, but if you can get that in to the main branch without a PR, it doesn't matter whether it was done by AI or human or both.

Post reply on HN