What is prompt engineering?
Prompt engineering is the work of writing the input so the model gives you what you actually want. A model will answer almost any prompt, but the quality of the answer depends heavily on how you asked. Clear instructions, the right context, a worked example or two, and a request to reason before answering all push the output in a useful direction. None of that touches the model. You are changing what you say, not what the model is.
That is the appeal: it is the cheapest knob you have. No training run, no new hardware, no waiting. You edit text, run it again, and see if the output improved. On a self-hosted setup it pairs naturally with versioning, so every prompt change is a commit you can review and roll back.
Where does prompt engineering stop?
Wording can only work with what the model already knows. If the answer depends on facts the model never learned, no phrasing conjures them, and you reach for retrieval to supply the facts or fine-tuning to teach new behaviour. If the model is simply too small for the task, a better prompt will not rescue it.
It also shifts the odds rather than guaranteeing them. A good prompt makes the right answer more likely and the wrong one rarer, but it does not make testing optional. You still check the output, because a model that sounds confident and a model that is correct are not the same thing.