this post was submitted on 22 Dec 2024
447 points (96.1% liked)

Technology

60060 readers
3320 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. 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
[–] [email protected] 32 points 1 day ago (3 children)

I hardly see it changed to be honest. I work in the field too and I can imagine LLMs being good at producing decent boilerplate straight out of documentation, but nothing more complex than that.

I often use LLMs to work on my personal projects and - for example - often Claude or ChatGPT 4o spit out programs that don't compile, use inexistent functions, are bloated etc. Possibly for languages with more training (like Python) they do better, but I can't see it as a "radical change" and more like a well configured snippet plugin and auto complete feature.

LLMs can't count, can't analyze novel problems (by definition) and provide innovative solutions...why would they radically change programming?

[–] [email protected] 0 points 7 hours ago (1 children)

I hardly see it changed to be honest. I work in the field too and I can imagine LLMs being good at producing decent boilerplate straight out of documentation, but nothing more complex than that.

I think one of the top lists on advent of code this year is a cheater that fully automated the solutions using LLMs. Not sure which LLM though, I use LLMs quite a bit and ChatGPT 4o frequently tells me nonsense like "perhaps subtracting by zero is affecting your results" (issues I thought were already gone in GPT 4, but I guess not, Sonnet 3.5 does a bit better in this regard).

[–] [email protected] 2 points 6 hours ago (1 children)

Maybe some postmortem analysis will be interesting. The AoC is also a context in which the domain is self-contained and there is probably a ton of training material on similar problems and tasks. I can imagine LLM might do decently there.

Also there is no big consequence if they don't and it's probably possible to bruteforce (which is how many programming tasks have been solved).

[–] [email protected] 1 points 2 hours ago (1 children)

I think you're spot on with LLMs being mostly trained on these kinds of tasks. Can't say I'm an expert in how to build a training set, but I imagine it's quite easy to do with these kinds of problems because it's easy to classify a solution as correct or incorrect. This is in contrast to larger problems which are less guided by algorithmic efficiency and more by sound design/architecture.

Still, I think it's quite impressive. You don't have to go very far back in time to have top of the line LLMs unable to solve these kinds of problems.

Also there is no big consequence if they don't and it's probably possible to bruteforce (which is how many programming tasks have been solved).

Usually with AoC part 1 is brute-forceable, but part 2 is not. Very often part 1 is to find the 100th number, and part 2 is to find the 1 000 000 000 000th number or something. Last year, out of curiosity, I had a brute-force solution for one problem that successfully completed on ~90% of the input. Solution was multi-threaded and running on a 16 core CPU for about 20 days before I gave up. But the LLMs this year (not sure if this was a problem last year) are in the top list of fastest users to solve the problems.

[–] [email protected] 1 points 1 hour ago

Just to precise, when I said bruteforce I didn't imagine a bruteforce of the calculation, but a brute force of the code. LLMs don't really calculate either way, but what I mean is more: generate code -> try to run and see if tests work -> if it doesn't ask again/refine/etc. So essentially you are just asking code until what it spits out is correct (verifiable with tests you are given).

But yeah, few years ago this was not possible and I guess it was not due to the training data. Now the problem is that there is not much data left for training, and someone (Bloomberg?) reported that training chatGPT 5 will cost billions of dollars, and it looks like we might be near the peak of what this technology could offer (without any major problem being solved by it to offset the economical and environmental cost).

Just from today https://www.techspot.com/news/106068-openai-struggles-chatgpt-5-delays-rising-costs.html

[–] [email protected] -3 points 20 hours ago

You’re missing it. Use Cursor or Windsurf. The autocomplete will help in so many tedious situations. It’s game changing.

[–] [email protected] -3 points 1 day ago (1 children)

ChatGPT 4o isn't even the most advanced model, yet I have seen it do things you say it can't. Maybe work on your prompting.

[–] [email protected] 16 points 1 day ago (1 children)

That is my experience, it's generally quite decent for small and simple stuff (as I said, distillation of documentation). I use it for rust, where I am sure the training material was much smaller than other languages. It's not a matter a prompting though, it's not my prompt that makes it hallucinate functions that don't exist in libraries or make it write code that doesn't compile, it's a feature of the technology itself.

GPTs are statistical text generators after all, they don't "understand" the problem.