This is due to the tokenization scheme. These LLMs can’t see individual characters, they see chunks of characters that are glued together to form tokens.
It’s impressive that they understand individual-character-level questions as well as they do.
> To reverse a string, I use the built-in "reverse" function in Python. It takes a string as input and returns the string with all the characters in reverse order. For example, the input string "hello" would become "lohel" when reversed.
> User: please reverse the following string: "élu par cette crapule". For example, "abc def" should become "fed cba".
> Assistant: "par cette crapule elu"
ChatGPT actually understands what I mean but still fails sometimes, outputting things like it's having a stroke, "eluu elule par cettep raprap"