A prompt is generally made up of up to four elements:
Start Simple and Iterate: The best way to arrive at an effective prompt is to start with a simple instruction and then iterate according to how you want the output to look.
Be Specific: The more descriptive and detailed the prompt is, the better the results.
Be Precise: Just like any effective communication, you should be direct and avoid ambiguous language or words that can have multiple meanings. Fortunately, lawyers are already very good at doing this!
Use Positive Phrasing: Tell the model what it "should do" not what it "shouldn't do". LLMs seem to be as guilty as humans of falling into the "don't think of a pink elephant" trap. Positive wording keeps the model focused on the detail you need.
Remember its limitations: No matter how much you tinker with your prompts, the LLM may still produce factual hallucinations and biases. Always sense-check your output.
Ask too many questions in a single prompt: It is better to ask each question as an individual prompt if possible. Some models, such as ChatGPT, will already take your previous questions (and its own response) into account.
Mix topics: For the same reason, you should avoid mixing too many topics together in the same chat window for chatbots like ChatGPT. The model may infer a connection between your prompts, when in fact there is none.