Live data from Hacker News

The Coming Loop

lucumr.pocoo.org

91–100 of 322 posts

Re: The Coming Loop

#91

> the right fix is not "handle every malformed case." ... [LLMs] will still attempt to handle now impossible errors. This is the number one code smell from LLMs and I don't know why they are so obsessed with it. In python, it often comes as `hasattr` checks on types that are defined to have that attribute, in a code base that is fully type-checked. Why do they do that? Is it from pre-training or re-enforcement? If th…

I suspect it's mostly the training data. I am also on team "make illegal states unrepresentable". It may get talked about a lot on HN, but I'm still at the point that I'm surprised when I see a code base that I didn't write in the wild that does a really good job of it, either open source or at work. Most programmers still think in terms of picking up pieces and fixing errors at the point where the error message pops out rather than making it so the error can't happen and the data reflects that.

I say "mostly" because I think there's also a problem with AIs thinking this way in their current state. That last level of human understanding of a code base, where the human holistically understands the flow of those guarantees, is a challenge to give them right now. On the raw code level, this sort of thing often involves enough code to easily blow out their context window. Trying to summarize it in memories-style files has its own problems; just because there is text written down about the guarantees doesn't mean that the AI is going to get the right info out of it, any more than a human might from just reading the code. I won't say it's "impossible" to give an AI this understanding because I'm not sure it is, but it is a level of understanding of the code that even if you get them to have it, their practices tend to fight against it.

My own solution to this problem has largely been to give up on them getting this. I prompt a solution to the problem the way that most people do, then if I want to make bad illegal states unrepresentable I prompt the AI through the process of the necessary refactorings, unless it's so small that I just do it myself. Given a lot of code that uses maps/dicts and arrays and strings and ints, if you prompt it through making those more thoroughly typed, it's actually pretty good at it. I've not had a lot of luck getting good designs out of single prompts, even when I get detailed. Treating it as two separate tasks seems to work out well.

And watch the diffs on the types carefully; AI loves to sneak past a ".JustSetItAndIgnoreAllThePreAndPostConditions(string)" method. After all, I suspect there's plenty of training data of "types that are nicely structured to make error states unrepresentable and then a later maintainer came along and added a 'JustEffingDoIt' method that broke everything" in the field. One of the best defenses is to make sure that the type implementing these things is in its own file and you can easily look at all the methods it adds on those types and smack it when it does that. I've tried slathering warnings about not doing this and explaining the pre- and post-conditions being maintained in the docs but the change seems marginal.

Re: The Coming Loop

#92

As much as I like Claude Code, Boris has done a lot of harm by encouraging software engineering practices that lead to slopware. We have two camps of people at work, the first camp are the agent goes brrr. They don't understand the code they write. They have loops running, agent orchestrators or agent hype du jour. The second camp is people who are inundated with PRs, are holding the line on quality, and just exhaust…

I think at the end of this we'll have a new software engineering paradigm.

Mostly nobody now worry about binaries or instructions because those are for the compilers, even undefined behavior are mostly ignored.

You can either tailor the development pattern for LLM, or have LLM come write for the same old development pattern. I think there is going to be a difference.

Re: The Coming Loop

#93
post #23

I keep thinking about at which point I should not force myself into the loop. As a developer I really like working on the code structure, making it clearer, thinking about good abstraction, breaking into modules, etc. I really take pleasure in it. At the same time I understand that at some point I am becoming the limiting factor. If the point of the software is benefit people, should I still care about how the code l…

You will always be able to ask the agent to do refactors for you - and it can do mega ones that exhaust you to think about!

Agentic refactoring is very questionable if you want to maintain quality, as it will rewrite all your code to be more average.

Re: The Coming Loop

#94
post #4

Quoting the creator of CC holds little value in my opinion. I too call my product good. > opting out of this fully machine-driven future may not be an option. I am contemplating whether I want to stay inside this rat race. I completely agree with the conclusion of this blog post, by the way. I feel uneasy, and I do not enjoy the work I deliver using LLMs. I think OP did a really good job on capturing at least my curr…

> I am contemplating whether I want to stay inside this rat race. I'm in the same boat. I'm hoping to go back to school in 2027 and be out of work that revolves around programming in 5 years. I'm not enthusiastic about the field anymore, which sucks, because I used to love working in programming.

What are you going to do? Asking for a friend.

Re: The Coming Loop

#95

> the right fix is not "handle every malformed case." ... [LLMs] will still attempt to handle now impossible errors. This is the number one code smell from LLMs and I don't know why they are so obsessed with it. In python, it often comes as `hasattr` checks on types that are defined to have that attribute, in a code base that is fully type-checked. Why do they do that? Is it from pre-training or re-enforcement? If th…

Sorry to say but the solution is to stop using python. The models are trained to code defensively assuming historically representative python codebases. The models trust the types a lot more in languages where the canonical historical examples trust the types because the language is constructed around that premise.

Re: The Coming Loop

#96

As much as I like Claude Code, Boris has done a lot of harm by encouraging software engineering practices that lead to slopware. We have two camps of people at work, the first camp are the agent goes brrr. They don't understand the code they write. They have loops running, agent orchestrators or agent hype du jour. The second camp is people who are inundated with PRs, are holding the line on quality, and just exhaust…

I think at the end of this we'll have a new software engineering paradigm. Mostly nobody now worry about binaries or instructions because those are for the compilers, even undefined behavior are mostly ignored. You can either tailor the development pattern for LLM, or have LLM come write for the same old development pattern. I think there is going to be a difference.

We will have a new software engineering paradigm and it is called quitting to become a day drinker.

Burnout can be so all-encompassing that it can ruin your life. It can make you feel like you are losing your mind and your basic abilities. A lot of that is coming for a lot of people who are currently stressed but excited.

Re: The Coming Loop

#97

As much as I like Claude Code, Boris has done a lot of harm by encouraging software engineering practices that lead to slopware. We have two camps of people at work, the first camp are the agent goes brrr. They don't understand the code they write. They have loops running, agent orchestrators or agent hype du jour. The second camp is people who are inundated with PRs, are holding the line on quality, and just exhaust…

[deleted]

Re: The Coming Loop

#98
post #81

Earlier quoted context omitted.

> I call out Boris but I also don't think he's being malicious. From a market perspective, he's acting completely rationally in his own interests. Bottom line is that these companies need to do whatever they can to keep growing token consumption because that's their goal. If the nation's drinking skyrocketed, we wouldn't be sitting here wondering why the CEO of Budweiser isn't advocating for temperance. His job is to…

I never understood this perspective. Just because a person's behavior is market-rational, it does not mean they can't be criticized for externalities. That is, in fact, an important thing to do. It turns those externalities into public perception, which turns into market forces that adjust the behavior, if you want to think purely in market terms. The analogy with Budweiser is not a good one. This would be the CEO of…

> can't be criticized for externalities

As soon as you open up the externalities discussion, the wider question of increasing electricity prices and turbocharging global warming comes up, not to mention RAM prices. AI is a machine for turning negative externalities into stock prices.

Re: The Coming Loop

#99

Earlier quoted context omitted.

One car went Mach 1, ever, apparently. Anyway, I don’t think the analogy fits. Ford or whoever didn’t loudly and frequently predict Mach 1 cars, right? The situation is more like: Altman & co are predicting their new car will replace all vehicles: horses, trains, planes, motorcycles, there’s a real possibility the concept of vehicles will not exist other than cars, in the future. Meanwhile it hasn’t really done highw…

It is a terrible analogy that shows terrible thinking. After all, there's one thing we can bet with more confidence on: delegating thinking to this mediocrity machines is affecting the ability to do the same in scores and scores of previously smart people.

Funny enough it is a great analogy if you think these modes will never really “get there” at scale.

Re: The Coming Loop

#100

> You Cannot Quite Opt Out I am so over this. I cannot take anyone seriously that claims inevitability of their ideas, and how you must adopt them without "being left behind". If these tools are so good and so capable the result should be able to speak for themselves rather than this FOMO inducing, emotional language.

You're being uncharitable. I don't read it as intentionally FOMO inducing. I read it as the exhausted sigh of resignation from someone who sees where the wind is blowing whether they like it or not. I see it as someone watching tech management and execs listening rapt as Boris pours the poison of AI maximalism in their ears. I read it as someone who sees developers around them either drinking from that same poisoned well or bowing under the pressure from those leaders to adopt AI or lose their livelihoods.

It is true that the author is incorrect: you can certainly opt out, but you won't be opting out of AI, you'll be opting out of the industry.

Post reply on HN