logoalt Hacker News

kstenerudtoday at 1:31 AM8 repliesview on HN

Hundreds of bots modifying thousands of microservices may sound good on the surface, but all those thousands of microservices make up an architecture and a product.

Agents aren't very good at carrying the entire model in their context, so when they reason about a small piece of code, they often come up with something that hurts other parts of the code (especially as the KLOCs pile up). The complexity hasn't been replaced, only moved. And guess what's going to happen when all of these microservices become even more of a moving target than they already are?

AI is capable of improving productivity, but this approach sounds more like a nightmare in the making.


Replies

jurgenburgentoday at 5:43 AM

The point of dividing your software into independent services is to be able to give those services to different teams that can independently develop and release them.

What’s the point if you’re treating the whole system as a slop bucket?

gentoofluxtoday at 1:39 AM

The agents are like ants, and ants build like crazy until the resources run out in winter. AI winter is going to be interesting, to say the least.

show 4 replies
pianopatricktoday at 1:41 AM

Seems to me the real question is "what scheme can we use to organize our code base such that an agent working on one part really can make changes and not break the other parts on accident".

My current theory I might test out is to treat generative AI as generative AI. This means instead of editing things like a microservice in place you version freeze them to bug fixes only and create new versions for new features. This way you can go and update all the places that use the old version to the new version one at a time. As you do you can check that the new version does not break anything while still having an old version to fall back to.

show 2 replies
p1neconetoday at 2:27 AM

Imo there's zero difference between 'thousands of microservices' and 'one monolith with thousands of functions/classes/etc' in terms of effort required to make it correct - both are still tiny interconnected pieces making up a whole, and you can separately unit test a function just as easily as you can separately e2e test a single microservice.

They still make up some whole product that presumably does something as a whole that you actually care about, and the complexity inherent to that doesn't go away with either approach.

show 5 replies
ReptileMantoday at 3:47 AM

>Hundreds of bots modifying thousands of microservices

That is way too close to monkeys on typewriters for comfort.

Sharlintoday at 3:45 AM

> Hundreds of bots modifying thousands of microservices may sound good on the surface

It really does not, honestly.

john_minsktoday at 2:10 AM

Why do you need to always modify the service? Once it is up and running and performs a function - don't touch it.

show 1 reply
wotamesstoday at 3:04 AM

Eventually we'll compress out unnecessary state and keep desired data states only; AI then won't be editing k8s yml, source code, etc.

It will just be computing new geometric states and syncing them to the screen.

Incidentally not having devs save endless copies of their dev tools and languages will save a bunch of electricity; storing and copying that stuff around uses a lot of electricity.

Software engineers who want to be taken as experts in their craft need to understand the chip makers are experts in theirs all the same. They’re not leaving your concerns about correctness, efficiency, and stability unconsidered.

Almost offensive for non-experts in hardware dev to continue to insinuate no one but SaaS devs have any idea how computers work.