シーケンシャル思考マルチエージェントシステム(MAS)
英語 |简体中文
このプロジェクトは、 Agnoフレームワークで構築され、 MCPを介して提供される**マルチエージェントシステム(MAS)**を用いて、高度なシーケンシャル思考プロセスを実装します。これは、協調型で専門化されたエージェントを活用してより深い分析と問題の分解を行うことで、単純な状態追跡アプローチからの大きな進化を表しています。
概要
このサーバーは、複雑な問題解決のために設計された、洗練されたシーケンシャルsequentialthinking
ツールを提供します。前バージョンとは異なり、このバージョンは真のマルチエージェントシステム(MAS)アーキテクチャを採用しており、以下の特徴を備えています。
- コーディネーティング エージェント(
coordinate
モードのTeam
オブジェクト) がワークフローを管理します。 - 専門エージェント(プランナー、リサーチャー、アナライザー、クリティック、シンセサイザー) は、定義された役割と専門知識に基づいて特定のサブタスクを処理します。
- 入力された思考は単に記録されるだけでなく、エージェント チームによって積極的に処理、分析、統合されます。
- システムは、前のステップの修正や代替パスの探索のための分岐など、複雑な思考パターンをサポートします。
- Exa (Researcher エージェント経由) などの外部ツールとの統合により、動的な情報収集が可能になります。
- 堅牢なPydantic検証により、思考ステップのデータの整合性が保証されます。
- 詳細なログ記録では、エージェントのインタラクション (コーディネータによって処理) を含むプロセスが追跡されます。
目標は、専門の役割を連携して活用することで、単一のエージェントや単純な状態追跡で可能なものよりも、より高品質の分析と、より繊細な思考プロセスを実現することです。
オリジナルバージョン(TypeScript)との主な違い
この Python/Agno 実装は、元の TypeScript バージョンからの根本的な変化を示しています。
特徴/側面 | Python/Agno バージョン (最新) | TypeScriptバージョン(オリジナル) |
---|---|---|
建築 | マルチエージェント システム (MAS) ; エージェントのチームによるアクティブな処理。 | 単一クラスの状態トラッカー。シンプルなログ記録/保存。 |
知能 | 分散エージェント ロジック。専用のエージェントとコーディネーターに組み込まれています。 | 外部 LLM のみ。内部情報なし。 |
処理 | アクティブな分析と統合。エージェントは思考に基づいて行動します。 | パッシブログ; 思考のみを記録します。 |
フレームワーク | Agno (MAS) + FastMCP (サーバー) ; 専用の MAS ライブラリを使用します。 | MCP SDK のみ。 |
調整 | 明示的なチーム調整ロジック( coordinate モードのTeam )。 | なし; 調整概念はありません。 |
検証 | Pydantic スキーマ検証; 堅牢なデータ検証。 | 基本的な型チェック。信頼性は低くなります。 |
外部ツール | 統合型 (研究者経由の Exa) ; 研究タスクを実行できます。 | なし。 |
ログ記録 | 構造化された Python ログ (ファイル + コンソール) ; 構成可能。 | Chalk を使用したコンソール ログ記録、基本。 |
言語とエコシステム | Python ; Python AI/ML エコシステムを活用します。 | TypeScript/Node.js 。 |
本質的には、このシステムは受動的な思考記録装置から、AI エージェントの共同チームによって駆動される能動的な思考処理装置へと進化しました。
仕組み(座標モード)
- **開始:**外部の LLM は
sequential-thinking-starter
プロンプトを使用して問題を定義し、プロセスを開始します。 - ツール呼び出し: LLM は、
ThoughtData
Pydantic モデルに従って構造化された最初の (または後続の) 思考でsequentialthinking
ツールを呼び出します。 - **検証とログ記録:**ツールは呼び出しを受け取り、Pydantic を使用して入力を検証し、受信した考えをログに記録し、
AppContext
を介して履歴/ブランチの状態を更新します。 - **コーディネーターの呼び出し:**中核となる思考内容 (リビジョン/ブランチに関するコンテキストとともに) が
SequentialThinkingTeam
のarun
メソッドに渡されます。 - コーディネーターによる分析と委任:
Team
(コーディネーターとして機能) は入力された考えを分析し、それをサブタスクに分割し、これらのサブタスクを最も関連性の高い専門エージェント (分析タスクの場合はアナライザー、情報ニーズの場合はリサーチャーなど) に委任します。 - **専門家による実行:**委任されたエージェントは、指示、モデル、ツール (
ThinkingTools
やExaTools
など) を使用して、特定のサブタスクを実行します。 - **回答の収集:**スペシャリストは結果をコーディネーターに返します。
- **統合とガイダンス:**コーディネーターは、スペシャリストの回答を一つのまとまりのあるアウトプットに統合します。このアウトプットには、スペシャリストの知見(特に批評家と分析者からの知見)に基づいた修正や分岐の提案が含まれる場合があります。また、LLM(法学修士)が次の考えをまとめるためのガイダンスも提供します。
- **戻り値:**ツールは、コーディネーターの合成応答、ステータス、更新されたコンテキスト (ブランチ、履歴の長さ) を含む JSON 文字列を返します。
- **反復:**呼び出し元の LLM はコーディネーターの応答とガイダンスを使用して次の
sequentialthinking
ツール呼び出しを策定し、提案に応じて修正または分岐をトリガーする可能性があります。
トークン消費警告
⚠️トークン使用量の増加:マルチエージェントシステムアーキテクチャのため、このツールはシングルエージェントの代替ツールや以前のTypeScriptバージョンよりも大幅に多くのトークンを消費します。sequentialthinking 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 キー (Researcher エージェントの機能を使用する場合にのみ必要)
EXA_API_KEY
環境変数を介して設定します。
uv
パッケージ マネージャー (推奨) またはpip
。
MCP サーバー構成 (クライアント側)
このサーバーは、MCPの想定通り、stdio経由で通信する標準実行スクリプトとして実行されます。具体的な設定方法は、MCPクライアントの実装によって異なります。外部ツールサーバーの統合に関する詳細は、クライアントのドキュメントを参照してください。
MCP クライアント構成内のenv
セクションには、選択したLLM_PROVIDER
の API キーを含める必要があります。
インストールとセットアップ
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Sequential Thinking Multi-Agent System を自動的にインストールするには:
手動インストール
- リポジトリをクローンします。
- **環境変数を設定する:**プロジェクトのルート ディレクトリに
.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 経由でリクエストをリッスンして、 sequentialthinking
ツールを使用するように構成された互換性のある MCP クライアントがそれを利用できるようになります。
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
、新しいthought
、潜在的に更新されたtotalThoughts
、nextThoughtNeeded: True
でsequentialthinking
ツールを呼び出します。 - サーバー: 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
モジュールを使用します。 - ローテーションファイル ハンドラー (例: 10 MB 制限、5 つのバックアップ) とコンソール ハンドラー (通常は INFO レベル) が含まれます。
- ログには、タイムスタンプ、レベル、ロガー名、メッセージ、処理中の思考の構造化された表現が含まれます。
発達
- リポジトリをクローンします: (インストール時と同様)
- 仮想環境の設定: (推奨)
- 依存関係をインストールします (dev を含む):
requirements-dev.txt
またはpyproject.toml
で開発ツール (pytest
、ruff
、black
、mypy
など) が指定されていることを確認します。 - **チェックの実行:**リンター、フォーマッタ、テストを実行します (プロジェクトの設定に基づいてコマンドを調整します)。
- 貢献: (貢献ガイドラインの追加を検討してください: ブランチ戦略、プル リクエスト プロセス、コード スタイル)。
ライセンス
マサチューセッツ工科大学
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.
問題を深く分析し、高品質で構造化された推論を提供するために、専門の AI エージェント (プランナー、リサーチャー、アナライザー、クリティック、シンセサイザー) の調整されたチームを使用して洗練された順次思考を実装する高度な MCP サーバーです。
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