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.
シーケンシャル思考マルチエージェントシステム(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
モデルに従って構造化された最初の (または後続の) 思考でsequentialthinking
ツールを呼び出します。 - **検証とログ記録:**ツールは呼び出しを受け取り、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 サーバー構成 (クライアント側)
このサーバーは、MCPの想定通り、stdio経由で通信する標準的な実行スクリプトとして実行されます。具体的な設定方法は、MCPクライアントの実装によって異なります。詳細は、クライアントのドキュメントを参照してください。
env
セクションには、選択したLLM_PROVIDER
の API キーを含める必要があります。
インストールとセットアップ
- リポジトリをクローンします。Copy
- **環境変数を設定する:**ルート ディレクトリに
.env
ファイルを作成するか、変数をエクスポートします。モデル選択に関する注意:CopyTEAM_MODEL_ID
はコーディネーター(Team
オブジェクト自体)によって使用されます。この役割には、強力な推論、統合、および委任能力が必要です。より強力なモデル(deepseek-r1
、claude-3-opus
、gpt-4-turbo
など)を使用すると、速度が遅くなったりコストがかかったりしても、多くの場合メリットがあります。AGENT_MODEL_ID
は、スペシャリストエージェント(プランナー、リサーチャーなど)によって使用されます。これらのエージェントは、より集中的なサブタスクを処理します。スペシャリストには、通常処理するタスクの複雑さや予算/パフォーマンス要件に応じて、より高速でコスト効率の高いモデル(deepseek-v3
、claude-3-sonnet
、llama3-70b
など)を選択することもできます。main.py
で提供されるデフォルト(例:DeepSeek 使用時のエージェント用のdeepseek-reasoner
)は出発点です。特定のユースケースに最適なバランスを見つけるために、実験することをお勧めします。
- 依存関係をインストールします:
uv
の使用 (推奨):Copypip
を使用する:Copy
使用法
サーバー スクリプトを実行します (メイン スクリプトの名前がmain.py
またはファイル構造に基づいた同様の名前であると仮定します)。
サーバーが起動し、stdio 経由でリクエストをリッスンして、互換性のある MCP クライアント (特定の LLM やテスト フレームワークなど) でsequentialthinking
ツールを使用できるようになります。
sequentialthinking
ツールパラメータ
このツールは、 ThoughtData
Pydantic モデルに一致する引数を必要とします。
ツールの操作(概念例)
LLM はこのツールと反復的に対話します。
- **LLM:**問題に対して
sequential-thinking-starter
プロンプトを使用します。 - LLM:
thoughtNumber: 1
、最初のthought
(例: 「分析を計画する...」)、totalThoughts
推定、nextThoughtNeeded: True
を使用して、sequentialthinking
ツールを呼び出します。 - サーバー: MAS が思考を処理 -> コーディネーターが応答を統合し、ガイダンスを提供します (例: 「分析計画が完了しました。次に X の調査を提案します。まだ修正は推奨されていません。」)。
- LLM:
coordinatorResponse
を含む JSON 応答を受信します。 - LLM:
coordinatorResponse
に基づいて、次の考え (例: 「Exa を使用して 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 レベル) が含まれます。
- ログには、タイムスタンプ、レベル、ロガー名、フォーマットされた思考表現などのメッセージが含まれます。
発達
(該当する場合は、開発環境の設定、テストの実行、リンティングなどの開発ガイドラインをここに追加します。)
- リポジトリをクローンします。
- 仮想環境をセットアップします。
- 開発用追加機能を含む可能性のある依存関係をインストールします。Copy
- リンター/フォーマッタ/テストを実行します。
ライセンス
マサチューセッツ工科大学
This server cannot be installed
高度な MCP サーバーは、専門的な AI エージェント (プランナー、リサーチャー、アナライザー、クリティック、シンセサイザー) の調整されたチームを使用して洗練された順次思考を実装し、問題を深く分析して、高品質で構造化された推論を提供します。