Bird
Raised Fist0
Agentic AIml~10 mins

Workflow orchestration across agents in Agentic AI - 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 a workflow orchestrator with a list of agents.

Agentic AI
orchestrator = WorkflowOrchestrator(agents=[1])
Drag options to blanks, or click blank then click option'
Aagent1, agent2, agent3
B'agent1, agent2, agent3'
C{'agent1', 'agent2', 'agent3'}
D['agent1', 'agent2', 'agent3']
Attempts:
3 left
💡 Hint
Common Mistakes
Passing agents as a single string instead of a list.
Using curly braces which create a set, not a list.
2fill in blank
medium

Complete the code to add a task to the orchestrator's workflow.

Agentic AI
orchestrator.add_task([1])
Drag options to blanks, or click blank then click option'
A['data_cleaning']
Bdata_cleaning
C'data_cleaning'
D{'data_cleaning'}
Attempts:
3 left
💡 Hint
Common Mistakes
Passing task name without quotes causing a NameError.
Passing a list or set instead of a string.
3fill in blank
hard

Fix the error in the code to execute the workflow and get results.

Agentic AI
results = orchestrator.[1]()
Drag options to blanks, or click blank then click option'
Arun
Bexecute
Cstart
Dlaunch
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'run()' which is not defined in the orchestrator.
Using 'start()' or 'launch()' which are invalid method names.
4fill in blank
hard

Fill both blanks to create a dictionary mapping agent names to their statuses.

Agentic AI
status_map = [1]: [2] for [1] in agents
Drag options to blanks, or click blank then click option'
Aagent
Bget_status(agent)
Cstatus
Dagent_status
Attempts:
3 left
💡 Hint
Common Mistakes
Using the same variable name for key and value without function call.
Using undefined variables like 'status' or 'agent_status'.
5fill in blank
hard

Fill all three blanks to filter tasks that are completed and create a list of their names.

Agentic AI
completed_tasks = [task[1] for task in tasks if task.status [2] 'completed' and task.priority [3] 1]
Drag options to blanks, or click blank then click option'
A.name
B==
C<=
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '!=' instead of '==' for status check.
Using wrong comparison operators for priority.
Forgetting to access the task name with '.name'.

Practice

(1/5)
1. What is the main purpose of workflow orchestration across AI agents?
easy
A. To replace human decision-making completely
B. To organize tasks and coordinate multiple AI agents step-by-step
C. To store large amounts of data for AI agents
D. To train a single AI model faster

Solution

  1. Step 1: Understand workflow orchestration

    Workflow orchestration means managing how different AI agents work together in order.
  2. Step 2: Identify the main goal

    The goal is to organize tasks and share data smoothly between agents, not just training or storage.
  3. Final Answer:

    To organize tasks and coordinate multiple AI agents step-by-step -> Option B
  4. Quick Check:

    Workflow orchestration = Organize tasks [OK]
Hint: Think: Who manages the team of AI agents? [OK]
Common Mistakes:
  • Confusing orchestration with data storage
  • Thinking it only speeds up training
  • Assuming it replaces humans fully
2. Which syntax correctly defines a simple orchestrator function that calls two agents sequentially in Python?
easy
A. def orchestrate():\n agent1()\n agent2()
B. function orchestrate { agent1(); agent2(); }
C. orchestrate() => { agent1(); agent2(); }
D. def orchestrate[]: agent1() agent2()

Solution

  1. Step 1: Identify correct Python function syntax

    Python functions use 'def name():' and indentation for the body.
  2. Step 2: Check each option

    def orchestrate():\n agent1()\n agent2() uses correct Python syntax; others use JavaScript or invalid syntax.
  3. Final Answer:

    def orchestrate():\n agent1()\n agent2() -> Option A
  4. Quick Check:

    Python function = def + colon + indent [OK]
Hint: Python functions start with 'def' and use indentation [OK]
Common Mistakes:
  • Using JavaScript or other language syntax in Python
  • Missing colon after function name
  • Not indenting function body
3. Given this Python code for orchestrating agents:
def agent1():
    return 'data1'
def agent2(input_data):
    return input_data + '_processed'
def orchestrate():
    d1 = agent1()
    d2 = agent2(d1)
    return d2
print(orchestrate())

What is the output?
medium
A. data1_processed
B. data1
C. processed_data1
D. None

Solution

  1. Step 1: Trace agent1() output

    agent1() returns 'data1', stored in d1.
  2. Step 2: Trace agent2(d1) output

    agent2('data1') returns 'data1_processed', stored in d2.
  3. Step 3: Return and print d2

    orchestrate() returns 'data1_processed', which is printed.
  4. Final Answer:

    data1_processed -> Option A
  5. Quick Check:

    agent2 output = input + '_processed' [OK]
Hint: Follow data flow step-by-step through functions [OK]
Common Mistakes:
  • Ignoring return values
  • Confusing input and output of agents
  • Assuming print shows None
4. This orchestrator code has an error:
def agent1():
    return 'step1'
def agent2(data):
    return data + ' step2'
def orchestrate():
    d1 = agent1
    d2 = agent2(d1)
    return d2
print(orchestrate())

What is the error and how to fix it?
medium
A. agent2 should not take any arguments; remove data parameter
B. print statement syntax is wrong; use print[orchestrate()]
C. orchestrate() should not return anything; remove return
D. agent1 is missing parentheses; fix by calling agent1()

Solution

  1. Step 1: Identify how agent1 is used

    agent1 is assigned without parentheses, so d1 is a function, not a string.
  2. Step 2: Fix by calling agent1()

    Change d1 = agent1 to d1 = agent1() to get the return value.
  3. Final Answer:

    agent1 is missing parentheses; fix by calling agent1() -> Option D
  4. Quick Check:

    Function call needs () [OK]
Hint: Remember: functions need () to run and return values [OK]
Common Mistakes:
  • Confusing function object with function call
  • Changing unrelated parts like print syntax
  • Removing needed parameters
5. You want to design a workflow where Agent A fetches data, Agent B cleans it, and Agent C analyzes it. Which orchestration approach best ensures data flows correctly and each step waits for the previous one?
hard
A. Call Agent C first, then Agent B, then Agent A
B. Run all agents in parallel without waiting for outputs
C. Use a sequential orchestrator that calls Agent A, then B with A's output, then C with B's output
D. Let each agent run independently and save results to separate files

Solution

  1. Step 1: Understand the workflow dependencies

    Agent B needs data from Agent A, and Agent C needs data from Agent B, so order matters.
  2. Step 2: Choose orchestration that respects order

    Sequential orchestration ensures each agent runs after the previous finishes and passes data forward.
  3. Final Answer:

    Use a sequential orchestrator that calls Agent A, then B with A's output, then C with B's output -> Option C
  4. Quick Check:

    Sequential calls = correct data flow [OK]
Hint: Follow data dependencies step-by-step in order [OK]
Common Mistakes:
  • Running agents in parallel ignoring dependencies
  • Reversing the order of agents
  • Letting agents save results separately without coordination