目次

OpenAI Swarm Examples: Basic

OpenAI Swarmのexampleフォルダには、さまざまなユースケースに基づいたサンプルが用意されています。これらのサンプルは、Swarmの基本的な使い方や応用方法を学ぶ上で非常に役立ちます。このセクションでは、`basic`という名前のサンプルについて詳しく説明します。

基本的なセットアップ

`basic`サンプルは、OpenAI Swarmの最もシンプルな使い方を示す例です。このサンプルは、エージェントのセットアップから始まり、エージェント間でタスクをハンドオフする基本的なプロセスを示しています。まず、複数のエージェントがどのように連携して動作するかを理解するために、シンプルなエージェントAとエージェントBを作成します。

たとえば、以下のコードでエージェントAがエージェントBに会話を引き継ぐ(ハンドオフする)流れを作ります:

from swarm import Swarm, Agent
client = Swarm()
def transfer_to_agent_b():
    return agent_b
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."
)
response = client.run(
    agent=agent_a,
    messages=[{"role": "user", "content": "I want to talk to agent B."}]
)
print(response.messages[-1]["content"])

上記のコードでは、エージェントAが「エージェントBと話したい」というユーザーからのリクエストを受け取り、エージェントBにハンドオフします。このとき、エージェントBは俳句のみを話すという役割を持っています。このように、各エージェントが異なる役割を持ち、必要に応じてタスクを他のエージェントに引き継ぐことができるのがSwarmの特徴です。

Handoffとエージェント間の連携

この`basic`サンプルは、Swarmの「エージェント」と「ハンドオフ」という2つの重要な概念を理解するのに最適です。エージェントは、それぞれ特定の指示や役割を持ち、必要に応じてタスクを別のエージェントにハンドオフします。これにより、各エージェントが得意とする分野で効率的にタスクを処理し、全体として柔軟かつ拡張性の高いシステムを構築することが可能です。

例えば、エージェントAは一般的な質問に答えることを得意とし、エージェントBは俳句を提供することを得意とする、といった形で役割分担が行われます。これにより、ユーザーは状況に応じた最適な応答を得ることができます。

教育的な価値

`basic`サンプルは、Swarmの基礎的な動作を理解するために設計されており、特に教育的な価値が高いとされています。初心者でも簡単にエージェント間のやり取りやハンドオフの流れを体験できるため、マルチエージェントシステムの基本概念を学ぶための良い出発点となるでしょう。

このように、`basic`サンプルを使うことで、Swarmの基本的な使い方を理解し、実際の応用に向けた知識を深めることができます。他のサンプルと組み合わせて学ぶことで、さらに複雑なエージェント間の連携やタスクの自動化に対応できるようになります。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS