Bird
Raised Fist0
Prompt Engineering / GenAIml~5 mins

Agent architecture (observe, think, act) in Prompt Engineering / GenAI - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What are the three main steps in the agent architecture?
The three main steps are: Observe (gather information from the environment), Think (process and decide what to do), and Act (perform an action based on the decision).
Click to reveal answer
beginner
Why is the 'Observe' step important in an agent's architecture?
The 'Observe' step is important because it collects data from the environment, which is necessary for the agent to understand the current situation before making decisions.
Click to reveal answer
beginner
Explain the 'Think' step in agent architecture in simple terms.
The 'Think' step is when the agent uses the information it observed to decide what to do next. It’s like when you stop and think before acting.
Click to reveal answer
beginner
What happens during the 'Act' step in an agent architecture?
During the 'Act' step, the agent carries out the chosen action in the environment, like moving, speaking, or changing something based on its decision.
Click to reveal answer
intermediate
How does the cycle of observe, think, and act help an agent perform tasks?
This cycle helps the agent continuously update its understanding, make decisions, and respond to changes, allowing it to perform tasks effectively and adapt to new situations.
Click to reveal answer
What is the first step an agent takes in its architecture?
ALearn from data
BObserve the environment
CAct on the environment
DThink about the problem
During which step does the agent decide what to do?
AObserve
BAct
CThink
DSense
What does the 'Act' step involve?
AStoring information
BMaking a decision
CCollecting data
DPerforming an action
Why is the observe-think-act cycle repeated continuously?
ATo allow the agent to adapt to changes
BTo keep the agent powered
CTo store data permanently
DTo avoid making decisions
Which step directly interacts with the environment?
AAct
BObserve
CThink
DPlan
Describe the three steps of agent architecture and explain why each is important.
Think about how an agent senses, decides, and then does something.
You got /4 concepts.
    How does the observe-think-act cycle help an agent adapt to new situations?
    Consider how repeating these steps helps the agent respond to changes.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following best describes the observe step in an agent architecture?
      easy
      A. Collecting information from the environment
      B. Making decisions based on data
      C. Performing actions to change the environment
      D. Storing past experiences for learning

      Solution

      1. Step 1: Understand the role of observation

        The observe step is about gathering data or signals from the environment around the agent.
      2. Step 2: Differentiate from other steps

        Thinking is about decision-making, and acting is about doing something. Observation is just about sensing.
      3. Final Answer:

        Collecting information from the environment -> Option A
      4. Quick Check:

        Observe = Collect data [OK]
      Hint: Observe means sensing or collecting data first [OK]
      Common Mistakes:
      • Confusing observe with think or act
      • Thinking observe means acting
      • Mixing observe with storing data
      2. Which of the following is the correct order of steps in a simple agent architecture?
      easy
      A. Act, Think, Observe
      B. Think, Observe, Act
      C. Think, Act, Observe
      D. Observe, Think, Act

      Solution

      1. Step 1: Recall the agent cycle

        The agent first observes the environment, then thinks (decides), and finally acts.
      2. Step 2: Match the sequence

        Only the sequence Observe, Think, Act matches the correct order of operations.
      3. Final Answer:

        Observe, Think, Act -> Option D
      4. Quick Check:

        Order = Observe, Think, Act [OK]
      Hint: Remember: Sense first, then decide, then do [OK]
      Common Mistakes:
      • Mixing up the order of steps
      • Starting with act before observe
      • Confusing think and observe order
      3. Consider this simple Python agent code snippet:
      class Agent:
          def observe(self, data):
              self.data = data
          def think(self):
              return self.data * 2
          def act(self, result):
              print(f"Action: {result}")
      
      agent = Agent()
      agent.observe(5)
      result = agent.think()
      agent.act(result)

      What will be printed when this code runs?
      medium
      A. No output, error occurs
      B. Action: 10
      C. Action: 25
      D. Action: 5

      Solution

      1. Step 1: Follow the observe method

        The agent observes the value 5 and stores it in self.data.
      2. Step 2: Follow the think method

        The think method returns self.data * 2, which is 5 * 2 = 10.
      3. Step 3: Follow the act method

        The act method prints "Action: 10" using the result from think.
      4. Final Answer:

        Action: 10 -> Option B
      5. Quick Check:

        5 * 2 = 10 printed [OK]
      Hint: Multiply observed data by 2, then print [OK]
      Common Mistakes:
      • Confusing observe data with result
      • Forgetting to multiply by 2
      • Expecting no output or error
      4. This agent code has a bug:
      class Agent:
          def observe(self, data):
              self.data = data
          def think(self):
              return self.data + 1
          def act(self, result):
              print(f"Action: {result}")
      
      agent = Agent()
      result = agent.think()
      agent.act(result)

      What is the error and how to fix it?
      medium
      A. Error: self.data not set before think; fix by calling observe first
      B. Error: act method missing return; fix by adding return statement
      C. Error: observe method has wrong parameter; fix by renaming parameter
      D. No error; code runs fine

      Solution

      1. Step 1: Identify missing observe call

        The code calls think before observe, so self.data is not set.
      2. Step 2: Understand consequence

        Calling think tries to use self.data which does not exist, causing an error.
      3. Step 3: Fix by calling observe first

        Call agent.observe(some_value) before think to set self.data properly.
      4. Final Answer:

        Error: self.data not set before think; fix by calling observe first -> Option A
      5. Quick Check:

        Observe must run before think [OK]
      Hint: Always observe before think to set data [OK]
      Common Mistakes:
      • Ignoring the missing observe call
      • Thinking act needs return
      • Confusing parameter names
      5. You want to build an agent that observes temperature, thinks if it's too hot (>30°C), and acts by turning on a fan. Which code snippet correctly implements the think method?
      hard
      A. def think(self): return self.data == 30
      B. def think(self): if self.data < 30: return True else: return False
      C. def think(self): return self.data > 30
      D. def think(self): return self.data * 30

      Solution

      1. Step 1: Understand the condition for action

        The agent should act if temperature is greater than 30°C, so think returns True if data > 30.
      2. Step 2: Check each option

        def think(self): return self.data > 30 returns True if data > 30, matching the requirement. Others do not correctly check this condition.
      3. Final Answer:

        def think(self): return self.data > 30 -> Option C
      4. Quick Check:

        Think returns True if hot (>30) [OK]
      Hint: Think returns True if temperature > 30 [OK]
      Common Mistakes:
      • Using wrong comparison operators
      • Returning True for less than 30
      • Multiplying data instead of comparing