Bird
Raised Fist0
Agentic AIml~10 mins

Autonomous vs semi-autonomous agents in Agentic AI - Interactive 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 define an autonomous agent class with a method to act independently.

Agentic AI
class AutonomousAgent:
    def __init__(self, name):
        self.name = name

    def [1](self):
        return f"{self.name} is acting on its own decisions."
Drag options to blanks, or click blank then click option'
Aact
Bdecide
Crun
Dmove
Attempts:
3 left
💡 Hint
Common Mistakes
Using method names that don't clearly indicate action like 'run' or 'move'.
2fill in blank
medium

Complete the code to add a semi-autonomous agent method that requires human input.

Agentic AI
class SemiAutonomousAgent:
    def __init__(self, name):
        self.name = name

    def [1](self, command):
        return f"{self.name} executes command: {command}"
Drag options to blanks, or click blank then click option'
Aact
Bdecide
Cexecute
Dperform
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing 'act' which implies independent action rather than following commands.
3fill in blank
hard

Fix the error in the code to correctly check if an agent is autonomous.

Agentic AI
def is_autonomous(agent):
    if agent.[1] == 'act':
        return True
    else:
        return False
Drag options to blanks, or click blank then click option'
Aaction
Bact
Cexecute
Dperform
Attempts:
3 left
💡 Hint
Common Mistakes
Using attribute names that don't exist like 'action' or 'perform'.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps agent names to their action methods.

Agentic AI
agents = [autonomous_agent, semi_autonomous_agent]
actions = {agent.[1]: agent.[2] for agent in agents}
Drag options to blanks, or click blank then click option'
Aname
Bact
Cexecute
Dperform
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'execute' for all agents which is only for semi-autonomous.
5fill in blank
hard

Fill all three blanks to define a function that calls the correct method based on agent type.

Agentic AI
def perform_action(agent, command=None):
    if hasattr(agent, '[1]'):
        return agent.[1]()
    elif hasattr(agent, '[2]') and command is not None:
        return agent.[2]([3])
Drag options to blanks, or click blank then click option'
Aact
Bexecute
Ccommand
Dperform
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'perform' which is not defined in the classes.

Practice

(1/5)
1. Which of the following best describes an autonomous agent?
easy
A. An agent that always asks humans before acting.
B. An agent that cannot make any decisions by itself.
C. An agent that only works when supervised by humans.
D. An agent that acts fully on its own without human help.

Solution

  1. Step 1: Understand the definition of autonomous agents

    Autonomous agents operate independently without needing human input.
  2. Step 2: Compare options with the definition

    Only An agent that acts fully on its own without human help. states the agent acts fully on its own, matching the definition.
  3. Final Answer:

    An agent that acts fully on its own without human help. -> Option D
  4. Quick Check:

    Autonomous = acts fully alone [OK]
Hint: Autonomous means acting alone without asking [OK]
Common Mistakes:
  • Confusing autonomous with semi-autonomous
  • Thinking autonomous agents always ask humans
  • Believing autonomous agents need supervision
2. Which syntax correctly describes a semi-autonomous agent's behavior?
easy
A. Always acts without human input.
B. Sometimes asks humans for help before acting.
C. Never acts on its own.
D. Requires constant human supervision.

Solution

  1. Step 1: Recall semi-autonomous agent behavior

    Semi-autonomous agents sometimes ask humans for help but can act alone at times.
  2. Step 2: Match options to this behavior

    Sometimes asks humans for help before acting. correctly states the agent sometimes asks humans before acting.
  3. Final Answer:

    Sometimes asks humans for help before acting. -> Option B
  4. Quick Check:

    Semi-autonomous = sometimes asks humans [OK]
Hint: Semi-autonomous means sometimes asking humans [OK]
Common Mistakes:
  • Choosing options that say 'always' or 'never' incorrectly
  • Confusing semi-autonomous with fully autonomous
  • Assuming semi-autonomous agents never act alone
3. Consider this code snippet simulating agent behavior:
class Agent:
    def __init__(self, autonomous):
        self.autonomous = autonomous
    def act(self):
        if self.autonomous:
            return "Acting alone"
        else:
            return "Asking human for help"
agent = Agent(False)
print(agent.act())

What is the output?
medium
A. "Asking human for help"
B. "Acting alone"
C. Error: Missing method
D. "Idle"

Solution

  1. Step 1: Analyze the agent initialization

    The agent is created with autonomous = False, meaning it is semi-autonomous.
  2. Step 2: Check the act() method behavior

    If autonomous is False, the method returns "Asking human for help".
  3. Final Answer:

    "Asking human for help" -> Option A
  4. Quick Check:

    False autonomous means ask human [OK]
Hint: False autonomous means agent asks human [OK]
Common Mistakes:
  • Assuming False means acting alone
  • Expecting an error due to method
  • Confusing output strings
4. Find the error in this semi-autonomous agent code:
class SemiAutonomousAgent:
    def __init__(self):
        self.needs_help = True
    def act(self):
        if self.needs_help == True:
            return "Requesting human help"
        else:
            return "Acting alone"
agent = SemiAutonomousAgent()
print(agent.act())
medium
A. Incorrect class name
B. Missing return statement
C. Syntax error in the if condition
D. No error, code runs fine

Solution

  1. Step 1: Check the if condition syntax

    The condition uses '=' which is assignment, not comparison. It should be '==' for comparison.
  2. Step 2: Identify the error type

    Using '=' in an if condition causes a syntax error in Python.
  3. Final Answer:

    Syntax error in the if condition -> Option C
  4. Quick Check:

    Use '==' for comparison in if [OK]
Hint: Use '==' for comparisons, not '=' [OK]
Common Mistakes:
  • Using '=' instead of '==' in conditions
  • Ignoring syntax errors
  • Thinking class name affects syntax
5. You want to design an agent for a high-risk medical diagnosis task. Which agent type is best and why?
hard
A. Semi-autonomous agent, because it can ask humans for help in complex cases.
B. Autonomous agent, because it never needs human input.
C. Autonomous agent, because it acts quickly without human delay.
D. Semi-autonomous agent, because it never acts on its own.

Solution

  1. Step 1: Understand the task complexity and risk

    High-risk medical diagnosis requires careful decisions and human oversight.
  2. Step 2: Choose agent type based on risk

    Semi-autonomous agents can ask humans for help, reducing risk of errors.
  3. Final Answer:

    Semi-autonomous agent, because it can ask humans for help in complex cases. -> Option A
  4. Quick Check:

    High-risk tasks need human help, so semi-autonomous [OK]
Hint: Use semi-autonomous for complex, risky tasks [OK]
Common Mistakes:
  • Choosing fully autonomous for risky tasks
  • Ignoring need for human help
  • Thinking semi-autonomous never acts alone