Skip to main content

概要

SwarmワークフローはタスクコンテキストでSwarmを設定する force_swarm: true によってトリガーされます。他のすべてのワークフローと同じ POST /api/v1/tasks エンドポイントを使用します——個別のエンドポイントは不要です。 Swarmモードはクエリをサブタスクに分解し、Agent間メッセージングで並列に動作する永続的なAgentを生成し、結果を統一されたレスポンスに統合します。

Swarmタスクの送信

エンドポイント

リクエストボディ

Swarm固有のコンテキストパラメータ

すべての標準タスクパラメータ(session_idmodemodel_tiermodel_overrideprovider_override)はSwarmタスクで使用できます。
force_swarmフラグはcontextオブジェクト内に設定する必要があり、トップレベルのパラメータではありません。また、サーバー設定でSwarmが有効(features.yamlworkflows.swarm.enabled: true)である必要があります。

例:基本的なSwarmタスク

レスポンス

ヘッダー:
  • X-Workflow-ID:Temporalワークフロー識別子(task_idと同一)
  • X-Session-ID:セッション識別子

送信 + ストリーミング

統合エンドポイントを使用して、送信とストリームURLの取得を一回で行います:
レスポンス(201 Created):

Swarm進捗の監視

SSEイベントストリーム

Swarm固有のイベント

SSE出力例

タスクステータスレスポンス

Swarmメタデータ

Swarmワークフローが完了すると、ステータスレスポンスにSwarm固有のメタデータが含まれます:

メタデータフィールド

サーバー設定

Swarmパラメータはconfig/features.yamlworkflows.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