Bird
Raised Fist0
Agentic AIml~20 mins

Supervisor agent pattern in Agentic AI - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Supervisor Agent Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Role of the Supervisor Agent in the Supervisor Agent Pattern
In the supervisor agent pattern, what is the primary role of the supervisor agent?
ATo directly execute all tasks without delegation
BTo monitor and coordinate subordinate agents to ensure task completion
CTo replace subordinate agents when they fail
DTo generate raw data for training machine learning models
Attempts:
2 left
💡 Hint
Think about who manages and oversees other agents in a team.
Model Choice
intermediate
2:00remaining
Choosing the Best Model for a Supervisor Agent
Which type of model is most suitable for implementing a supervisor agent that needs to evaluate multiple subordinate agents' outputs and decide the next steps?
AA rule-based decision system with conditional logic
BA simple linear regression model
CA convolutional neural network (CNN) designed for image recognition
DA recurrent neural network (RNN) for sequence prediction
Attempts:
2 left
💡 Hint
Consider the need for clear decision rules rather than pattern recognition.
Predict Output
advanced
2:30remaining
Output of Supervisor Agent Coordination Code
What is the output of the following Python code simulating a supervisor agent coordinating two subordinate agents?
Agentic AI
class SubordinateAgent:
    def __init__(self, name):
        self.name = name
    def perform_task(self):
        return f"Task done by {self.name}"

class SupervisorAgent:
    def __init__(self, agents):
        self.agents = agents
    def coordinate(self):
        results = []
        for agent in self.agents:
            results.append(agent.perform_task())
        return results

agents = [SubordinateAgent('Agent1'), SubordinateAgent('Agent2')]
supervisor = SupervisorAgent(agents)
output = supervisor.coordinate()
print(output)
A['Task done by Agent1']
B['Task done by Agent2', 'Task done by Agent1']
CTypeError: 'SubordinateAgent' object is not iterable
D['Task done by Agent1', 'Task done by Agent2']
Attempts:
2 left
💡 Hint
Look at the order of agents in the list and how results are collected.
Hyperparameter
advanced
2:00remaining
Key Hyperparameter for Supervisor Agent's Decision Threshold
In a supervisor agent that decides to reassign tasks based on confidence scores from subordinate agents, which hyperparameter is critical to tune?
AConfidence threshold for task reassignment
BNumber of layers in the supervisor agent's neural network
CBatch size used during training of subordinate agents
DLearning rate of the subordinate agents' models
Attempts:
2 left
💡 Hint
Focus on the parameter that controls when the supervisor decides to act.
🔧 Debug
expert
3:00remaining
Debugging Supervisor Agent Coordination Failure
Given the following code snippet for a supervisor agent, what error will occur when running it and why? class SupervisorAgent: def __init__(self, agents): self.agents = agents def coordinate(self): results = [] for agent in self.agents: results.append(agent.perform_task) return results class SubordinateAgent: def perform_task(self): return "done" agents = [SubordinateAgent(), SubordinateAgent()] supervisor = SupervisorAgent(agents) output = supervisor.coordinate() print(output)
ATypeError: 'method' object is not callable
B['done', 'done']
C['<bound method SubordinateAgent.perform_task of <__main__.SubordinateAgent object at 0x...>>', '<bound method SubordinateAgent.perform_task of <__main__.SubordinateAgent object at 0x...>>']
DAttributeError: 'SubordinateAgent' object has no attribute 'perform_task'
Attempts:
2 left
💡 Hint
Check if the method is called or just referenced.

Practice

(1/5)
1. What is the main role of a Supervisor agent in the supervisor agent pattern?
easy
A. To collect raw data from sensors
B. To train a single AI model
C. To replace all other agents with one
D. To manage and coordinate multiple AI agents

Solution

  1. Step 1: Understand the supervisor agent's purpose

    The supervisor agent is designed to oversee and coordinate multiple AI agents working together.
  2. Step 2: Differentiate from other roles

    Unlike training or data collection, the supervisor agent focuses on managing teamwork and quality control.
  3. Final Answer:

    To manage and coordinate multiple AI agents -> Option D
  4. Quick Check:

    Supervisor agent = manager of multiple agents [OK]
Hint: Supervisor agent = team manager of AI agents [OK]
Common Mistakes:
  • Confusing supervisor with data collector
  • Thinking supervisor trains models directly
  • Assuming supervisor replaces all agents
2. Which of the following is the correct way to describe the supervisor agent's function in code?
easy
A. supervisor.replace_agents()
B. supervisor.train_single_model(data)
C. supervisor.collect_results(agents)
D. supervisor.ignore_agent_outputs()

Solution

  1. Step 1: Identify supervisor's interaction with agents

    The supervisor collects and evaluates results from multiple agents, so a method like collect_results fits.
  2. Step 2: Eliminate incorrect options

    Training a single model, replacing agents, or ignoring outputs do not match the supervisor's coordination role.
  3. Final Answer:

    supervisor.collect_results(agents) -> Option C
  4. Quick Check:

    Supervisor collects results = collect_results() [OK]
Hint: Supervisor collects and evaluates agent outputs [OK]
Common Mistakes:
  • Choosing training method instead of collection
  • Thinking supervisor replaces agents
  • Ignoring outputs contradicts supervisor role
3. Given this code snippet for a supervisor agent pattern, what will be the printed output?
class Agent:
    def __init__(self, name, score):
        self.name = name
        self.score = score

class Supervisor:
    def __init__(self, agents):
        self.agents = agents
    def best_agent(self):
        return max(self.agents, key=lambda a: a.score).name

agents = [Agent('A1', 85), Agent('A2', 90), Agent('A3', 88)]
supervisor = Supervisor(agents)
print(supervisor.best_agent())
medium
A. A1
B. A2
C. A3
D. None

Solution

  1. Step 1: Understand the agent scores

    Agents have scores: A1=85, A2=90, A3=88.
  2. Step 2: Identify the agent with the highest score

    The best_agent method returns the name of the agent with the max score, which is A2 with 90.
  3. Final Answer:

    A2 -> Option B
  4. Quick Check:

    Max score agent = A2 [OK]
Hint: Max score agent name is printed [OK]
Common Mistakes:
  • Choosing agent with second highest score
  • Confusing agent names
  • Assuming None if not found
4. Identify the bug in this supervisor agent code snippet:
class Supervisor:
    def __init__(self, agents):
        self.agents = agents
    def best_score(self):
        return max(self.agents, key=lambda a: a.score)

agents = [{'name': 'A1', 'score': 80}, {'name': 'A2', 'score': 95}]
supervisor = Supervisor(agents)
print(supervisor.best_score())
medium
A. Agents should be objects, not dictionaries
B. max() function is used incorrectly
C. Missing return statement in best_score
D. Supervisor class missing __init__ method

Solution

  1. Step 1: Check agent data type and usage

    The best_score method expects agents with attribute score, but agents are dictionaries, not objects.
  2. Step 2: Understand attribute vs key access

    Using a.score on a dictionary causes an error; dictionaries need a['score'].
  3. Final Answer:

    Agents should be objects, not dictionaries -> Option A
  4. Quick Check:

    Attribute access on dict causes error [OK]
Hint: Use objects or adjust attribute access for dicts [OK]
Common Mistakes:
  • Thinking max() usage is wrong
  • Missing return statement (it exists)
  • Ignoring data type mismatch
5. You want to design a supervisor agent that combines outputs from three different AI agents solving a complex task. Which approach best fits the supervisor agent pattern?
hard
A. Collect outputs, evaluate quality, and select the best result
B. Run only the fastest agent and ignore others
C. Train all agents on the same data independently
D. Replace all agents with a single large model

Solution

  1. Step 1: Understand supervisor agent's coordination role

    The supervisor should gather outputs from all agents and decide which is best based on quality.
  2. Step 2: Evaluate other options

    Ignoring agents, training independently without coordination, or replacing agents contradict the supervisor pattern.
  3. Final Answer:

    Collect outputs, evaluate quality, and select the best result -> Option A
  4. Quick Check:

    Supervisor = collect + evaluate + select best [OK]
Hint: Supervisor picks best output from all agents [OK]
Common Mistakes:
  • Ignoring some agents' outputs
  • Confusing training with supervising
  • Replacing agents instead of coordinating