Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Agent memory and state in Prompt Engineering / GenAI - 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 an agent's memory as an empty list.

Prompt Engineering / GenAI
agent_memory = [1]
Drag options to blanks, or click blank then click option'
ANone
B{}
C[]
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using {} which creates an empty dictionary instead of a list.
2fill in blank
medium

Complete the code to add a new state entry to the agent's memory list.

Prompt Engineering / GenAI
agent_memory.[1](new_state)
Drag options to blanks, or click blank then click option'
Aappend
Bextend
Cinsert
Dremove
Attempts:
3 left
💡 Hint
Common Mistakes
Using extend which expects an iterable, not a single item.
3fill in blank
hard

Fix the error in the code to retrieve the last state from the agent's memory.

Prompt Engineering / GenAI
last_state = agent_memory[1]
Drag options to blanks, or click blank then click option'
A[-1]
B[0]
C[-2]
D[1]
Attempts:
3 left
💡 Hint
Common Mistakes
Using [0] which gets the first state, not the last.
4fill in blank
hard

Fill both blanks to update the agent's current state and save it in memory.

Prompt Engineering / GenAI
current_state = [1]
agent_memory.[2](current_state)
Drag options to blanks, or click blank then click option'
Aget_new_state()
Bappend
Cpop
Dupdate
Attempts:
3 left
💡 Hint
Common Mistakes
Using pop which removes an item instead of adding.
5fill in blank
hard

Fill all three blanks to create a dictionary of states with their timestamps and filter recent states.

Prompt Engineering / GenAI
state_log = [1]: [2] for [3] in agent_memory if [2]['timestamp'] > cutoff_time
Drag options to blanks, or click blank then click option'
Astate['id']
Bstate
Dstate['timestamp']
Attempts:
3 left
💡 Hint
Common Mistakes
Using timestamp as key which may not be unique.

Practice

(1/5)
1. What is the main purpose of agent memory in AI systems?
easy
A. To hold the current situation or context
B. To store past information for future use
C. To process new input data instantly
D. To delete old data automatically

Solution

  1. Step 1: Understand agent memory role

    Agent memory is designed to keep past information so the AI can remember what happened before.
  2. Step 2: Differentiate from agent state

    Agent state holds current context, not past data. Memory is about storing history.
  3. Final Answer:

    To store past information for future use -> Option B
  4. Quick Check:

    Agent memory = store past info [OK]
Hint: Memory = past info storage, state = current context [OK]
Common Mistakes:
  • Confusing memory with current state
  • Thinking memory deletes old data automatically
  • Assuming memory processes new input instantly
2. Which of the following is the correct way to update an agent's state in Python?
easy
A. agent_state = new_state
B. agent_state == new_state
C. agent_state := new_state
D. agent_state += new_state

Solution

  1. Step 1: Identify assignment syntax

    In Python, to update a variable, use a single equals sign =.
  2. Step 2: Check other options

    == is comparison, := is assignment expression but not typical for state update, += adds values, not replaces.
  3. Final Answer:

    agent_state = new_state -> Option A
  4. Quick Check:

    Use = for assignment [OK]
Hint: Use = to assign new state, not == or := [OK]
Common Mistakes:
  • Using == instead of = for assignment
  • Confusing := with = in simple updates
  • Using += when replacement is needed
3. Given this Python code snippet for an agent:
agent_memory = []
agent_state = {'mood': 'neutral'}

# Agent receives new info
new_info = 'happy'

# Update memory and state
agent_memory.append(new_info)
agent_state['mood'] = new_info

print(agent_memory, agent_state)
What will be the output?
medium
A. [] {'mood': 'neutral'}
B. ["happy"] {'mood': 'neutral'}
C. ["neutral"] {'mood': 'happy'}
D. ["happy"] {'mood': 'happy'}

Solution

  1. Step 1: Analyze memory update

    The code appends new_info ('happy') to agent_memory, so memory becomes ['happy'].
  2. Step 2: Analyze state update

    The agent's state key 'mood' is updated to 'happy'.
  3. Final Answer:

    ["happy"] {'mood': 'happy'} -> Option D
  4. Quick Check:

    Memory and state updated with 'happy' [OK]
Hint: Memory appends, state key updates with new info [OK]
Common Mistakes:
  • Forgetting append adds to list
  • Confusing state key value with memory content
  • Assuming memory or state unchanged
4. Consider this code snippet meant to update agent memory and state:
agent_memory = []
agent_state = {'status': 'idle'}

new_data = 'active'

# Intended to update memory and state
agent_memory = agent_memory.append(new_data)
agent_state['status'] == new_data

print(agent_memory, agent_state)
What is the main error causing unexpected output?
medium
A. Not initializing agent_memory as a list
B. Using == instead of = to update state
C. Using append() return value to assign memory
D. Forgetting to print agent_state

Solution

  1. Step 1: Check memory update line

    append() modifies list in place and returns None. Assigning it back sets agent_memory to None.
  2. Step 2: Check state update line

    The line uses == which compares but does not assign, so state remains unchanged.
  3. Final Answer:

    Using append() return value to assign memory -> Option C
  4. Quick Check:

    append() returns None, don't assign it [OK]
Hint: append() returns None; assign only new values [OK]
Common Mistakes:
  • Assigning append() result to list variable
  • Using == instead of = for assignment
  • Ignoring that append modifies list in place
5. You want an AI agent to remember user preferences over multiple sessions and adjust its behavior accordingly. Which combination best supports this goal?
hard
A. Use agent memory to store preferences and agent state to track current session context
B. Use only agent state to store all information permanently
C. Use agent memory only for current session and ignore state
D. Reset both memory and state after each session

Solution

  1. Step 1: Understand memory role for long-term data

    Agent memory stores past info like user preferences across sessions.
  2. Step 2: Understand state role for current context

    Agent state holds current session details to adjust behavior immediately.
  3. Final Answer:

    Use agent memory to store preferences and agent state to track current session context -> Option A
  4. Quick Check:

    Memory = long-term, state = current context [OK]
Hint: Memory for long-term, state for current session [OK]
Common Mistakes:
  • Using state for permanent storage
  • Ignoring memory for preferences
  • Resetting memory loses past info