Last updated on October 22, 2024
In this document, we introduce you to the concept of prompt engineering and explain why it's a crucial skill when working with Generative AI models like ChatGPT and DALL-E.
We cover:
If you're into prompt engineering, check our list of the 14 best prompt engineering courses with certificates.
Prompt engineering is the process of crafting and refining prompts to improve the performance of generative AI models. It involves providing specific inputs to tools like ChatGPT, Midjourney, or Gemini, guiding the AI to deliver more accurate and contextually relevant outputs.
When an AI model doesn’t produce the desired response, prompt engineering allows us to iterate and adjust the prompt to optimize the output. This method is particularly useful for overcoming limitations of generative models, such as logical errors or insufficient context in responses.
Generative AI relies heavily on the input it receives. The more clearly and contextually a task is described, the better the AI can respond. While anyone can try basic prompts, prompt engineering as a skill allows users to structure queries that better unlock an AI’s capabilities. Prompt engineering enables tasks from writing creative text to generating images or even code.
In today’s AI landscape, where large language models (LLMs) power a wide range of applications, prompt engineering is essential. It helps bridge the gap between vague, general queries and specific, targeted outputs that align with your goals. This iterative process ensures that the AI not only understands your intent but delivers results that require minimal post-processing.
Moreover, prompt engineering can mitigate risks like prompt injection attacks (where users try to manipulate the AI’s logic) and ensure that the model’s outputs align with desired ethical and operational standards.
A prompt is an input or instruction provided to an AI model to generate a response. Prompts can take many forms, from simple questions to more complex instructions that specify tone, style, or structure. They’re the mechanism through which users communicate with AI models, and the clarity of the prompt directly influences the quality of the AI’s output.
Here's an example of a prompt:
What is 923 * 99?
Let's see how it works:
923 * 99 equals 91,677.
In this case, ChatGPT confidently gives an incorrect answer (the correct answer is 91,377). The issue here is that the model isn’t designed to perform complex mathematical reasoning accurately on demand.
Generative AI models, like ChatGPT, can sometimes produce incorrect or misleading outputs. This often happens when a prompt is too vague, lacks necessary details, or doesn’t provide clear instructions.
Let's try to refine the prompt and encourage step-by-step reasoning to improve model's output:
What is 923 * 99?
Let's go step by step.
Always write out the full number of 0s for each term.
What model outputs:
To multiply 923 by 99, we can break it down into smaller steps:
Step 1: Write out the full number of 0s for each term: 923 * 99 = 923 * 990
Step 2: Multiply the first term by 9: 923 * 9 = 8307
Step 3: Multiply the first term by 90 (adding one 0): 923 * 90 = 83070
Step 4: Add the results from step 2 and step 3: 8307 + 83070 = 91377
Therefore, 923 multiplied by 99 is equal to 91,377.
Interestingly, with these additional instructions, ChatGPT provides the correct answer by walking through the steps.
This process of editing and refining the prompt is what we call prompt engineering. Adding specificity and guidance to the prompt improves the output and guides the model apply logical reasoning more effectively.
Generative AI models are trained to predict text based on patterns instead of deep reasoning or factual accuracy. By prompting the model to explicitly think through its steps and break down the problem, we reduce the chance of mistakes and make the task easier for the model to handle.
Prompt engineering is versatile and can be applied to many use cases across text, image, and code generation.
Here are some examples to illustrate its range:
Let’s start with text-based models like ChatGPT. Suppose you need help writing a marketing summary:
Write a marketing summary for a new AI tool that helps companies automate tasks.
The output might be too generic, so you refine it:
Write a 100-word marketing summary for an AI tool called TaskBot, which automates repetitive tasks for small businesses in industries like retail and healthcare. Highlight efficiency and cost savings.
This provides clearer instructions and results in a more targeted response.
For models like Midjourney or DALL-E, prompts are crafted to generate specific imagery.
A cat sitting on a chair.
By adding more details, you guide the model to generate an image that aligns with your vision.
Generate an image of a tabby cat sitting on a wooden chair in a cozy, sunlit room, with soft shadows and warm lighting.
Prompts can help generate or optimize code:
Write a Python function to multiply two numbers.
Write a Python function that multiplies two integers and returns the result. Include error handling for cases where inputs are not integers.
This ensures the AI writes robust, real-world-ready code.
Next, let’s apply prompt engineering in a creative context. Imagine we are developing a fictional AI product called "ArchaeologistAI," which tells stories about famous archaeologists. Let's ask ChatGPT to write a marketing tweet about it.
Write a tweet about ArchaeologistAI.
🔍 Exciting times ahead with #ArchaeologistAI!
This cutting-edge technology is revolutionizing the field of archaeology, helping us uncover ancient mysteries and piece together our past like never before.
Can't wait to see what hidden treasures and insights it unveils!
#AI #Archaeology
This Tweet is inaccurate because ArchaeologistAI doesn't discover new things—it only tells stories. This isn’t ChatGPT’s fault, as it wasn’t given enough context.
Let’s refine the prompt by including more specific details:
Write a tweet about ArchaeologistAI.
ArchaeologistAI tells stories about famous archaeologists.
🔍 Unearth the captivating tales of legendary archaeologists with #ArchaeologistAI!
From Indiana Jones to Mary Leakey, this AI-powered storyteller brings their adventures to life, shedding light on their groundbreaking discoveries and inspiring the next generation of explorers.
🌍 #Archaeology
Much better now! This is a much more accurate output because we added key details about the product’s functionality.
Now, let’s refine it further by asking ChatGPT to write the tweet in the style of Indiana Jones:
Write a tweet about ArchaeologistAI, in the style of Indiana Jones.
ArchaeologistAI tells stories about famous archaeologists.
Grab your fedora and whip, folks! 🎩🔥
ArchaeologistAI is like having a personal Sallah by your side, sharing captivating tales of legendary archaeologists who've braved ancient tombs and unearthed hidden treasures! 🗺️💎
Get ready to embark on a digital adventure through history!
#ArchaeologistAI #UnearthTheLegends
Alright, that may be the message we need to target archaeology fans! This version adds a fun, thematic spin to the message, making it more engaging. By iterating and refining the prompt, we were able to achieve the desired result.
Prompt engineering is an iterative process. The perfect prompt rarely happens on the first try, so it’s essential to practice refining your inputs to get the best possible output from generative AI models. As we’ve seen, adding specificity, providing context, and guiding the model with detailed instructions can significantly improve its responses.
In the following docs, we’ll explore different prompting strategies that will help you get better at crafting prompts for a variety of AI applications.
Basic prompts often lead to incorrect or suboptimal answers from generative AI models. Prompt engineering allows you to refine user instructions, adding context and specificity to improve the accuracy and relevance of the model’s responses.
In the ArchaeologistAI example, refining the prompt provided the model with the necessary context and instructions, resulting in a tweet that better aligned with the product’s functionality. By iterating on the prompt, we also tailored the message to a specific audience.
Becoming a better prompt engineer requires practice. Experiment with prompts across different domains, learn from failures, and continuously test new strategies. Our Learn Prompting guide provides a wide range of tools and techniques to help you master the art of prompt engineering.