概要
SwarmワークフローはタスクコンテキストでSwarmを設定するforce_swarm: true によってトリガーされます。他のすべてのワークフローと同じ POST /api/v1/tasks エンドポイントを使用します——個別のエンドポイントは不要です。
Swarmモードはクエリをサブタスクに分解し、Agent間メッセージングで並列に動作する永続的なAgentを生成し、結果を統一されたレスポンスに統合します。
Swarmタスクの送信
エンドポイント
リクエストボディ
Swarm固有のコンテキストパラメータ
すべての標準タスクパラメータ(
session_id、mode、model_tier、model_override、provider_override)はSwarmタスクで使用できます。
force_swarmフラグはcontextオブジェクト内に設定する必要があり、トップレベルのパラメータではありません。また、サーバー設定でSwarmが有効(features.yamlのworkflows.swarm.enabled: true)である必要があります。例:基本的なSwarmタスク
レスポンス
X-Workflow-ID:Temporalワークフロー識別子(task_idと同一)X-Session-ID:セッション識別子
送信 + ストリーミング
統合エンドポイントを使用して、送信とストリームURLの取得を一回で行います:Swarm進捗の監視
SSEイベントストリーム
Swarm固有のイベント
SSE出力例
タスクステータスレスポンス
Swarmメタデータ
Swarmワークフローが完了すると、ステータスレスポンスにSwarm固有のメタデータが含まれます:メタデータフィールド
サーバー設定
Swarmパラメータはconfig/features.yamlのworkflows.swarmで設定されます:
エラーハンドリングとフォールバック
部分的な失敗
一部のAgentが失敗しても少なくとも1つが成功した場合、Swarmワークフローは成功したAgentの出力を使用して結果を生成します。 すべてのAgentが失敗した場合、レスポンスにエラーが含まれます:自動フォールバック
Swarmワークフロー全体が失敗した場合(分解エラー、すべてのAgentが失敗など)、Shannonは標準のワークフロールーティング(DAGまたはSupervisor)に自動的にフォールバックします。再帰的な失敗を防ぐため、force_swarmフラグはコンテキストから除去されます。
関連エンドポイント
タスク送信
POST /api/v1/tasks(完全なリファレンス)
ステータス取得
GET /api/v1/tasks/
ストリームイベント
SSEイベントストリーミング
タスクキャンセル
POST /api/v1/tasks//cancel