--- title: Tarefas Condicionais description: Saiba como usar tarefas condicionais em um kickoff do crewAI icon: diagram-subtask mode: "wide" --- ## Introdução As Tarefas Condicionais no crewAI permitem a adaptação dinâmica do fluxo de trabalho com base nos resultados de tarefas anteriores. Esse recurso poderoso possibilita que crews tomem decisões e executem tarefas seletivamente, aumentando a flexibilidade e a eficiência dos seus processos orientados por IA. ## Exemplo de Uso ```python Code from typing import List from pydantic import BaseModel from crewai import Agent, Crew from crewai.tasks.conditional_task import ConditionalTask from crewai.tasks.task_output import TaskOutput from crewai.task import Task from crewai_tools import SerperDevTool # Define a condition function for the conditional task # If false, the task will be skipped, if true, then execute the task. def is_data_missing(output: TaskOutput) -> bool: return len(output.pydantic.events) < 10 # this will skip this task # Define the agents data_fetcher_agent = Agent( role="Data Fetcher", goal="Fetch data online using Serper tool", backstory="Backstory 1", verbose=True, tools=[SerperDevTool()] ) data_processor_agent = Agent( role="Data Processor", goal="Process fetched data", backstory="Backstory 2", verbose=True ) summary_generator_agent = Agent( role="Summary Generator", goal="Generate summary from fetched data", backstory="Backstory 3", verbose=True ) class EventOutput(BaseModel): events: List[str] task1 = Task( description="Fetch data about events in San Francisco using Serper tool", expected_output="List of 10 things to do in SF this week", agent=data_fetcher_agent, output_pydantic=EventOutput, ) conditional_task = ConditionalTask( description=""" Check if data is missing. If we have less than 10 events, fetch more events using Serper tool so that we have a total of 10 events in SF this week.. """, expected_output="List of 10 Things to do in SF this week", condition=is_data_missing, agent=data_processor_agent, ) task3 = Task( description="Generate summary of events in San Francisco from fetched data", expected_output="A complete report on the customer and their customers and competitors, including their demographics, preferences, market positioning and audience engagement.", agent=summary_generator_agent, ) # Create a crew with the tasks crew = Crew( agents=[data_fetcher_agent, data_processor_agent, summary_generator_agent], tasks=[task1, conditional_task, task3], verbose=True, planning=True ) # Run the crew result = crew.kickoff() print("results", result) ```