Bird
Raised Fist0
Agentic AIml~10 mins

Short-term memory (conversation context) in Agentic AI - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to initialize a short-term memory buffer as an empty list.

Agentic AI
short_term_memory = [1]
Drag options to blanks, or click blank then click option'
ANone
B0
C{}
D[]
Attempts:
3 left
💡 Hint
Common Mistakes
Using curly braces {} which creates a dictionary instead of a list.
Setting the memory to None or 0 which cannot hold conversation data.
2fill in blank
medium

Complete the code to add a new user message to the short-term memory list.

Agentic AI
short_term_memory.[1](user_message)
Drag options to blanks, or click blank then click option'
Apop
Binsert
Cappend
Dremove
Attempts:
3 left
💡 Hint
Common Mistakes
Using insert without specifying an index.
Using remove or pop which delete items instead of adding.
3fill in blank
hard

Fix the error in the code to retrieve the last message from short-term memory safely.

Agentic AI
last_message = short_term_memory[1] if short_term_memory else None
Drag options to blanks, or click blank then click option'
A[-1]
B[-2]
C[0]
D[1]
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 0 which gets the first message, not the last.
Using index 1 or -2 which may cause errors if the list is too short.
4fill in blank
hard

Fill both blanks to create a function that clears short-term memory and returns its previous content.

Agentic AI
def reset_memory():
    previous = short_term_memory[1]
    short_term_memory[2]()
    return previous
Drag options to blanks, or click blank then click option'
A[:]
Bclear
Ccopy
Dpop
Attempts:
3 left
💡 Hint
Common Mistakes
Using copy() which returns a copy but is not used here.
Using pop() which removes only one item.
5fill in blank
hard

Fill all three blanks to update short-term memory by keeping only the last 5 messages.

Agentic AI
short_term_memory = short_term_memory[1][-[2]:]
if len(short_term_memory) > [3]:
    short_term_memory.pop(0)
Drag options to blanks, or click blank then click option'
A.copy()
B5
C10
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Not copying the list before slicing which can cause unexpected behavior.
Using wrong slice length or wrong limit in the if condition.

Practice

(1/5)
1. What is the main purpose of short-term memory in an AI conversation?
easy
A. To remember recent messages and keep the conversation connected
B. To store all past conversations permanently
C. To delete irrelevant messages immediately
D. To speed up the AI's processing by ignoring context

Solution

  1. Step 1: Understand short-term memory role

    Short-term memory stores recent conversation parts to keep context.
  2. Step 2: Compare options with this role

    Only To remember recent messages and keep the conversation connected matches this purpose; others describe different or incorrect functions.
  3. Final Answer:

    To remember recent messages and keep the conversation connected -> Option A
  4. Quick Check:

    Short-term memory = recent context [OK]
Hint: Short-term memory = recent messages stored [OK]
Common Mistakes:
  • Confusing short-term with long-term memory
  • Thinking it stores all past conversations
  • Believing it deletes messages immediately
2. Which of the following is the correct way to represent short-term memory storing the last 3 messages in Python?
easy
A. short_term_memory = messages[0]
B. short_term_memory = messages[:3]
C. short_term_memory = messages[3:]
D. short_term_memory = messages[-3:]

Solution

  1. Step 1: Understand Python list slicing for last 3 items

    Using messages[-3:] gets the last 3 messages from the list.
  2. Step 2: Check other options

    messages[:3] gets first 3, messages[3:] gets from 4th to end, messages[0] gets only first message.
  3. Final Answer:

    short_term_memory = messages[-3:] -> Option D
  4. Quick Check:

    Last 3 messages slice = messages[-3:] [OK]
Hint: Negative slice gets last items in list [OK]
Common Mistakes:
  • Using positive slice for last items
  • Selecting only one message instead of three
  • Confusing start and end indices
3. Given the code below, what will be the output of print(short_term_memory)?
messages = ['Hi', 'How are you?', 'I am fine', 'What about you?', 'Good!']
short_term_memory = messages[-2:]
print(short_term_memory)
medium
A. ['Hi', 'How are you?']
B. ['I am fine', 'What about you?']
C. ['What about you?', 'Good!']
D. ['Good!']

Solution

  1. Step 1: Understand list slicing with negative indices

    messages[-2:] selects the last two items from the list.
  2. Step 2: Identify last two messages

    The last two messages are 'What about you?' and 'Good!'.
  3. Final Answer:

    ['What about you?', 'Good!'] -> Option C
  4. Quick Check:

    messages[-2:] = last two messages [OK]
Hint: Negative slice picks last elements [OK]
Common Mistakes:
  • Selecting wrong slice range
  • Confusing order of messages
  • Printing only one message instead of two
4. The following code is intended to keep only the last 3 messages in short-term memory, but it has a bug. What is the bug?
messages = ['Hello', 'What is AI?', 'Tell me more', 'Thanks']
short_term_memory = messages[3:]
print(short_term_memory)
medium
A. It causes an IndexError
B. It keeps only the last message instead of last three
C. It keeps the first three messages instead of last three
D. It clears the list completely

Solution

  1. Step 1: Analyze the slice messages[3:]

    This slice starts at index 3 and goes to the end, so it keeps only the last message 'Thanks'.
  2. Step 2: Compare with intended behavior

    The goal was to keep last 3 messages, but this code keeps only one message.
  3. Final Answer:

    It keeps only the last message instead of last three -> Option B
  4. Quick Check:

    messages[3:] = last message only [OK]
Hint: Check slice start index carefully [OK]
Common Mistakes:
  • Assuming slice keeps last 3 messages
  • Expecting an error when none occurs
  • Confusing slice start and end
5. You want an AI agent to remember the last 4 messages in a conversation to keep context. The conversation messages are stored in a list called chat_history. Which code snippet correctly updates the short-term memory to always hold the last 4 messages after adding a new message new_msg?
hard
A. chat_history.append(new_msg) short_term_memory = chat_history[-4:]
B. short_term_memory = chat_history[:4] chat_history.append(new_msg)
C. short_term_memory = chat_history[-4:] chat_history.append(new_msg)
D. chat_history = chat_history[-4:] short_term_memory = new_msg

Solution

  1. Step 1: Add new message to chat_history first

    Appending new_msg to chat_history updates the conversation.
  2. Step 2: Slice last 4 messages for short-term memory

    Using chat_history[-4:] gets the last 4 messages including the new one.
  3. Final Answer:

    chat_history.append(new_msg) short_term_memory = chat_history[-4:] -> Option A
  4. Quick Check:

    Append then slice last 4 messages [OK]
Hint: Append first, then slice last 4 [OK]
Common Mistakes:
  • Slicing before appending new message
  • Assigning new message alone as memory
  • Slicing first 4 messages instead of last 4