LLMs are literally auto-complete models. I just so happens that when your auto-complete model gets big enough, and you poke it in the right way, it accidentally pretends to be intelligent. And it turns out, that pretending to be intelligent is almost as useful as actually being intelligent.