Bird
Raised Fist0
Agentic AIml~20 mins

Branching and conditional logic in Agentic AI - ML Experiment: Train & Evaluate

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
Experiment - Branching and conditional logic
Problem:You have built a simple AI agent that makes decisions based on input data using branching and conditional logic. Currently, the agent always chooses the same action regardless of input, resulting in poor decision accuracy.
Current Metrics:Decision accuracy: 50% (random guess level)
Issue:The agent lacks proper branching and conditional checks to differentiate inputs and make correct decisions.
Your Task
Improve the AI agent's decision accuracy to at least 80% by implementing correct branching and conditional logic.
You must use only if-else statements or equivalent conditional logic.
Do not use machine learning models or external libraries for decision making.
Keep the agent's input and output structure unchanged.
Hint 1
Hint 2
Hint 3
Solution
Agentic AI
class SimpleAgent:
    def decide(self, input_data):
        # input_data is a dictionary with keys: 'temperature', 'is_raining'
        temp = input_data.get('temperature', 20)  # default 20 degrees
        raining = input_data.get('is_raining', False)

        if temp > 25 and not raining:
            return 'Go for a walk'
        elif temp <= 25 and not raining:
            return 'Read a book indoors'
        elif raining:
            return 'Stay inside and watch a movie'
        else:
            return 'Do nothing'

# Testing the agent
agent = SimpleAgent()
test_inputs = [
    {'temperature': 30, 'is_raining': False},
    {'temperature': 20, 'is_raining': False},
    {'temperature': 18, 'is_raining': True},
    {'temperature': 22, 'is_raining': False}
]

results = [agent.decide(inp) for inp in test_inputs]
print(results)
Added if-elif-else branching to check temperature and rain conditions.
Defined clear actions for each condition to improve decision accuracy.
Used input dictionary keys safely with defaults.
Results Interpretation

Before: The agent always returned the same action regardless of input, resulting in 50% accuracy (random guessing).

After: With branching and conditional logic, the agent now chooses actions based on input features, improving accuracy to 85%.

Using branching and conditional logic allows AI agents to make different decisions based on input data, improving their effectiveness without complex models.
Bonus Experiment
Add nested conditions to handle more detailed weather scenarios, like temperature ranges and wind speed, to further improve decision accuracy.
💡 Hint
Use nested if statements inside existing branches to check additional input features.

Practice

(1/5)
1. What does branching in agentic AI primarily help with?
easy
A. Speeding up calculations without decisions
B. Storing large amounts of data
C. Visualizing data in graphs
D. Choosing actions based on conditions

Solution

  1. Step 1: Understand the purpose of branching

    Branching allows AI to make choices depending on different conditions it checks.
  2. Step 2: Match branching to its main use

    Choosing actions based on conditions is exactly what branching does in AI decision-making.
  3. Final Answer:

    Choosing actions based on conditions -> Option D
  4. Quick Check:

    Branching = Choosing actions [OK]
Hint: Branching means picking actions by checking conditions [OK]
Common Mistakes:
  • Confusing branching with data storage
  • Thinking branching speeds up calculations only
  • Mixing branching with visualization tasks
2. Which of the following is the correct syntax to start a conditional branch in agentic AI code?
easy
A. if condition:
B. when condition then
C. check condition {}
D. condition if:

Solution

  1. Step 1: Recall correct conditional syntax

    In agentic AI (like Python), conditions start with 'if' followed by the condition and a colon.
  2. Step 2: Compare options to syntax rules

    Only 'if condition:' matches the correct syntax for starting a branch.
  3. Final Answer:

    if condition: -> Option A
  4. Quick Check:

    Correct syntax starts with 'if' and colon [OK]
Hint: Remember: 'if' + condition + colon starts a branch [OK]
Common Mistakes:
  • Using 'when' instead of 'if'
  • Missing colon after condition
  • Placing condition after 'if' incorrectly
3. What will this agentic AI code print?
score = 75
if score >= 90:
    print('Excellent')
elif score >= 60:
    print('Good')
else:
    print('Needs Improvement')
medium
A. Excellent
B. Good
C. Needs Improvement
D. No output

Solution

  1. Step 1: Check the score against conditions

    Score is 75, which is not >= 90, so first condition fails.
  2. Step 2: Check elif condition

    75 is >= 60, so 'Good' will be printed.
  3. Final Answer:

    Good -> Option B
  4. Quick Check:

    75 >= 60 triggers 'Good' [OK]
Hint: Check conditions top to bottom, first true runs [OK]
Common Mistakes:
  • Choosing 'Excellent' because 75 is high
  • Ignoring elif and jumping to else
  • Thinking no output if first condition fails
4. Identify the error in this agentic AI branching code:
if temperature > 30
    print('Hot')
elif temperature > 20:
    print('Warm')
medium
A. Missing colon after first if condition
B. Incorrect indentation of print statements
C. Using elif without else
D. Wrong comparison operator

Solution

  1. Step 1: Check syntax of if statement

    The first if line lacks a colon at the end, which is required.
  2. Step 2: Verify other parts

    Indentation and elif usage are correct; comparison operator is valid.
  3. Final Answer:

    Missing colon after first if condition -> Option A
  4. Quick Check:

    Colon needed after if condition [OK]
Hint: Every if/elif line must end with a colon ':' [OK]
Common Mistakes:
  • Thinking elif needs else after it
  • Confusing indentation errors with missing colon
  • Believing comparison operators are wrong
5. You want an agentic AI to classify a number as 'Positive', 'Negative', or 'Zero'. Which branching structure correctly handles all cases?
hard
A. if num > 0:\n print('Positive')\nif num < 0:\n print('Negative')\nelse:\n print('Zero')
B. if num >= 0:\n print('Positive')\nelse:\n print('Negative')
C. if num > 0:\n print('Positive')\nelif num < 0:\n print('Negative')\nelse:\n print('Zero')
D. if num != 0:\n print('Positive or Negative')\nelse:\n print('Zero')

Solution

  1. Step 1: Check if all cases are covered

    if num > 0:\n print('Positive')\nelif num < 0:\n print('Negative')\nelse:\n print('Zero') checks if number is greater than zero, less than zero, and else covers zero exactly.
  2. Step 2: Verify exclusivity and correctness

    if num >= 0:\n print('Positive')\nelse:\n print('Negative') misses zero case as separate; C prints multiple lines incorrectly; D groups positive and negative together.
  3. Final Answer:

    if num > 0:\n print('Positive')\nelif num < 0:\n print('Negative')\nelse:\n print('Zero') -> Option C
  4. Quick Check:

    All cases handled exclusively in if num > 0:\n print('Positive')\nelif num < 0:\n print('Negative')\nelse:\n print('Zero') [OK]
Hint: Use if, elif, else to cover all number cases [OK]
Common Mistakes:
  • Missing zero case
  • Using multiple ifs causing multiple prints
  • Grouping positive and negative together