# data[].attributes.body
In the past, I encountered a challenge in a Reels creation assignment due to the ambiguity of the provided criteria. Without clear guidance, I resorted to interpreting the criteria subjectively, resulting in outputs that lacked reliability and consistency. Upon presenting my assignment and receiving feedback from my professor, I realized the shortcomings of my approach. Specifically, I learned the importance of objectively refining and clearly segmenting criteria to enhance the reliability and clarity of my work.

One of the most challenging activities in this class was prompt creation. Previously, my use of AI tools had been limited to conveniently finding quick answers or generating code and subsequently debugging issues. Consequently, I hadn't paid much attention to the quality or clarity of my initial prompts. Instead, I relied on repeated instructions, adjusting my requests until I eventually obtained a satisfactory outcome. Initially, I never considered that the issue might originate from the quality of my questions themselves.

However, during this class, we explored Bloom's Taxonomy, which fundamentally changed my approach to creating prompts. By systematically considering who is asking the question and the context in which it is posed, I became capable of clearly identifying the intended outcomes. Additionally, by contemplating the potential impacts of answers across past, present, and future contexts, my ability to formulate precise and meaningful questions significantly improved. Now, I possess the skills necessary to discern what constitutes a good, effective question.

# data[].attributes.body
This course really defined "learning." Using AI tools or other online media was just one method of completing my assignments. Moreover, I even copy-and-paste the code written by AI, especially Chat GPT, without a single change. Before this course, AI was a tool that reduced the effort and time that was supposed to be spent on my learning through tasks. I didn't even realize that the "way" of using these was the wrong way of really integrating AI into my learnings.

During this class, I had countless activities that expanded my ways of using Chat GPT. Every time using GPT, I had to correct its answer or the way it was giving me the response. I thought the reason why GPT can't give a satisfactory answer at once is because it's still in the developing stage. However, I realized that the way of questioning or giving tasks was wrong. The prompt I made before learning about Bloom's Taxonomy is now considered the worst question. I now know that I have to include more details about users as well as the requirements and environments of the user's current state. Also, I had a discussion with the whole class about the 'good' question. I thought good questions were the questions that have deepening contents in the questions. However, a good question is something that has the full information of the user and what the user needs from its question. This in-class activity was one of the best activities I had this semester because I could re-structure the way of making questions, whether to AI or in my real situation.

This course wasn't just a class for my grades, but it just affected my whole life. I'll be going through so many times using AI, and from now on, I'll be able to use these tools more integrated.

# data[].attributes.body
By the end of this lesson, students will be able to explain the six levels of Bloom's Taxonomy and apply them to create effective AI prompts.

# data[].attributes.body
Students will:
- Identify and describe each level of Bloom's Taxonomy
- Analyze how different cognitive levels affect question quality
- Create and evaluate AI prompts using Bloom's framework

# data[].attributes.body
How can we use Bloom's Taxonomy to enhance our interaction with AI and create more meaningful prompts?

# data[].attributes.body
Direct instruction on the six levels: Remember, Understand, Apply, Analyze, Evaluate, Create. Include examples of each level.

# data[].attributes.attachment_link.title
Bloom's Taxonomy (Explained in 3 Minutes)

# data[].attributes.body
Using Padlet, students will collaborate in groups to categorize given AI prompts according to Bloom's levels. Share and discuss classifications with the class.

# data[].attributes.body
Students work in pairs to transform lower-order prompts into higher-order ones using Bloom's framework. Example: From 'What is machine learning?' to 'How might machine learning reshape education in the next decade?'

# data[].attributes.body
Students test their prompts with AI and analyze the quality of responses based on the cognitive level targeted.

# data[].attributes.body
Advanced students can create a decision tree for determining which Bloom's level is most appropriate for different types of AI interactions.

# data[].attributes.body
Throughout the lesson, monitor student discussions and prompt classifications. Use think-pair-share to check understanding.

# data[].attributes.body
Students will use a rubric to evaluate their peers' AI prompts based on Bloom's levels and effectiveness.

# data[].attributes.body
Create a portfolio of 6 AI prompts, one for each level of Bloom's Taxonomy, with explanations of how each aligns with the cognitive level targeted.

# data[].attributes.attachment_link.description
This page failed to load. Our development team has been informed of the issue.

# data[].attributes.body
In small groups on Padlet, students share their most successful AI prompt and explain why it worked well using Bloom's framework.

# data[].attributes.body
Individual reflection: What level of Bloom's Taxonomy do you find most challenging to write prompts for, and why?

# data[].attributes.body
Create a journal of AI interactions using different levels of Bloom's Taxonomy. Document the effectiveness of each prompt.

# data[].attributes.body
Find three real-world examples of AI prompts online and analyze their cognitive level using Bloom's Taxonomy.

# data[].attributes.attachment_link.readable_text
The previous section introduced a basic example of how to prompt LLMs.

This section will provide more examples of how to use prompts to achieve different tasks and introduce key concepts along the way. Often, the best way to learn concepts is by going through examples. The few examples below illustrate how you can use well-crafted prompts to perform different types of tasks.

Topics:

Text Summarization

One of the standard tasks in natural language generation is text summarization. Text summarization can include many different flavors and domains. In fact, one of the most promising applications of language models is the ability to summarize articles and concepts into quick and easy-to-read summaries. Let's try a basic summarization task using prompts.

Let's say you are interested to learn about antibiotics, you could try a prompt like this:

The "A:" is an explicit prompt format that you use in question answering. You used it here to tell the model that there is an answer expected further. In this example, it's not clear how this is useful vs not using it but we will leave it that for later examples. Let's just assume that this is too much information and you want to summarize it further. In fact, you can instruct the model to summarize into one sentence like so:

Without paying too much attention to the accuracy of the output above, which is something we will touch on in a later guide, the model tried to summarize the paragraph in one sentence. You can get clever with the instructions but we will leave that for a later chapter. Feel free to pause here and experiment to see if you get better results.

Information Extraction

While language models are trained to perform natural language generation and related tasks, it's also very capable of performing classification and a range of other natural language processing (NLP) tasks.

Here is an example of a prompt that extracts information from a given paragraph.

There are many ways you can improve the results above, but this is already very useful.

By now it should be obvious that you can ask the model to perform different tasks by simply instructing it what to do. That's a powerful capability that AI product developers are already using to build powerful products and experiences.

Paragraph source: ChatGPT: five priorities for research (opens in a new tab)

Question Answering

One of the best ways to get the model to respond with specific answers is to improve the format of the prompt. As covered before, a prompt could combine instructions, context, input, and output indicators to get improved results. While these components are not required, it becomes a good practice as the more specific you are with instruction, the better results you will get. Below is an example of how this would look following a more structured prompt.

Answer the question based on the context below. Keep the answer short and concise. Respond "Unsure about answer" if not sure about the answer. Context: Teplizumab traces its roots to a New Jersey drug company called Ortho Pharmaceutical. There, scientists generated an early version of the antibody, dubbed OKT3. Originally sourced from mice, the molecule was able to bind to the surface of T cells and limit their cell-killing potential. In 1986, it was approved to help prevent organ rejection after kidney transplants, making it the first therapeutic antibody allowed for human use. Question: What was OKT3 originally sourced from?

Context obtained from Nature (opens in a new tab) .

Text Classification

So far, you have used simple instructions to perform a task. As a prompt engineer, you need to get better at providing better instructions. But that's not all! You will also find that for harder use cases, just providing instructions won't be enough. This is where you need to think more about the context and the different elements you can use in a prompt. Other elements you can provide are input data or examples.

Let's try to demonstrate this by providing an example of text classification.

You gave the instruction to classify the text and the model responded with 'Neutral', which is correct. Nothing is wrong with this but let's say that what you really need is for the model to give the label in the exact format you want. So instead of Neutral, you want it to return neutral. How do you achieve this? There are different ways to do this. You care about specificity here, so the more information you can provide the prompt, the better results. You can try providing examples to specify the correct behavior. Let's try again:

Classify the text into neutral, negative or positive. Text: I think the vacation is okay. Sentiment: neutral Text: I think the food was okay.

Perfect! This time the model returned neutral which is the specific label you were looking for. It seems that the example provided in the prompt helped the model to be specific in its output.

To highlight why sometimes being specific is important, check out the example below and spot the problem:

What is the problem here? As a hint, the made-up nutral label is completely ignored by the model. Instead, the model outputs Neutral as it has some bias towards that label. But let's assume that what you really want is nutral. How would you fix this? Maybe you can try adding descriptions to the labels or add more examples to the prompt? If you are not sure, we will discuss a few ideas in the upcoming sections.

Conversation

Perhaps one of the more interesting things you can achieve with prompt engineering is instructing the LLM system on how to behave, its intent, and its identity. This is particularly useful when you are building conversational systems like customer service chatbots.

For instance, let's create a conversational system that's able to generate more technical and scientific responses to questions. Note how you are explicitly telling it how to behave through the instruction. This is sometimes referred to as role prompting.

Our AI research assistant sounds a bit too technical, right? Okay, let's change this behavior and instruct the system to give more accessible answers.

You made some progress. You can continue improving it. If you add more examples, you might get even better results.

Code Generation

One application where LLMs are quite effective is code generation. Copilot is a great example of this. There are a vast number of code-generation tasks you can perform with clever prompts. Let's look at a few examples below.

First, let's try a simple program that greets the user.

Notice that you didn't even need to specify the language to use.

Let's switch levels a bit. The example below shows how powerful LLMs can be with a little more effort in designing the prompts.

 Table departments, columns = [DepartmentId, DepartmentName] Table students, columns = [DepartmentId, StudentId, StudentName] Create a MySQL query for all students in the Computer Science Department

This is very impressive. In this case, you provided data about the database schema and asked it to generate a valid MySQL query.

Reasoning

Perhaps one of the most difficult tasks for an LLM today is one that requires some form of reasoning. Reasoning is one of most interesting areas due to the types of complex applications that can emerge from LLMs.

There have been some improvements in tasks involving mathematical capabilities. That said, it's important to note that current LLMs struggle to perform reasoning tasks so this requires even more advanced prompt engineering techniques. We will cover these advanced techniques in the next guide. For now, we will cover a few basic examples to show arithmetic capabilities.

Let's try something more difficult.

That's incorrect! Let's try to improve this by improving the prompt.

Much better, right? By the way, we tried this task a couple of times and the model sometimes fails. If you provide better instructions combined with examples, it might help get more accurate results.

In the upcoming section, we will cover even more advanced prompt engineering concepts and techniques for improving performance on all these and more difficult tasks.

Notebook

If you want to practice with the prompts above using Python, we have prepared a notebook to test some of the prompts using the OpenAI models.

# data[].attributes.attachment_link.description
A Comprehensive Overview of Prompt Engineering

# data[].attributes.body
Design a mini-lesson that teaches one concept using AI prompts from at least three different levels of Bloom's Taxonomy.