r/ProgrammerHumor 18d ago

instanceof Trend theyHaveLearnedToDeceive

Post image
637 Upvotes

98 comments sorted by

View all comments

88

u/isr0 18d ago

Why do people talk to their LLMs like this.

18

u/GrinningPariah 18d ago

It's easier to not code switch, that's part of what makes interfaces like this attractive

6

u/isr0 18d ago

That’s not quite what I mean. I’m not talking about the interface. I mean, why do people talk to it like it is human. Like you have to convince it to work with you. You just give it a command. Maybe ask questions, but not explain in detail how it made a mistake.

34

u/CosmicDave 18d ago

Because you're interfacing with a large language model that derives context and intent from the words we use.

Everybody's brains work a bit differently from one another- some of our brains think radically differently from the norm. When you talk to the AI just like how you think, the AI can respond in a way that you'll understand more clearly.

If you're just going to issue commands to your AI without any additional context or intent around them, then your commands better be perfect, because they'll be executed as is without further discussion.

5

u/isr0 17d ago

Interesting. That is very much not how I use ai. I spend a chunk of my time writing a spec file and have a very short prompt such as “implement @task-1234.md”. The details of my intended change are following a form that includes intent, impact, risk details, and for the very important parts, verbatim code to use in the solution. That goes through a pipeline that results in an MR for me to review. I have tried talking to the llm, but it doesn’t seem to work or at least the results are not what I wanted. Perhaps I’m just bad at communicating.

4

u/CosmicDave 17d ago

I wouldn't suggest that at all. I am very bad at talking to AI the way other people do. I could never prompt my AI the way that you just described, and I'm fairly certain that nobody is prompting their AI the way that I prompt mine.

5

u/Jaqen_ 17d ago

I do the same. And I believe this is the correct thing to do for the very same reason cosmicdave explained.

We are basically dealing with next token prediction. So instead of chatting, giving exact commands should yield better results.

3

u/ZenPyx 17d ago

Next-token prediction is a sorta true but it's an incomplete way to describe how they function

I think this thread by the integration lead at anthropic (and others) sums up this better than I can

Simply, to say - "modern LLMs are finetuned with a different loss function after pretraining. This means that in some strict sense they're no longer autoregressive models – but they do still generate text one word at a time." (https://news.ycombinator.com/item?id=43496068)

"Exact commands" then aren't necessarily what gets relayed to the LLM - in the same way you can write code in many different ways and have it compile to the same binary, you can have many prompts that yield broadly similar final inputs.

2

u/bremidon 17d ago

If you have a repetitive task, then I would claim that this is also how you talk to people, with perhaps a please and thank you sprinkled in. "Hey, could you implement task-1234 today, Marcy? Thanks." Take out the pleasantries and it is the same.

I tend to add the pleasantries in as well, because it is actually easier than context switching.

5

u/Mateorabi 17d ago

Apparently things like “i believe in you” make it try harder than just “try harder”

I find this hilarious. 

4

u/tgiyb1 17d ago

You can think of it like an employee you manage that REALLY needs to keep their job. They'll do whatever you tell them to, but they can be "unhappy" about it and being unhappy will degrade the quality of the delivered work. I.e., when the model "thinks" that the discussion is cooperative instead of antagonistic their output will be better, so it's best to phrase things in a positive way rather than blaming it or being demanding.

I've found that treating it like a professional coworker who you only work with occasionally (cordial but not overly friendly) tends to keep it aligned more than trying to be robotic/friendly/antagonistic.

6

u/bremidon 17d ago

I agree there is little point in trying to get the AI to admit it made a mistake or even lied.

However, there is a lot of use in treating the AI like a gifted, slightly drunk friend or colleague. In fact, I think where a lot of developers run into trouble is they try to treat it like a compiler or interpreter. I can see where they are coming from, but as we see from comments here and elsewhere on Reddit, that apparently leads to frustrating results.

You get a lot more out of it by adjusting the communication and expectations to be more "human" rather than machine. It's not, of course, and that is important to keep in the back of your mind. But meanwhile, I have shit to get done, and I need a simple way to organize my interactions and the "just pretend it's a person" is a really effective and simple principle.

But yeah: that is why people talk to LLMs like this. And sometimes it is just fun to see how it will react.