会話ベースのマルチエージェント(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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 会話ベースのマルチエージェント(AutoGen)
- 階層型スーパーバイザー(オーケストレーター + ワーカー)
- エージェントのロールと専門分野
- 通信プロトコル(メッセージバス)