diff --git a/rag/agents/coordinator.py b/rag/agents/coordinator.py index 93b0762..6d46dd3 100644 --- a/rag/agents/coordinator.py +++ b/rag/agents/coordinator.py @@ -1,4 +1,3 @@ -# rag/agents/coordinator.py """ Координатор агентов: управляет специализированными агентами и маршрутизирует запросы. """ @@ -40,9 +39,7 @@ class AgentCoordinator: Основной метод: выбирает агента и передаёт ему запрос. Если агент возвращает действие, выполняет его (или передаёт другому агенту). """ - # Простая маршрутизация: определяем ключевые слова query_lower = query.lower() - # Можно использовать классификатор намерений или просто по ключевым словам if any(kw in query_lower for kw in ["методолог", "стандарт", "гост", "методика", "регламент"]): agent_name = "methodologist" elif any(kw in query_lower for kw in ["коробочное", "типовое", "решение", "шаблон", "создай документ"]): @@ -50,8 +47,7 @@ class AgentCoordinator: elif any(kw in query_lower for kw in ["командировка", "бронирование", "билет", "отель", "календарь"]): agent_name = "personal_assistant" else: - # Если не определили, можно использовать первый зарегистрированный или общий - agent_name = "methodologist" # по умолчанию + agent_name = "methodologist" agent = self.agents.get(agent_name) if not agent: @@ -61,15 +57,11 @@ class AgentCoordinator: else: return "Нет доступных агентов для обработки запроса." - # Обрабатываем запрос агентом result = await agent.process(query, context, history, tools) if result.get("type") == "answer": return result.get("content", "") elif result.get("type") == "action": - # Если агент вернул действие (например, вызов инструмента), можно выполнить его - # и передать результат другому агенту или тому же самому. - # Для простоты мы просто вернём сообщение о необходимости действия. action = result.get("content", {}) return f"Агент запросил действие: {action}" else: