顺序思维多智能体系统(MAS)
English |简体中文
该项目使用基于Agno框架构建并通过MCP提供服务的**多智能体系统 (MAS)**实现了先进的顺序思维过程。它通过利用协调一致的专用智能体进行更深入的分析和问题分解,代表了从简单的状态跟踪方法到更大规模的演进。
概述
该服务器提供了一个先进的顺序sequentialthinking
工具,旨在解决复杂的问题。与前代产品不同,此版本采用了真正的多智能体系统 (MAS) 架构,其中:
- 协调代理(
coordinate
模式下的Team
对象)管理工作流程。 - 专门的代理(规划者、研究员、分析师、评论家、综合者)根据其定义的角色和专业知识处理特定的子任务。
- 代理团队会主动处理、分析和综合传入的想法,而不仅仅是记录下来。
- 该系统支持复杂的思维模式,包括修改先前的步骤和分支以探索替代路径。
- 与Exa等外部工具的集成(通过研究人员代理)允许动态信息收集。
- 强大的Pydantic验证可确保思考步骤的数据完整性。
- 详细日志记录跟踪该过程,包括代理交互(由协调员处理)。
目标是通过利用专业角色协同工作的力量,实现比单个代理或简单状态跟踪更高质量的分析和更细致的思考过程。
与原始版本(TypeScript)的主要区别
这个 Python/Agno 实现标志着与原始 TypeScript 版本的根本转变:
特征/方面 | Python/Agno 版本(当前) | TypeScript 版本(原始) |
---|---|---|
建筑学 | 多代理系统(MAS) ;由一组代理主动处理。 | 单一类状态跟踪器;简单记录/存储。 |
智力 | 分布式代理逻辑;嵌入专门的代理和协调器。 | 仅限外部法学硕士;无内部情报。 |
加工 | 主动分析与综合;代理根据想法采取行动。 | 被动记录;仅仅记录想法。 |
框架 | Agno (MAS) + FastMCP (服务器) ;使用专用 MAS 库。 | 仅限 MCP SDK 。 |
协调 | 明确的团队协调逻辑( Team 处于coordinate 模式)。 | 无;没有协调概念。 |
验证 | Pydantic Schema Validation ;强大的数据验证。 | 基本类型检查;可靠性较低。 |
外部工具 | 集成(通过研究员的 Exa) ;可以执行研究任务。 | 没有任何。 |
日志记录 | 结构化 Python 日志记录(文件 + 控制台) ;可配置。 | 使用 Chalk 进行控制台记录;基本。 |
语言与生态系统 | Python ;利用 Python AI/ML 生态系统。 | TypeScript/Node.js 。 |
本质上,该系统从一个被动的思维记录器演变为一个由人工智能代理协作团队驱动的主动思维处理器。
工作原理(坐标模式)
- **启动:**外部 LLM 使用
sequential-thinking-starter
提示来定义问题并启动流程。 - 工具调用: LLM 使用第一个(或后续)想法调用
sequentialthinking
工具,根据ThoughtData
Pydantic 模型进行构建。 - **验证和日志记录:**该工具接收调用,使用 Pydantic 验证输入,记录传入的想法,并通过
AppContext
更新历史记录/分支状态。 - **协调器调用:**核心思想内容(以及有关修订/分支的上下文)被传递给
SequentialThinkingTeam
的arun
方法。 - 协调员分析与委派:
Team
(充当协调员)分析输入的想法,将其分解为子任务,并将这些子任务委派给最相关的专业代理(例如,分析任务的分析师、信息需求的研究人员)。 - **专家执行:**委托代理使用其指令、模型和工具(如
ThinkingTools
或ExaTools
)执行其特定的子任务。 - **答复收集:**专家将结果返回给协调员。
- **综合与指导:**协调员将专家的反馈整合成一份统一且连贯的成果。该成果可能包含基于专家发现(尤其是来自评论员和分析员的发现)的修改或分支建议。它还为法学硕士(LLM)的下一步思路提供指导。
- **返回值:**该工具返回一个 JSON 字符串,其中包含协调器的合成响应、状态和更新的上下文(分支、历史长度)。
- **迭代:**调用 LLM 使用协调员的响应和指导来制定下一个
sequentialthinking
工具调用,可能会根据建议触发修订或分支。
代币消耗警告
⚠️高令牌使用率:由于采用了多智能体系统架构,此工具比单智能体替代方案或之前的 TypeScript 版本消耗的令牌明显更多。每次sequentialthinking
调用都会调用:
- 协调员代理(
Team
本身)。 - 多名专业代理(可能是规划师、研究员、分析师、评论家、合成师,取决于协调员的授权)。
与单智能体或状态跟踪方法相比,这种并行处理可以显著提高令牌使用率(每个思考步骤可能提高 3-6 倍或更多)。请根据实际情况制定预算和计划。此工具优先考虑**分析深度和质量,**而非令牌效率。
先决条件
- Python 3.10+
- 访问兼容的 LLM API(已针对
agno
配置)。系统目前支持:- **Groq:**需要
GROQ_API_KEY
。 - **DeepSeek:**需要
DEEPSEEK_API_KEY
。 - **OpenRouter:**需要
OPENROUTER_API_KEY
。 - 使用
LLM_PROVIDER
环境变量(默认为deepseek
)配置所需的提供程序。
- **Groq:**需要
- Exa API 密钥(仅在使用研究员代理的功能时需要)
- 通过
EXA_API_KEY
环境变量设置。
- 通过
uv
包管理器(推荐)或pip
。
MCP 服务器配置(客户端)
此服务器以标准可执行脚本的形式运行,并通过 stdio 进行通信,这与 MCP 的预期一致。具体配置方法取决于您具体的 MCP 客户端实现。有关集成外部工具服务器的详细信息,请参阅客户端的文档。
MCP 客户端配置中的env
部分应包含您选择的LLM_PROVIDER
的 API 密钥。
安装和设置
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装顺序思维多代理系统:
手动安装
- 克隆存储库:
- **设置环境变量:**在项目根目录中创建一个
.env
文件或将变量直接导出到您的环境中:选型注意事项:TEAM_MODEL_ID
由协调员(Team
对象)使用。此角色拥有强大的推理、综合和委托能力。建议在此使用更强大的模型(例如deepseek-chat
、claude-3-opus
、gpt-4-turbo
),从而在性能与成本/速度之间取得平衡。AGENT_MODEL_ID
由专业代理(规划师、研究员等)使用。这些代理负责处理重点子任务。根据任务复杂性和预算/性能需求,速度更快或更经济高效的模型(例如deepseek-chat
、claude-3-sonnet
、llama3-8b
)可能更合适。- 如果未设置这些环境变量,则代码中(例如,在
main.py
中)会提供默认值。建议您进行实验,以找到适合您用例的最佳平衡点。
- **安装依赖项:**强烈建议使用虚拟环境。
- 使用
uv
(推荐): - 使用
pip
:
- 使用
用法
确保您的环境变量已设置并且虚拟环境(如果使用)处于活动状态。
运行服务器。选择以下方法之一:
- 使用
uv run
(推荐): - 直接使用 Python:
服务器将启动并通过 stdio 监听请求,使配置为使用该工具的兼容 MCP 客户端可以使用sequentialthinking
工具。
sequentialthinking
工具参数
该工具需要与ThoughtData
Pydantic 模型匹配的参数:
与工具交互(概念示例)
LLM 将与该工具进行迭代交互:
- **LLM:**使用带有问题定义的启动提示(如
sequential-thinking-starter
)。 - **LLM:**使用
thoughtNumber: 1
、初始thought
(例如,“计划分析......”)、估计的totalThoughts
和nextThoughtNeeded: True
调用sequentialthinking
工具。 - 服务器: MAS 处理想法。协调员整合专家的反馈并提供指导(例如,“分析计划已完成。建议下一步研究 X。暂无修改建议。”)。
- **LLM:**接收包含
coordinatorResponse
JSON 响应。 - **LLM:**根据
coordinatorResponse
制定下一个想法(例如,“使用可用工具研究 X...”)。 - **LLM:**使用
thoughtNumber: 2
调用sequentialthinking
工具,即新的thought
,可能更新了totalThoughts
,nextThoughtNeeded: True
。 - 服务器: MAS 处理。协调员进行综合(例如,“研究完成。研究结果表明,想法 1 的假设存在缺陷。建议:修改想法 1……”)。
- **LLM:**收到回复,注意到建议。
- **LLM:**制定修订思路。
- **LLM:**使用
thoughtNumber: 3
、修订thought
、isRevision: True
、revisesThought: 1
、nextThoughtNeeded: True
调用sequentialthinking
工具。 - ...等等,根据需要可能分支或扩展流程。
工具响应格式
该工具返回一个 JSON 字符串,包含以下内容:
日志记录
- 日志默认写入
~/.sequential_thinking/logs/sequential_thinking.log
。(配置可以在日志设置代码中调整)。 - 使用 Python 的标准
logging
模块。 - 包括旋转文件处理程序(例如,10MB 限制、5 个备份)和控制台处理程序(通常为 INFO 级别)。
- 日志包括时间戳、级别、记录器名称和消息,包括正在处理的想法的结构化表示。
发展
- **克隆存储库:(**与安装中相同)
- **设置虚拟环境:(**推荐)
- **安装依赖项(包括 dev):**确保您的
requirements-dev.txt
或pyproject.toml
指定开发工具(如pytest
、ruff
、black
、mypy
)。 - **运行检查:**执行 linters、格式化程序和测试(根据您的项目设置调整命令)。
- **贡献:(**考虑添加贡献指南:分支策略、拉取请求流程、代码风格)。
执照
麻省理工学院
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.
先进的 MCP 服务器使用专门的 AI 代理(规划器、研究员、分析器、评论家、合成器)协调团队实现复杂的顺序思维,深入分析问题并提供高质量的结构化推理。
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