Remix.run Logo
throwawayffffas 3 hours ago

LLM generated code is technical debt. If you are still working on the codebase the next day it will bite you. It might be as simple as an inconvenient interface, a bunch of duplicated functions that could just be imported, but eventually you are going to have to pay it.

visarga 2 hours ago | parent | next [-]

Untested undocumented LLM code is technical debt, but if you do specs and tests it's actually the opposite, you can go beyond technical debt and regenerate your code as you like. You just need testing to be so good it guarantees the behavior you care about, and that is easier in our age of AI coding agents.

mkroman 2 hours ago | parent [-]

> but if you do specs and tests it's actually the opposite, you can go beyond technical debt and regenerate your code as you like.

Having to write all the specs and tests just right so you can regenerate the code until you get the desired output just sounds like an expensive version of the infinite monkey theorem, but with LLMs instead of monkeys.

fourthark 2 hours ago | parent [-]

You can have it write the specs and tests, too, and review and refine them much faster than you could write them.

ymyms 3 hours ago | parent | prev | next [-]

All code is technical debt though. We can't spend infinite hours finding the absolute minima of technical debt introduced for a change, so it is just finding the right balance. That balance is highly dependent on a huge amount of factors: how core is the system, what is the system used for, what stage of development is the system, etc.

2muchcoffeeman 2 hours ago | parent | prev | next [-]

Are people not reviewing and refactoring LLM code?

bdangubic 3 hours ago | parent | prev [-]

In your comment replace “LLM” with “Human SWE” and statement will still be correct in vast majority of the situations :)

throwawayffffas 3 hours ago | parent [-]

That's legit true. All code is technical debt. Human SWEs have one saving grace. Sometimes they refactor and reduce some of the debt.

ymyms 3 hours ago | parent [-]

A human SWE can use an LLM to refactor and reduce some of the debt just as easily too. I think fundamentally, the possible rate of new code and new technical debt introduced by LLMs is much higher than a human SWE. Left unchecked, a human still needs sleep and more humans can't be added with more compute.

There's an interesting aspect to the LLM debt being taken on though in that I'm sure some are taking it on now in the bet/hopes that further advancements in LLMs will make it more easily addressable in the future before it is a real problem.