Sistema multiagente de pensamiento secuencial (MAS)
Inglés | Chino tradicional
Este proyecto implementa un proceso avanzado de pensamiento secuencial mediante un Sistema Multiagente (MAS) desarrollado con el framework Agno y gestionado mediante MCP . Representa una evolución significativa respecto a los enfoques más sencillos de seguimiento de estados, al aprovechar agentes coordinados y especializados para un análisis más profundo y la descomposición de problemas.
Descripción general
Este servidor proporciona una sofisticada herramienta sequentialthinking
diseñada para la resolución de problemas complejos. A diferencia de su predecesor , esta versión utiliza una verdadera arquitectura de Sistema Multiagente (MAS) donde:
- Un agente coordinador (el objeto
Team
en modocoordinate
) administra el flujo de trabajo. - Los agentes especializados (planificador, investigador, analizador, crítico, sintetizador) manejan subtareas específicas según sus roles y experiencia definidos.
- El equipo de agentes procesa, analiza y sintetiza activamente los pensamientos entrantes, no solo los registra.
- El sistema admite patrones de pensamiento complejos, incluidas revisiones de pasos anteriores y ramificaciones para explorar caminos alternativos.
- La integración con herramientas externas como Exa (a través del agente Researcher) permite la recopilación de información dinámica.
- La sólida validación de Pydantic garantiza la integridad de los datos durante todos los pasos del proceso.
- El registro detallado rastrea el proceso, incluidas las interacciones de los agentes (gestionadas por el coordinador).
El objetivo es lograr una mayor calidad de análisis y un proceso de pensamiento más matizado que el que es posible con un solo agente o un simple seguimiento de estados aprovechando el poder de roles especializados que trabajan en colaboración.
Diferencias clave con respecto a la versión original (TypeScript)
Esta implementación de Python/Agno marca un cambio fundamental con respecto a la versión original de TypeScript:
Característica/Aspecto | Versión de Python/Agno (actual) | Versión de TypeScript (original) |
---|---|---|
Arquitectura | Sistema Multiagente (MAS) ; Procesamiento activo por un equipo de agentes. | Rastreador de estado de clase única ; registro y almacenamiento sencillos. |
Inteligencia | Lógica de agente distribuido ; integrada en agentes especializados y coordinador. | Solo LLM externo ; sin inteligencia interna. |
Tratamiento | Análisis y síntesis activa ; los agentes actúan sobre el pensamiento. | Registro pasivo ; simplemente registra el pensamiento. |
Marcos | Agno (MAS) + FastMCP (Servidor) ; Utiliza una biblioteca MAS dedicada. | Sólo SDK de MCP . |
Coordinación | Lógica explícita de coordinación de equipo ( Team en modo coordinate ). | Ninguno ; No existe concepto de coordinación. |
Validación | Validación de esquemas de Pydantic ; Validación de datos robusta. | Comprobaciones de tipo básicas : menos fiables. |
Herramientas externas | Integrado (Exa vía Investigador) ; Puede realizar tareas de investigación. | Ninguno . |
Explotación florestal | Registro estructurado de Python (archivo + consola) ; configurable. | Registro de consola con Chalk ; Básico. |
Lenguaje y ecosistema | Python ; Aprovecha el ecosistema AI/ML de Python. | TipoScript/Node.js . |
En esencia, el sistema evolucionó desde un registrador de pensamientos pasivo a un procesador de pensamientos activo impulsado por un equipo colaborativo de agentes de IA.
Cómo funciona (modo de coordenadas)
- Iniciación: un LLM externo utiliza el mensaje
sequential-thinking-starter
para definir el problema e iniciar el proceso. - Llamada de herramienta: El LLM llama a la herramienta
sequentialthinking
con el primer pensamiento (o subsiguiente), estructurado de acuerdo con el modelo PydanticThoughtData
. - Validación y registro: la herramienta recibe la llamada, valida la entrada usando Pydantic, registra el pensamiento entrante y actualiza el historial/estado de la rama a través de
AppContext
. - Invocación del coordinador: el contenido del pensamiento central (junto con el contexto sobre las revisiones/ramas) se pasa al método
arun
delSequentialThinkingTeam
. - Análisis y delegación del coordinador: el
Team
(que actúa como coordinador) analiza el pensamiento de entrada, lo divide en subtareas y delega estas subtareas a los agentes especializados más relevantes (por ejemplo, el analizador para las tareas de análisis, el investigador para las necesidades de información). - Ejecución especializada: los agentes delegados ejecutan sus subtareas específicas utilizando sus instrucciones, modelos y herramientas (como
ThinkingTools
oExaTools
). - Recopilación de respuestas: Los especialistas devuelven sus resultados al Coordinador.
- Síntesis y orientación: El coordinador sintetiza las respuestas de los especialistas en un resultado único y coherente. Este resultado puede incluir recomendaciones de revisión o ramificación basadas en las conclusiones de los especialistas (especialmente del crítico y el analista). También proporciona orientación al LLM para formular la siguiente idea.
- Valor de retorno: la herramienta devuelve una cadena JSON que contiene la respuesta sintetizada del Coordinador, el estado y el contexto actualizado (ramas, longitud del historial).
- Iteración: el LLM que realiza la llamada utiliza la respuesta y la guía del Coordinador para formular la siguiente llamada a la herramienta de
sequentialthinking
, lo que potencialmente desencadena revisiones o ramas según lo sugerido.
Advertencia sobre el consumo de tokens
Alto consumo de tokens: Gracias a la arquitectura del sistema multiagente, esta herramienta consume muchos más tokens que las alternativas de un solo agente o la versión anterior de TypeScript. Cada llamada sequentialthinking
invoca:
- El agente Coordinador (el
Team
en sí). - Múltiples agentes especialistas (potencialmente Planificador, Investigador, Analizador, Crítico, Sintetizador, dependiendo de la delegación del Coordinador).
Este procesamiento paralelo genera un uso de tokens considerablemente mayor (potencialmente de 3 a 6 veces o más por paso de pensamiento) en comparación con los enfoques de agente único o de seguimiento de estado. Planifique y calcule el presupuesto en consecuencia. Esta herramienta prioriza la profundidad y la calidad del análisis sobre la eficiencia de los tokens.
Prerrequisitos
- Python 3.10+
- Acceso a una API LLM compatible (configurada para
agno
). El sistema actualmente admite:- Groq: Requiere
GROQ_API_KEY
. - DeepSeek: requiere
DEEPSEEK_API_KEY
. - OpenRouter: requiere
OPENROUTER_API_KEY
. - Configure el proveedor deseado utilizando la variable de entorno
LLM_PROVIDER
(predeterminada endeepseek
).
- Groq: Requiere
- Clave API de Exa (requerida solo si se utilizan las capacidades del agente Investigador)
- Se establece a través de la variable de entorno
EXA_API_KEY
.
- Se establece a través de la variable de entorno
- Gestor de paquetes
uv
(recomendado) opip
.
Configuración del servidor MCP (lado del cliente)
Este servidor se ejecuta como un script ejecutable estándar que se comunica mediante stdio, como lo espera MCP. El método de configuración exacto depende de la implementación específica de su cliente MCP. Consulte la documentación de su cliente para obtener más información sobre la integración de servidores de herramientas externos.
La sección env
dentro de la configuración de su cliente MCP debe incluir la clave API para el LLM_PROVIDER
elegido.
Instalación y configuración
Instalación mediante herrería
Para instalar automáticamente el sistema multiagente de pensamiento secuencial para Claude Desktop a través de Smithery :
Instalación manual
- Clonar el repositorio:
- Establecer variables de entorno: cree un archivo
.env
en el directorio raíz del proyecto o exporte las variables directamente a su entorno:Nota sobre la selección del modelo:- El
TEAM_MODEL_ID
lo utiliza el Coordinador (objetoTeam
). Este rol se beneficia de sólidas capacidades de razonamiento, síntesis y delegación. Considere usar un modelo más potente (p. ej.,deepseek-chat
,claude-3-opus
,gpt-4-turbo
), para equilibrar la capacidad con el costo y la velocidad. - El
AGENT_MODEL_ID
lo utilizan los agentes especializados (Planificador, Investigador, etc.). Estos gestionan subtareas específicas. Un modelo más rápido o rentable (p. ej.,deepseek-chat
,claude-3-sonnet
,llama3-8b
) podría ser adecuado, dependiendo de la complejidad de la tarea y las necesidades de presupuesto y rendimiento. - Si estas variables de entorno no están configuradas, se proporcionan valores predeterminados en el código (p. ej., en
main.py
). Se recomienda experimentar para encontrar el equilibrio óptimo para su caso de uso.
- El
- Instalar dependencias: es muy recomendable utilizar un entorno virtual.
- Uso de
uv
(recomendado): - Usando
pip
:
- Uso de
Uso
Asegúrese de que las variables de entorno estén configuradas y que el entorno virtual (si se utiliza) esté activo.
Ejecute el servidor. Elija uno de los siguientes métodos:
- Uso de
uv run
(recomendado): - Usando Python directamente:
El servidor se iniciará y escuchará solicitudes a través de stdio, lo que hará que la herramienta sequentialthinking
esté disponible para los clientes MCP compatibles configurados para usarla.
Parámetros de la herramienta sequentialthinking
La herramienta espera argumentos que coincidan con el modelo Pydantic ThoughtData
:
Interactuando con la herramienta (Ejemplo conceptual)
Un LLM interactuaría con esta herramienta de forma iterativa:
- LLM: utiliza un mensaje inicial (como
sequential-thinking-starter
) con la definición del problema. - LLM: Llama a la herramienta
sequentialthinking
conthoughtNumber: 1
, elthought
inicial (por ejemplo, "Planifique el análisis..."), untotalThoughts
estimado de Thoughts ynextThoughtNeeded: True
. - Servidor: El MAS procesa la idea. El Coordinador sintetiza las respuestas de los especialistas y ofrece orientación (p. ej., "Plan de análisis completo. Sugiero investigar X a continuación. No se recomiendan revisiones todavía").
- LLM: recibe la respuesta JSON que contiene
coordinatorResponse
. - LLM: Formula el siguiente pensamiento basándose en la
coordinatorResponse
(por ejemplo, "Investiga X usando las herramientas disponibles..."). - LLM: Llama a la herramienta
sequentialthinking
conthoughtNumber: 2
, el nuevothought
, potencialmente actualizadototalThoughts
,nextThoughtNeeded: True
. - Servidor: Procesos MAS. El Coordinador sintetiza (p. ej., "Investigación completa. Los hallazgos sugieren una falla en la suposición de la idea n.° 1. RECOMENDACIÓN: Revisar la idea n.° 1...").
- LLM: Recibe la respuesta, toma nota de la recomendación.
- LLM: Formula un pensamiento de revisión.
- LLM: Llama a la herramienta
sequentialthinking
conthoughtNumber: 3
, elthought
de revisión,isRevision: True
,revisesThought: 1
,nextThoughtNeeded: True
. - ...y así sucesivamente, ramificando o ampliando potencialmente el proceso según sea necesario.
Formato de respuesta de la herramienta
La herramienta devuelve una cadena JSON que contiene:
Explotación florestal
- Los registros se escriben en
~/.sequential_thinking/logs/sequential_thinking.log
de forma predeterminada. (La configuración se puede ajustar en el código de configuración del registro). - Utiliza el módulo
logging
estándar de Python. - Incluye un controlador de archivos rotativo (por ejemplo, límite de 10 MB, 5 copias de seguridad) y un controlador de consola (normalmente de nivel INFO).
- Los registros incluyen marcas de tiempo, niveles, nombres de registradores y mensajes, incluidas representaciones estructuradas de los pensamientos que se están procesando.
Desarrollo
- Clonar el repositorio: (Como en la Instalación)
- Configurar entorno virtual: (recomendado)
- Instalar dependencias (incluido dev): asegúrese de que su
requirements-dev.txt
opyproject.toml
especifique herramientas de desarrollo (comopytest
,ruff
,black
,mypy
). - Ejecutar comprobaciones: ejecuta linters, formateadores y pruebas (adapta los comandos según la configuración de tu proyecto).
- Contribución: (Considere agregar pautas de contribución: estrategia de ramificación, proceso de solicitud de extracción, estilo de código).
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Un servidor MCP avanzado que implementa un pensamiento secuencial sofisticado utilizando un equipo coordinado de agentes de IA especializados (planificador, investigador, analizador, crítico, sintetizador) para analizar profundamente los problemas y proporcionar un razonamiento estructurado de alta calidad.
Related MCP Servers
- AsecurityAlicenseAqualityAn adaptation of the MCP Sequential Thinking Server designed to guide tool usage in problem-solving. This server helps break down complex problems into manageable steps and provides recommendations for which MCP tools would be most effective at each stage.Last updated -1602179TypeScriptMIT License
- -securityAlicense-qualityAn MCP server that implements the 'think' tool, providing Claude with a dedicated space for structured thinking during complex problem-solving tasks to improve reasoning capabilities.Last updated -48PythonMIT License
- -securityAlicense-qualityA minimal MCP Server that provides Claude AI models with the 'think' tool capability, enabling better performance on complex reasoning tasks by allowing the model to pause during response generation for additional thinking steps.Last updated -5251TypeScriptMIT License
- AsecurityAlicenseAqualityA sophisticated MCP server that provides a multi-dimensional, adaptive reasoning framework for AI assistants, replacing linear reasoning with a graph-based architecture for more nuanced cognitive processes.Last updated -117413TypeScriptMIT License