Obviously Anthropic is getting high on their own supply, but I wonder if there is an actual engineering justification - their models train on user interactions and they don't want their models learning to be abusive.
I make sure to do that whenever they serve me an ad, I shit talk the ad they served and get it to explain why the company is immoral. Put that in the training data.
Back a few years ago with gpt3.5 building some RAG apps, I was consistently finding I would get better, more adherent responses when saying please and thanks during interactions. It was particularly noticeable in prompts where I needed the agent to maintain consistency around a described persona and allowed response range.
I don't think there's anything going on inside other than predictions. That being said, being nice never hurts.
If I'm mean to some people and nice to others, that just means I'm an a-hole. I don't wanna be that. Being kind all around helps me be a better person in the world. And in some cases with the robots, it helps as well.
I've got kinda the opposite take - saying please and thank you helps anthropomorphize the models and is compatible with the idea that there are common behaviours that we should be applying to models and people - when I'm strongly of the opinion that we shouldn't use our experience with models at all when guiding our interactions with people.
Being polite to a model isn't like saying please and thank you to my dog when he does his business, it's like saying please and thank you to my furnace when it turns on and off.
I often insert a please and thank you into my responses. Though I do so for practical reasons.
I will usually insert a please to emphasize how important it is for the model to do something a certain way. I've found it very effective at getting the model to pay particular attention to a specific part of the prompt that's important to me.
Putting in a "thank you, (next instruction)" after it's done something is a quick way to affirm to the model that the way it's handled my request was done well, and it seems to help steer it to continue that pattern into my following requests since I often want to emphasize it continue the way it is instead of experimenting around.
> Being polite to a model isn't like saying please and thank you to my dog when he does his business, it's like saying please and thank you to my furnace when it turns on and off.
True, but if saying “please” has a measurable functional effect then this is an important characteristic of the system. I also observed that saying please and thank you produced notably different responses. For me, there’s no real danger of anthropomorphism—I recognize that it’s a machine. But I also want it to do what I ask, so in my mind it’s really no different than having to use semicolons in Java but not in Python.
Look at it from a training data perspective. If the models' behavior is being trained on a large corpus of text from human interactions, then it should be expected that certain conversational queues will be picked up in the behavior of the models.
So saying please and thanks isn't anthropomorphizing the models, it's more simply using input patterns that get better outputs more aligned to the desired result.
It also has the benefit of reinforcing polite behavior among us, the humans. Side benefit, but it is a thing to consider.
> So saying please and thanks isn't anthropomorphizing the models, it's more simply using input patterns that get better outputs more aligned to the desired result.
Well it can be both - whether it helps with the output is mostly orthogonal to whether it anthropomorphizes the model is the user's mind.
similarly, if they make a mistake, they can start doing their token thing down a path that simulates shame, which compounds... the effects of training data
I always thought that please, thank you, etc would be good words to use to indicate that you were done with an agent interaction.
Siri, text my dad … send it. Thank you.
And then it could stop trying to listen. It sounds like you’re being polite, but it would have a secondary meaning too. Kind of like using the stop word to end an LLM’s output token list.
You're really not appreciating what goes into training at this point. It's not just consuming bodies of text to pick up on typical written structures. They're trying to learn how to optimize user interaction satisfaction. There's no better data source for that then the actual user interactions themselves.