<!-- markdown -->

今までのChatGPTと比べて何ができるようになっているのだろうか?

サンプルコードをいまいちどみてみる。

ChatGPTのセッションは、会話のタイトルと、AIへのプロンプトのようなものがある感じだった.
この塊をChatGptAgentというクラス名としよう。こういうものは、クラス図で理解するのがあとあと、プログラムするときにも役立つものだ。クラスの継承を意味するextendsという書き方は、追加になった機能だけを意識すればよくなるので便利だ

ざっくり書くとこんな感じ
    class ChatGptAgent {
      タイトル
      プロンプト
    }

サンプルでは以下のように記述されている
    agent_b = Agent(
        name="エージェントB",
        instructions="ただ俳句だけを喋って。",
    )

で、その概念にChatGptAgentだけでは対応できない困った問題がやってきたときに、別の得意なAgentに丸投げする仕組みが、Swarmと命名されている認識であっていると仮定してみよう。

    class SwarmAgent extends ChatGptAgent {
      丸投げ先のエージェント名
     }

サンプルでは以下のように記述されている
    agent_a = Agent(
        name="エージェントA",
        instructions="あなたは親切な日本語のアシスタントです。",
        functions=[transfer_to_agent_b],
    )

OpenAIのSwarmはエージェントAがBに丸投げする書き方を提供している。

    from swarm import Swarm, Agent
    
    swarmClient = Swarm()
    
    swarmClient.run(
       どのAIが、
       どうしたい(※どうしたいの部分は会話形式でよい)
    )

という感じで、指示します。普通のプログラムと違う点に気が付きます。
普通のプログラムだったら、エージェントBの○○APIを定義に則りコールする
という感じですが、会話的な言葉でよいのです。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   最終更新のRSS