Swarm の概要
Swarm: 軽量マルチエージェントオーケストレーションフレームワーク
Swarmとは?
Swarmは、OpenAIが開発した実験的な教育用フレームワークで、人間工学に基づいた軽量なマルチエージェントオーケストレーションを検証するために使用されます。エージェントの連携と実行を軽量、高度に制御可能、かつ簡単にテストできるようにすることに重点を置いています。Swarmは、エージェントとハンドオフという2つのプリミティブな抽象化を通じてこれを実現します。
注: Swarmは、Swarmのプロダクション対応の進化版であるOpenAI Agents SDKに置き換えられました。プロダクションでの使用にはAgents SDKに移行することをお勧めします。
Swarmの仕組み
Swarmは、エージェントが指示とツールを包含できるようにすることで動作します。エージェントはいつでも、会話を別のエージェントに引き渡すことができます。これらのプリミティブは、ツールとエージェントのネットワーク間の豊かなダイナミクスを表現するのに十分強力であり、スケーラブルで現実的なソリューションを構築できます。
Swarmエージェントは、Chat Completions APIによって駆動され、呼び出し間でステートレスです。client.run()
関数は、次のループを実装します。
- 現在のエージェントから補完を取得します。
- ツールの呼び出しを実行し、結果を追加します。
- 必要に応じてエージェントを切り替えます。
- 必要に応じてコンテキスト変数を更新します。
- 新しい関数呼び出しが行われない場合は、返します。
Swarmを選ぶ理由
Swarmは、設計上、軽量でスケーラブル、かつ高度にカスタマイズ可能なパターンを検証します。単一のプロンプトにエンコードするのが難しい、多数の独立した機能と指示を扱う状況に最適です。
主な機能とコンセプト
- エージェント: 指示とツールを包含します。指示と関数によって定義された特定のワークフローまたはステップを表すことができます。
- ハンドオフ: エージェントは実行を別のエージェントに引き渡すことができます。
- 関数: SwarmエージェントはPython関数を直接呼び出すことができます。関数は通常、文字列を返す必要があります(値は文字列としてキャストされます)。
- コンテキスト変数: エージェントはコンテキスト変数にアクセスして更新できるため、状態を維持し、情報を共有できます。
- ストリーミング: Swarmはストリーミング応答をサポートし、リアルタイムの更新を提供します。
Swarmの使用方法
インストール:
pip install git+ssh://git@github.com/openai/swarm.git
または
pip install git+https://github.com/openai/swarm.git
Swarmクライアントのインスタンス化:
from swarm import Swarm client = Swarm()
エージェントの定義:
from swarm import Agent agent_a = Agent( name="Agent A", instructions="You are a helpful agent.", functions=[transfer_to_agent_b], ) agent_b = Agent( name="Agent B", instructions="Only speak in Haikus.", ) def transfer_to_agent_b(): return agent_b
Swarmの実行:
response = client.run( agent=agent_a, messages=[{"role": "user", "content": "I want to talk to agent B."}], ) print(response.messages[-1]["content"])
Swarmは誰のためのものか?
Swarmは、マルチエージェントオーケストレーションについて学びたい開発者向けの教育リソースです。単一のプロンプトにエンコードするのが難しい、多数の独立した機能と指示を扱う場合に適しています。
例
- basic: セットアップ、関数呼び出し、ハンドオフ、コンテキスト変数などの基本に関する簡単な例。
- triage_agent: 適切なエージェントに引き渡すための基本的なトリアージステップの設定の簡単な例。
- weather_agent: 関数呼び出しの簡単な例。
- airline: 航空会社のコンテキストでさまざまなカスタマーサービスリクエストを処理するためのマルチエージェントセットアップ。
- support_bot: ユーザーインターフェイスエージェントと、いくつかのツールを備えたヘルプセンターエージェントを含むカスタマーサービスボット。
- personal_shopper: 販売と払い戻し注文を支援できるパーソナルショッピングエージェント。
結論
SwarmはOpenAI Agents SDKに取って代わられましたが、マルチエージェントオーケストレーションを理解するための貴重な教育リソースです。スケーラブルでカスタマイズ可能なAIワークフローを構築するための基盤を提供します。Agents SDKは、組み込みのメモリ管理と検索を求める開発者向けのプロダクション対応ソリューションであり、Swarmからの大幅な進化を表しています。
"Swarm" のベストな代替ツール

Superduper Agentsは、仮想AIワークフォースを管理し、タスクを自動化し、データに関する質問に答え、AI機能を製品やサービスに組み込むためのプラットフォームです。

AI Prompt Studioは、AIプロンプトを整理、改良、マスターするための、無料のプライバシー重視のデスクトップアプリケーションです。プロンプト、結果、モデルをローカルで管理します。

AI-Flowは、コンテンツ作成、画像生成、ワークフロー自動化のために、複数のAIモデルを簡単に接続できるノーコードプラットフォームです。 OpenAI、StabilityAIなどのモデルを統合します。


DailyBotを使用してチームチェックインと毎日のスタンドアップを自動化します。AIを活用した要約と分析を使用して、Slack、Teams、Google Chat、Discordでのチームの連携と生産性を向上させます。

Respell:Agentic AIワークフローでビジネスを運営します。制御性とパフォーマンスのために、ノーコードエージェントで自動化します。


Kypsoは、エンジニアリングリーダーがAIチャンピオンでチームプロセスを変換し、タスクを自動化し、ワークフローを合理化するために設計されたAIプラットフォームです。


Forethoughtは、サポートコストを削減し、顧客体験を向上させるAIカスタマーサービスソフトウェアを提供します。AIエージェントにより、最大90%の問い合わせを自動化します。

Promethean AIは、デジタルアート制作と世界構築におけるクリエイティブチームを強化するために設計されたAIブレイントラストです。ワークフローを効率化し、生産性を向上させ、クリエイターがストーリーと美しさに集中できるようにします。

Promptchains.aiは、AIワークフローのビジュアルビルダーであり、プロンプトチェーンと統合を通じて、複雑なAIソリューションを作成、保存、再利用、共有することができます。 今日から無料トライアルを始めましょう!

Go Agent SDKは、GoでインテリジェントなAIエージェントを構築、デプロイ、オーケストレーションするための強力なオープンソースSDKです。エージェントワークフローを簡素化し、カスタムツールを統合します。

Leap AIは、AIでワークフローを自動化し、企業がコーディングなしでマーケティング、セールス、オペレーションを拡張できるようにします。 カスタムAI自動化を構築し、シームレスに統合し、パフォーマンスを最適化します。

OneSky Localization Agent(OLA)は、アプリ、ソフトウェア、ゲームの正確で費用対効果の高い翻訳にマルチエージェントAIを使用しています。シームレスに統合して、グローバル展開を加速します。