O reasoning do agente é um recurso que permite que agentes reflitam sobre uma tarefa e criem um plano antes da execução. Isso ajuda os agentes a abordarem tarefas de forma mais metódica e garante que estejam preparados para realizar o trabalho atribuído.
Para habilitar o reasoning para um agente, basta definir reasoning=True ao criar o agente:
Copy
Ask AI
from crewai import Agentanalista = Agent( role="Analista de Dados", goal="Analisar dados e fornecer insights", backstory="Você é um analista de dados especialista.", reasoning=True, max_reasoning_attempts=3 # Opcional: Defina um limite de tentativas de reasoning)
Número máximo de tentativas para refinar o plano antes de prosseguir com a execução. Se None (padrão), o agente continuará refinando até que esteja pronto.
from crewai import Agent, Task, Crew# Create an agent with reasoning enabledanalista = Agent( role="Analista de Dados", goal="Analisar dados e fornecer insights", backstory="Você é um analista de dados especialista.", reasoning=True, max_reasoning_attempts=3 # Opcional: Defina um limite de tentativas de reasoning)# Create a taskanalysis_task = Task( description="Analise os dados de vendas fornecidos e identifique as principais tendências.", expected_output="Um relatório destacando as 3 principais tendências de vendas.", agent=analista)# Create a crew and run the taskcrew = Crew(agents=[analista], tasks=[analysis_task])result = crew.kickoff()print(result)
O processo de reasoning foi projetado para ser robusto, com tratamento de erros integrado. Se ocorrer um erro durante o reasoning, o agente prosseguirá com a execução da tarefa sem o plano de reasoning. Isso garante que as tarefas ainda possam ser executadas mesmo que o processo de reasoning falhe.Veja como lidar com possíveis erros no seu código:
Copy
Ask AI
from crewai import Agent, Taskimport logging# Set up logging to capture any reasoning errorslogging.basicConfig(level=logging.INFO)# Create an agent with reasoning enabledagent = Agent( role="Analista de Dados", goal="Analisar dados e fornecer insights", reasoning=True, max_reasoning_attempts=3)# Create a tasktask = Task( description="Analise os dados de vendas fornecidos e identifique as principais tendências.", expected_output="Um relatório destacando as 3 principais tendências de vendas.", agent=agent)# Execute the task# If an error occurs during reasoning, it will be logged and execution will continueresult = agent.execute_task(task)
Veja um exemplo de como pode ser um plano de reasoning para uma tarefa de análise de dados:
Copy
Ask AI
Task: Analise os dados de vendas fornecidos e identifique as principais tendências.Reasoning Plan:I'll analyze the sales data to identify the top 3 trends.1. Understanding of the task: I need to analyze sales data to identify key trends that would be valuable for business decision-making.2. Key steps I'll take: - First, I'll examine the data structure to understand what fields are available - Then I'll perform exploratory data analysis to identify patterns - Next, I'll analyze sales by time periods to identify temporal trends - I'll also analyze sales by product categories and customer segments - Finally, I'll identify the top 3 most significant trends3. Approach to challenges: - If the data has missing values, I'll decide whether to fill or filter them - If the data has outliers, I'll investigate whether they're valid data points or errors - If trends aren't immediately obvious, I'll apply statistical methods to uncover patterns4. Use of available tools: - I'll use data analysis tools to explore and visualize the data - I'll use statistical tools to identify significant patterns - I'll use knowledge retrieval to access relevant information about sales analysis5. Expected outcome: A concise report highlighting the top 3 sales trends with supporting evidence from the data.READY: I am ready to execute the task.
Esse plano de reasoning ajuda o agente a organizar sua abordagem para a tarefa, considerar possíveis desafios e garantir que entregará o resultado esperado.