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.
Integrations
Supports configuration through environment variables, allowing secure storage of API keys for external services like DeepSeek and Exa.
Enables robust data validation for thought steps in the sequential thinking process, ensuring input integrity before processing by the agent team.
Leverages the Python AI/ML ecosystem for implementing the Multi-Agent System architecture, supporting advanced sequential thinking capabilities.
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, aprovechando agentes especializados coordinados 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 que incluyen 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 a la herramienta: El LLM llama a la herramienta
sequentialthinking
con el primer pensamiento (o subsiguiente), estructurado de acuerdo con el modeloThoughtData
. - 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 (con contexto sobre 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. Puede incluir recomendaciones de revisión o ramificación según 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: Debido 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 propio Team
). * Múltiples agentes especialistas (posiblemente Planificador, Investigador, Analizador, Crítico, Sintetizador, según 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 ahora 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 (si se utilizan las capacidades del agente Investigador)
- Variable de entorno
EXA_API_KEY
.
- Variable de entorno
- Gestor de paquetes
uv
(recomendado) opip
.
Configuración del servidor MCP (lado del cliente)
Este servidor se ejecuta como un script 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.
La sección env
debe incluir la clave API para el LLM_PROVIDER
elegido.
Instalación y configuración
- Clonar el repositorio:Copy
- Establecer variables de entorno: cree un archivo
.env
en el directorio raíz o exporte las variables:Nota sobre la selección del modelo:Copy- El
TEAM_MODEL_ID
lo utiliza el Coordinador (el objetoTeam
). Esta función requiere sólidas capacidades de razonamiento, síntesis y delegación. Usar un modelo más potente (comodeepseek-r1
,claude-3-opus
ogpt-4-turbo
) suele ser beneficioso, incluso si es más lento o costoso. - El
AGENT_MODEL_ID
lo utilizan los agentes especialistas (Planificador, Investigador, etc.). Estos agentes gestionan subtareas más específicas. Puede elegir un modelo más rápido o rentable (comodeepseek-v3
,claude-3-sonnet
ollama3-70b
) para los especialistas, según la complejidad de las tareas que suelen gestionar y sus requisitos de presupuesto y rendimiento. - Los valores predeterminados proporcionados en
main.py
(p. ej.,deepseek-reasoner
para agentes al usar DeepSeek) son puntos de partida. Se recomienda experimentar para encontrar el equilibrio óptimo para su caso de uso específico.
- El
- Dependencias de instalación:
- Uso de
uv
(recomendado):Copy - Usando
pip
:Copy
- Uso de
Uso
Ejecute el script del servidor (asumiendo que el script principal se llama main.py
o similar según la estructura de su archivo):
El servidor se iniciará y escuchará las solicitudes a través de stdio, lo que hará que la herramienta sequentialthinking
esté disponible para clientes MCP compatibles (como ciertos LLM o marcos de prueba).
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
sequential-thinking-starter
plantear el problema. - LLM: Llama a la herramienta
sequentialthinking
conthoughtNumber: 1
,thought
inicial (por ejemplo, "Planifique el análisis..."), estimación detotalThoughts
,nextThoughtNeeded: True
. - Servidor: MAS procesa el pensamiento -> El coordinador sintetiza la respuesta y brinda orientación (por ejemplo, "Plan de análisis completo. Sugiero investigar X a continuación. No se recomiendan revisiones todavía").
- LLM: recibe una respuesta JSON que contiene
coordinatorResponse
. - LLM: Formula el siguiente pensamiento (por ejemplo, "Investiga X usando Exa...") basándose en la
coordinatorResponse
. - LLM: Llama a la herramienta
sequentialthinking
conthoughtNumber: 2
, el nuevothought
,totalThoughts
actualizado (si es necesario),nextThoughtNeeded: True
. - Servidor: Procesos MAS -> El coordinador sintetiza (por ejemplo, "Investigación completa. Los hallazgos sugieren una falla en la suposición del pensamiento n.° 1. RECOMENDACIÓN: Revisar el pensamiento n.° 1...").
- LLM: Recibe respuesta, ve 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, ramificándose o ampliándose potencialmente 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
. - Utiliza el módulo
logging
estándar de Python. - Incluye un controlador de archivos rotatorio (límite de 10 MB, 5 copias de seguridad) y un controlador de consola (nivel INFO).
- Los registros incluyen marcas de tiempo, niveles, nombres de registradores y mensajes, incluidas representaciones de pensamientos formateadas.
Desarrollo
(Agregue pautas de desarrollo aquí si corresponde, por ejemplo, configuración de entornos de desarrollo, ejecución de pruebas, análisis de errores).
- Clonar el repositorio.
- Configurar un entorno virtual.
- Instalar dependencias, que podrían incluir extras de desarrollo:Copy
- Ejecutar linters/formateadores/pruebas.
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
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.