このプロジェクトについて
Swarmsは、マルチエージェントシステムを構築・オーケストレーションするためのPythonフレームワークです。既製のオーケストレーションアーキテクチャ群と共通のAgent抽象化を備えており、同じエージェントを異なる協調戦略で再利用できます。
コア構成要素
- Agent: ツールとメモリを備えたLLMベースのエンティティで、モデル名、システムプロンプト、ループ回数、関連オプションで設定します。max_loops="auto"を設定すると、固定回数の反復で停止するのではなく、タスクが完了したとエージェント自身が判断できます。
- Workflows: SequentialWorkflowはエージェントを連結し、各出力が次に渡されます。ConcurrentWorkflowは同じタスクでエージェントを並列実行します。AgentRearrangeは「a -> b, c」のような文字列構文で非線形フローを表現します。GraphWorkflowはエージェントをDAGのノードとしてモデル化し、明示的なエッジ、開始点・終了点、自動トポロジカル順序付け、並列な独立ブランチを備えています。
- 高レベルパターン: MixtureOfAgentsは専門エージェントを並列実行し、アグリゲーターで結果を統合します。GroupChatは会話型の協調をサポートします。ForestSwarmはタスクに適したエージェントまたはエージェントツリーを選択します。HierarchicalSwarmはディレクターが計画を立て、専門ワーカーに作業を分配します。HeavySwarmは多段階の調査・分析ワークフローを記述します。SwarmRouterはパラメーターを変更するだけで、サポートされている任意のスウォームタイプを実行する単一のインターフェースを提供します。
- AutoSwarmBuilderはタスクの説明からエージェント、プロンプト、ワークフロー構造を生成し、生成されたエージェント設定を返すこともできます。
相互運用性
エージェントはMCPサーバーURLを設定することで、Model Context Protocolを通じて外部ツールを利用できます。MCPDeployerは、エージェント、スウォーム、または関数をMCPサーバーとして公開でき、設定可能な認証(静的APIキー、カスタム認証呼び出し可能オブジェクト、スコープ付きトークン検証)とHTTP、SSE、stdioトランスポートを備えています。READMEでは、x402やスキルなど、他のエージェントフレームワークやプロトコルとの後方互換性についても言及されています。
インストールと使用方法
pip、uv、poetry、またはソースからインストールできます。設定は主にAPIキーやワークスペースディレクトリなどの環境変数を通じて行います。READMEの例では、最初のエージェント、自律エージェント、MCPクライアントとサーバーのセットアップ、およびいくつかのスウォームアーキテクチャを扱っています。
このプロジェクトはPyPIパッケージとして配布されており、ドキュメント、ウェブサイト、マーケットプレイスへのリンクが用意されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.