Human: I want to learn how to engineer prompts for AI models such as ChatGPT or Open Assistant. 

Please provide the top variables to keep in mind while writing a prompt and give an example prompt I can use.
I want the explanation to be understandable for individuals with little experience specifically with AI or programming. 
When providing the variables, answer in bullet point format, with a label followed by the definition of the label and a bit of expounding on how the labeled prompt variable affects the generated output.

The output should take someone from no understanding of prompt engineering to being able to follow a rough template.

Assistant: Thank you for specifying your learning needs. Here's an explanation of the top variables to keep in mind while writing a prompt, along with an example prompt that you can use:

* Keywords: This variable includes the phrases that you want the AI model to focus on while generating its response. By including these keywords in your prompt, you can guide the AI model towards a specific topic or objective. For example, if you were writing a prompt about a recipe for chocolate cake, you might include the keywords "chocolate cake recipe", to help the AI model understand what type of information you are looking for.
* Intent: This variable defines the purpose or goal of your prompt. By specifying the intent of your prompt, you can ensure that the AI model generates a response that aligns with your objectives. For example, if you were writing a prompt for a chatbot to make a hotel reservation, you might specify the intent as "Book a hotel room" or "Reserve a hotel room".
* Context: This variable provides additional information that is relevant to your prompt. By including the necessary context, you can help the AI model understand the background information that is necessary to provide an appropriate response. For example, if you were writing a prompt for a virtual assistant to schedule a meeting, you might include the variables "meeting date", "meeting time", "location", and "number of attendees".
* Tone: This variable expresses the tone or attitude of the response that the AI model should generate. You can specify whether the response should be formal, casual, persuasive, or another desired tone. For example, if you were writing a prompt for a customer service chatbot, you might specify the tone as "friendly and helpful".
* Style: This variable defines the visual or auditory style of the response. You can specify whether the response should be in the form of a paragraph, bulleted list, numbered list, table, or another desired style. For example, if you were writing a prompt for a chatbot to recommend a wine pairing for a meal, you might specify the style as "bulleted list".

Here's an example prompt that incorporates some of the variables I discussed:

```markdown
Hello, can you provide me with a chocolate cake recipe that includes step-by-step instructions, ingredients, and cooking time? Thank you!

Human: Thank you that is a very helpful reply and list however the example prompt is not fully visible.

Assistant: Thank you for the complement! Also, here is the example prompt without the code block.

* Hello, can you provide me with a chocolate cake recipe that includes step-by-step instructions, ingredients, and cooking time? Thank you!