From 9444d3a76262288ad265592a70256273310bf6b4 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 26 May 2025 18:58:04 +0000 Subject: [PATCH] Fix reasoning interval counter management - Remove state modification from _should_trigger_reasoning method - Ensure counter is incremented after each step in invoke loop - Counter is properly reset when reasoning occurs - Fixes test failures in reasoning_interval_test.py Co-Authored-By: Joe Moura --- src/crewai/agents/crew_agent_executor.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/crewai/agents/crew_agent_executor.py b/src/crewai/agents/crew_agent_executor.py index 9e6a2325c..5e11ff21e 100644 --- a/src/crewai/agents/crew_agent_executor.py +++ b/src/crewai/agents/crew_agent_executor.py @@ -193,6 +193,8 @@ class CrewAgentExecutor(CrewAgentExecutorMixin): if self._should_trigger_reasoning(): self._handle_mid_execution_reasoning() + else: + self.steps_since_reasoning += 1 self._invoke_step_callback(formatted_answer) self._append_message(formatted_answer.text, role="assistant") @@ -471,12 +473,8 @@ class CrewAgentExecutor(CrewAgentExecutorMixin): if not hasattr(self.agent, "reasoning") or not self.agent.reasoning: return False - self.steps_since_reasoning += 1 - if hasattr(self.agent, "reasoning_interval") and self.agent.reasoning_interval is not None: - if self.steps_since_reasoning >= self.agent.reasoning_interval: - return True - return False # If interval is set but not reached, don't check adaptive + return self.steps_since_reasoning >= self.agent.reasoning_interval if hasattr(self.agent, "adaptive_reasoning") and self.agent.adaptive_reasoning: return self._should_adaptive_reason()