From 83b51313eec405266cd4ffa963a7b006a63b12fa Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Mon, 11 May 2026 17:24:48 +0200 Subject: [PATCH] multi_agent_chat/middleware: drop dormant LLMToolSelectorMiddleware from main-agent stack (gate is >30 tools; multi-agent main carries ~20) --- .../middleware/main_agent/selector.py | 39 ------------------- .../multi_agent_chat/middleware/stack.py | 2 - 2 files changed, 41 deletions(-) delete mode 100644 surfsense_backend/app/agents/multi_agent_chat/middleware/main_agent/selector.py diff --git a/surfsense_backend/app/agents/multi_agent_chat/middleware/main_agent/selector.py b/surfsense_backend/app/agents/multi_agent_chat/middleware/main_agent/selector.py deleted file mode 100644 index 8e7a32be8..000000000 --- a/surfsense_backend/app/agents/multi_agent_chat/middleware/main_agent/selector.py +++ /dev/null @@ -1,39 +0,0 @@ -"""LLM-based tool subset selection (only when >30 tools).""" - -from __future__ import annotations - -import logging -from collections.abc import Sequence - -from langchain.agents.middleware import LLMToolSelectorMiddleware -from langchain_core.tools import BaseTool - -from app.agents.new_chat.feature_flags import AgentFeatureFlags - -from ..shared.flags import enabled - - -def build_selector_mw( - *, - flags: AgentFeatureFlags, - tools: Sequence[BaseTool], -) -> LLMToolSelectorMiddleware | None: - if not enabled(flags, "enable_llm_tool_selector") or len(tools) <= 30: - return None - try: - return LLMToolSelectorMiddleware( - model="openai:gpt-4o-mini", - max_tools=12, - always_include=[ - name - for name in ( - "update_memory", - "get_connected_accounts", - "scrape_webpage", - ) - if name in {t.name for t in tools} - ], - ) - except Exception: - logging.warning("LLMToolSelectorMiddleware init failed; skipping.") - return None diff --git a/surfsense_backend/app/agents/multi_agent_chat/middleware/stack.py b/surfsense_backend/app/agents/multi_agent_chat/middleware/stack.py index 6d8faa3f4..9c9467ac3 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/middleware/stack.py +++ b/surfsense_backend/app/agents/multi_agent_chat/middleware/stack.py @@ -40,7 +40,6 @@ from .main_agent.noop_injection import build_noop_injection_mw from .main_agent.otel import build_otel_mw from .main_agent.plugins import build_plugin_middlewares from .main_agent.repair import build_repair_mw -from .main_agent.selector import build_selector_mw from .main_agent.skills import build_skills_mw from .shared.anthropic_cache import build_anthropic_cache_mw from .shared.compaction import build_compaction_mw @@ -180,7 +179,6 @@ def build_main_agent_deepagent_middleware( backend=StateBackend, subagents=subagents, ), - build_selector_mw(flags=flags, tools=tools), resilience.model_call_limit, resilience.tool_call_limit, build_context_editing_mw(