0Pricing
AI Agents · レッスン

会話ベースのマルチエージェント(AutoGen)

Microsoft AutoGenを使うと、複数のエージェントが合意に達するまで互いに会話できます。

「会話ベースのマルチエージェント(AutoGen)」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

なぜマルチエージェントなのか

すべてのツールを持つ 1 つのエージェントよりも、専門化された 2 つのエージェントが会話するほうが優れていることがよくあります。専門化 > 汎用型。

例:

  • Researcher + Writer — 一方が情報を集め、もう一方が回答を構成する
  • Coder + Reviewer — 一方がコードを書き、もう一方が批評する
  • User-Proxy + Assistant — ユーザーを代弁し、作業担当者と対話する

AutoGen のパターン

Microsoft AutoGen では、エージェント同士を会話させることができます。それぞれが AssistantAgent または UserProxyAgent です。合意に達するまでメッセージを交換します。

Two-Agent Example

# pip install pyautogen
from autogen import AssistantAgent, UserProxyAgent

llm_config = {'model': 'gpt-4o-mini', 'api_key': '...'}

assistant = AssistantAgent(
    name='coder',
    system_message='You write Python code. Reply with code only.',
    llm_config=llm_config
)

user_proxy = UserProxyAgent(
    name='user',
    human_input_mode='NEVER',
    code_execution_config={'work_dir': './workdir'}
)

user_proxy.initiate_chat(assistant, message='Write a function that returns the factorial of n.')

UserProxyAgent

人間(またはスクリプト)を表します。assistant が返したコードを実行したり、確認の質問をしたり、タスクが完了したかを判断したりできます。

会話可能なエージェント

すべての AutoGen エージェントは ConversableAgent を継承します。サブクラス化して独自の動作を定義できます。

GroupChat for >2 Agents

class AssistantAgent:
    def __init__(self, name, system_message=''):
        self.name = name
        self.system_message = system_message

    def initiate_chat(self, manager, message):
        manager.run(self, message)

class GroupChat:
    def __init__(self, agents, messages, max_round=12):
        self.agents = agents
        self.messages = messages
        self.max_round = max_round

class GroupChatManager:
    def __init__(self, groupchat, llm_config=None):
        self.groupchat = groupchat

    def run(self, initiator, message):
        self.groupchat.messages.append({'role': initiator.name, 'content': message})
        for i, agent in enumerate(self.groupchat.agents):
            if i >= self.groupchat.max_round:
                break
            reply = f'{agent.name} contributes to: {message}'
            self.groupchat.messages.append({'role': agent.name, 'content': reply})
            print(reply)

user_proxy = AssistantAgent(name='user_proxy')
researcher = AssistantAgent(name='researcher')
writer = AssistantAgent(name='writer')
critic = AssistantAgent(name='critic')

group = GroupChat(agents=[user_proxy, researcher, writer, critic], messages=[], max_round=12)
manager = GroupChatManager(groupchat=group, llm_config={})

user_proxy.initiate_chat(manager, message='Write a blog post about RAG.')

発話者の選択

次に発話するエージェントは GroupChatManager が決定します。戦略には次のものがあります:

  • round_robin — 固定された順番で交代する
  • auto — 会話の内容に基づいて LLM が選択する
  • manual — 人間が選択する

終了条件

会話は次の場合に終了します:

  • エージェントが TERMINATE キーワードを出力した
  • max_round に達した
  • UserProxyAgent がタスク完了と判断した

コード実行

UserProxyAgent は、assistant がコードブロック内に出力した任意のコードを実行できます。サンドボックスを使用してください:

user_proxy = UserProxyAgent(
    name='user',
    code_execution_config={
        'work_dir': './workdir',
        'use_docker': True   # safer
    }
)

コストへの注意

マルチエージェントの会話には高いコストがかかります。N エージェント × M ラウンド = 1 タスクあたり N×M 回の LLM 呼び出しです。ラウンド数を積極的に制限してください。

使用する場面

  • 役割を明確に分担できるタスク(調査、コード、レビュー)
  • 批評によって品質が向上するタスク
  • 1 つのエージェント用プロンプトでは複雑すぎるタスク

使用しない場面

  • 単純な Q&A — 1 つのエージェントのほうが速く、安価です
  • レイテンシーが重要な処理
  • 1 つのエージェントだけで十分に処理できるタスク

AutoGen と LangGraph の比較

AutoGen = 会話駆動(エージェント間の自由形式のチャット)。LangGraph = グラフ駆動(明示的なステートマシン)。どちらも有効です。タスクに自然に適合するほうを選んでください。

AutoGen のパターン

AutoGen の中心的な抽象化は何ですか?

まとめ

AutoGen = 役割ベースのエージェントが会話する仕組みです。1 つのエージェントが監督し、他のエージェントが専門化するタスクに適しています。コストに注意し、ラウンド数を制限してください。

よくある質問

「会話ベースのマルチエージェント(AutoGen)」レッスンは無料ですか?

はい。「会話ベースのマルチエージェント(AutoGen)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。

「会話ベースのマルチエージェント(AutoGen)」で何を学びますか?

Microsoft AutoGenを使うと、複数のエージェントが合意に達するまで互いに会話できます。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agentsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「会話ベースのマルチエージェント(AutoGen)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agentsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 会話ベースのマルチエージェント(AutoGen)
  2. 階層型スーパーバイザー(オーケストレーター + ワーカー)
  3. エージェントのロールと専門分野
  4. 通信プロトコル(メッセージバス)
← AI Agentsに戻る