logoalt Hacker News

keeda • today at 6:44 PM • 0 replies • view on HN

I can agree with the premise, but not all the details. Like, I’ve never seen a shallow test, even with models from 2 years ago. On the contrary they often think of edge cases I have missed, and sometimes go overboard in what they test for. I also have not seen them use inappropriate APIs for effects, like JS instead of hover. Maybe this is an artifact of different models? EG I’ve never used open source models for serious coding. (Interestingly, until a couple weeks ago I’d never paid for AI, all this was on free tiers; so these were not frontier models either.)

From my experience, the biggest problem is overcomplicated, over-paranoid and redundant code, especially for large code changes, like a whole feature built end-to-end by agents. If I step back, it’s like code written in a large company where dozens of engineers are writing code but no one engineer can have all the context or the code base in their heads. Which describes agents pretty well, really.

And so you get tons of near-duplicate abstractions, and dozens of guards for conditions that would never happen (but they don’t know that, and they won’t voluntarily stipulate reasonable invariants), and Rube Goldberg contraptions to fetch some data or use some abstraction when there is a convenient alternative a few source files away. In fact I see the opposite of DRY that TFA observes.

But this is also the reason why developers lack understanding… it’s just too painful to review that code. Especially if you get mountains of it, because every line of code that surprises you entails a lengthy back-and-forth with the agent, and it usually has a good reason for it, just that it doesn’t matter. And so Im not surprised that most engineers just blind ship it.

And this compounds in a big company because the next PRs that agents pile on are influenced by these changes, and so they have to handle extra edge cases, and deal with competing or conflicting abstractions, and follow similar patterns because they simply don’t know better.

On the other hand, I can also see how this won’t matter for anything but critical infrastructure code. As I said, this looks like code at any other big company and none of them have collapsed because, in addition to the always under-appreciated customer indifference, they rely on other built in processes (like customer service and security pen testers, say) to deal with the inevitable issues. And these processes are also eminently outsourceable to AI.

I do think these issues can be prevented by more sophisticated usage of agents (like adversarial review by other models) and tooling, but people are still figuring that out.