diff --git a/src/mcp_agent/workflows/evaluator_optimizer/evaluator_optimizer.py b/src/mcp_agent/workflows/evaluator_optimizer/evaluator_optimizer.py index ef53584ed..4478d4fce 100644 --- a/src/mcp_agent/workflows/evaluator_optimizer/evaluator_optimizer.py +++ b/src/mcp_agent/workflows/evaluator_optimizer/evaluator_optimizer.py @@ -75,6 +75,7 @@ def __init__( max_refinements: int = 3, llm_factory: Callable[[Agent], AugmentedLLM] | None = None, context: Optional["Context"] = None, + share_memory: bool = False, ): """ Initialize the evaluator-optimizer workflow. @@ -89,6 +90,7 @@ def __init__( min_rating: Minimum acceptable quality rating max_refinements: Maximum refinement iterations llm_factory: Optional factory to create LLMs from agents + share_memory: Whether to share the memory between the optimizer and evaluator """ super().__init__( name=name, @@ -147,7 +149,8 @@ def __init__( ) else: raise ValueError(f"Unsupported evaluator type: {type(evaluator)}") - + if share_memory: + self.evaluator_llm.history = self.optimizer_llm.history self.min_rating = min_rating self.max_refinements = max_refinements