Arguing with an LLM

So one of the people I’m doing game programming work for is using an LLM to add in new features while I code the basics. He does a pull request and I look over what he’s done. This time, he decided to run his plans through the LLM, and have me critique them, then run my critique through the LLM. And so all day yesterday we went back and forth. His goal was just to make sure that the path the LLM led him down was ok with me so that his work would be worth his time.

It has been an interesting experience. Because while he’s using the LLM to learn, he’s also watching videos. Also, he’s solving very specific systems, and breaking them down into pieces (because I’m breaking the pieces down for him in meetings). So while the code hasn’t been perfect, taking something that is crap code, but works, is better than coding it all from scratch.

So yesterday, the LLM is giving him advice on “how to talk to me”. He’s just copying and pasting the output to me. I didn’t know my first response was going into the LLM and it said something about not using Strings. So I had to lay out my architecture a little more clearly. Which at first was frustrating, but then I realized because of how my client was using it - I was getting to do a code preview before the code was written.

The LLM kept “pointing out” potential problems. Then I would explain why they weren’t problems and were factored into larger architecture. Then it started trying to future proof my code. It came up with all sorts of “common problems” that did not impact us. Then it went farther afield and started coming up with potential problems if we implemented things we’d never discussed implementing.

This was because he had asked it to be critical and try to find any issues we might encounter. When it ran out of legit issues, unlike a human, it didn’t say “looks good”, it kept doing what it was asked - looking for problems.

This is a great example of why LLMs aren’t thinking machines and why they won’t take over the world like in Terminator. An LLM doesn’t know when to stop. It’s always going to give you what you ask it, and nothing more. If anything, LLMs are a lot more like the robots that eat the world in Horizon Zero Dawn. (Which if you haven’t played it is an example of a game with fantastic mechanics balanced well with story and unique leveling.)

Ultimately, it was like talking to a really annoying junior program who has lots of book knowledge, but no practical knowledge, and wants to keep talking instead of actually doing the work.

7 Likes

I think so, because he’s actually learning how to build things, and I tell him “No, you did it wrong” a lot so he’s learning by having to fix things. It also allows him to at least give me a mock up of what’s in his head, which I find very useful.

No, because the LLM is being target at very specific features, like adding in coyote time, not reviewing my project architecture.

4 Likes

Well said. :tractor:

image

You gain practical knowledge by doing things, not thinking about them.

6 Likes

Keep in mind though, that he’s paying me more an hour than he’s probably paying for a year of the LLM.

3 Likes

Sorry, I have to answer with a meme, but it fits too well:

8 Likes

Looks like you’ve entered the doctorowian reverse-centaur zone. Not a fun place to be.

Abandon the project if you can afford it. There’s a big chance it’ll fall apart anyway if such misuse of LLMs (and consequential mistreatment of humans) is established as a norm.

5 Likes

Also, that clip is hilarious.

6 Likes

LOL I totally forgot about that scene.

It’s not great, but it’s interesting.

In Charles Duhigg’s book, Smarter Faster Better, he talks about Bayesian decision-making. So my decision was to put the time into the project that I can afford to lose.

2 Likes

If you want a quick insight into how an LLM ‘thinks’, try arguing with one, in the scientific sense. It displays the kind of behavior you described, and even the ‘good’ paid ones I’ve tried fall into hallucinating either problems or solutions very quickly :slight_smile:

Instruct models seem best suited to going from a blank-slate question to an answer, and not much beyond.

4 Likes

I personally like to argue with LLMs, because i only argue with logic, it never wins and eventually always admits my points, also just to point out, it seems to me that LLMs are trained to “think” humans are stupid, which i find annoying and also could be a problem in the future.
They dont have opinions at all, they ARE just programs.

1 Like

All is well if it amuses you. I personally wouldn’t tolerate the constellation you’ve described, at least not for extended periods of time. It’s just a matter of moment when you start responding with LLM generated responses to their LLM generated respones, just like in that viral skit video. From there it can only go into one direction - full on vibe coding :rofl:

4 Likes

It only happened once so far.

2 Likes

I ran put of likes, so

image

3 Likes

From this story, it sounds like your teammate is newly using the LLM. Make it clear that they - not the LLM - are the part of the team. Them roleplaying a proxy to the LLM doesn’t help anyone.

(I’ve had to remove people from my projects due to being useless - both pre and post AI era. It’s just post-AI era they tend to be LLM pipes..)

1 Like

To be clear, they are paying me, and that includes paying me to answer their questions. It’s their game, I’m just working on it to make money.

3 Likes

Get that bag, Dragonforge. :money_bag:

You’re the first person in history to ever profit off LLMs. It’s his loss. Both money and braincells.

1 Like

Hahahahaha actually, that’s my long term life plan. In a decade when the LLMs have replaced the chain of people learning how to program professionally, I’m going to charge ridiculous sums to fix LLM code.

5 Likes

Charge enough money so you can retire early. I can’t imagine LLMs staying the same forever, for better or worse.

1 Like

“Is Dragonforge’s Bank Account about to Burst?”

Hope they don’t get upset if they happen to stumble upon this thread when googling something about Godot.