First check whether the answer is present.

When output disappoints, the reflex is to rewrite the prompt. The better first question: is the information required to answer this actually in the context at all?

If it is not, then however elegant the prompt, the model can only guess. And it guesses with great confidence — which is precisely what makes it dangerous.

Irrelevant material is harmful.

Many people treat context as a bag where more can't hurt. The opposite is true: unrelated passages dilute attention and can steer the model somewhere wrong.

Three hundred words of exactly the right material almost always beats three thousand words of nearly-right material. Retrieval does not aim to recall everything. It aims to recall the one right thing.

Retrieval is its own problem.

Measure it separately: given a set of real questions, how often does the retrieved passage actually contain the answer? You can compute that number without calling a model at all.

Raise that number first, then tune the prompt. Reverse the order and you will spend weeks on a dial that does not move the result.