this post was submitted on 22 Dec 2024
519 points (95.8% liked)
Technology
60112 readers
2262 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Computers have always been good at pattern recognition. This isn't new. LLM are not a type of actual AI. They are programs capable of recognizing patterns and Loosely reproducing them in semi randomized ways. The reason these so-called generative AI Solutions have trouble generating the right number of fingers. Is not only because they have no idea how many fingers a person is supposed to have. They have no idea what a finger is.
The same goes for code completion. They will just generate something that fills the pattern they're told to look for. It doesn't matter if it's right or wrong. Because they have no concept of what is right or wrong Beyond fitting the pattern. Not to mention that we've had code completion software for over a decade at this point. Llms do it less efficiently and less reliably. The only upside of them is that sometimes they can recognize and suggest a pattern that those programming the other coding helpers might have missed. Outside of that. Such as generating act like whole blocks of code or even entire programs. You can't even get an llm to reliably spit out a hello world program.
Large context window LLMs are able to do quite a bit more than filling the gaps and completion. They can edit multiple files.
Yet, they're unreliable, as they hallucinate all the time. Debugging LLM-generated code is a new skill, and it's up to you to decide to learn it or not. I see quite an even split among devs. I think it's worth it, though once it took me two hours to find a very obscure bug in LLM-generated code.
I have one of those at work now, but my experience with it is still quite limited. With Copilot it was quite useful for knocking up quick boutique solutions for particular problems (stitch together a load of PDFs sorted on a name heading), with the proviso that you might end up having to repair bleed between dependency versions and repair syntax. I couldn’t trust it with big refactors of existing systems.
Cursor and Claude are a lot better than Copilot, but none of them can be trusted. For existing large code repos, LLMs can generate tests and similar boring stuff. I suspect there'll be an even bigger shift to micro services to make it easier for LLMs generate something that works.