AG2(旧AutoGen)とは?特徴や機能、MastraやLangChainとの違い、できること、料金や使い方、活用事例を徹底解説
最終更新日:2025年04月23日

- AG2は、複数のAIエージェントが連携してタスクを解決するPythonベースのオープンソースフレームワーク。
- ConversableAgent、UserProxyAgent、GroupChatなどの強力なコンポーネントを標準搭載し、多様な対話・自動化が可能。
- 情報収集、業務自動化、教育支援、旅行プランナーなど、現実的なユースケースに対応した事例が豊富。
- Apache 2.0ライセンスで無料利用可能。
AG2(旧AutoGen)は、複数のAIエージェントが役割分担しながら連携・協調してタスクを解決する、PythonベースのオープンソースAIエージェント開発フレームワークです。
会話、ツール実行、コード生成、外部API連携などを自由に組み合わせ、複雑な業務や意思決定プロセスを自動化できます。
本記事では、AG2の特徴、機能、料金体系、他フレームワークとの違い、使い方、活用例までを詳しく解説します。
AI Marketでは
LLMに強いAI会社をご自分で選びたい場合はこちらで特集していますので併せてご覧ください。
目次
AG2(旧AutoGen)とは?
AG2は、AIエージェントの開発とマルチエージェントによる協調タスクの実行を支援するオープンソースフレームワークです。
複数のLLM(大規模言語モデル)との連携、ツールの利用、コード実行、人間との対話を含む柔軟なワークフローを実現します。
AutoGenとAG2の違い
AutoGenはもともとMicrosoft主導で開発されましたが、企業内制約や開発速度の限界がありました。
AG2はAutoGenから派生したフレームワークで、AutoGenの開発者がMicrosoftから独立して開発することで開発速度の課題等を解消し、より中立かつコミュニティ主導の体制に移行しています。
現在は、GitHub上ですべての開発がオープンに進められ、GoogleやMetaをはじめとする多様な企業・研究者が参画しています。
また、AG2では新たに「Captain Agent」や「Swarm Agent」などの高度な機能が追加され、エージェント同士の連携や自動編成がより強化されています。
以下の動画は、「AutoGen」と「AG2」の開発者であるDr. Xi WangとDr. Shing Yun Wuのインタビュー動画で、AutoGenの誕生秘話やAG2への進化について語られています。
▼累計1,000件以上の相談実績!お客様満足度96.8%!▼
AG2でできること
AG2は、以下のような多様なAIエージェントシステムを簡潔に構築できます。
また、GitHubの公式リポジトリには多数のJupyter Notebookが用意されており、エージェント構築のベースとして活用できます。
具体的な活用事例は後ほど紹介しますので、ご参照ください。
AG2の主要コンポーネント
ConversableAgent
すべてのAG2エージェントの基本クラスで、自然言語によるメッセージの送受信と応答生成を担当します。LLMを用いた応答、ツールの実行、人間との会話など、すべてこのエージェントからスタートします。
複数のエージェント間で自律的に応答を返すように設計されており、タスク分担型のシステムや、検証・対話型のユースケースに柔軟に対応できます。各エージェントにはsystem_messageやdescriptionなどのパラメータを設定することで、性格や役割を定義できます。
UserProxyAgent
人間の入力を介するためのエージェントで、human_input_modeというパラメータを設定するにより、以下の三つの挙動が選択可能で、人間の関与レベルを調整可能です。
また、UserProxyAgentはcode_execution_configオプションを通じて、Pythonコードを直接実行する機能を持ち、技術検証やデータ処理にも活用できます。
GroupChat / GroupChatManager
GroupChatは複数のConversableAgentをグループ化し、自然な対話形式でやり取りさせるための仕組みです。具体例として、「教師」「プランナー」「レビューア」といった複数の役割を持つエージェントが順番に会話を重ね、タスクを共同で進行し、授業計画を作成・改善するというシステムが挙げられます。
GroupChatManagerは、そのグループの制御役で、次に発話すべきエージェントをLLMで決定し、会話の進行を自動化します。さらに、会話履歴やターン管理も担うため、大規模なマルチエージェントシステムの構築に不可欠な存在です。
Tools(ツール統合機能)
Toolsは、エージェントが外部データやAPI、カスタム関数を実行するための仕組みです。たとえば「特定の日付が何曜日かを返す関数」「株価を取得する関数」などをPython関数として登録し、エージェントが会話の流れで動的に呼び出すことが可能です。
register_functionオプションで関数とエージェントを紐づけることで、エージェントが「いつ・どのように」外部関数を呼び出すかを自然言語ベースで制御できます。
高度な設計パターン(Advanced Agentic Design Patterns)
AG2は基本的な対話や協調にとどまらず、以下のような機能も搭載しています。
これらの拡張機能を活用することで、単なるチャットボットにとどまらず、データ分析、意思決定支援、プロセス自動化など、業務用途に直結する実用的なエージェントアプリケーションの開発が可能になります。
▼累計1,000件以上の相談実績!お客様満足度96.8%!▼
AG2の料金プラン
AG2はオープンソースプロジェクトであり、Apache 2.0ライセンスのもと、無料で利用可能です。以下の表にAG2のライセンス概要を示します。
ライセンス | 費用 | 商用利用 | 備考 |
---|---|---|---|
Apache 2.0 | 無料 | 可能 | 寄稿者とユーザーを保護するライセンス形態 |
しかし、LLMのAPIを使用する必要があるので、APIには別途料金が発生します。
関連記事:「生成AI(ジェネレーティブAI)のAPI、注目の17選をプラットフォーム別に紹介!メリット・各ツールの特徴を徹底解説!」
Mastra・LangChainとの違い
AG2は、Pythonベースで開発されたマルチエージェント協調に特化したオープンソースフレームワークです。非同期メッセージングを活用し、複数のAIエージェントが連携・対話しながら、段階的に複雑なタスクを解決する仕組みを提供します。LLMの活用に加え、コード実行やツール利用、人間とのインタラクションを柔軟に組み込めるのが特長です。
一方、LangChainはPythonで構築された汎用的なLLMアプリケーション開発フレームワークで、検索や外部データ連携に強みを持ちます。MastraはTypeScriptベースで、Web開発に適した構造と直感的なワークフロー設計を特徴としています。
以下に、AG2と他の代表的なフレームワークとの違いをまとめます。
機能・特徴 | AG2 | Mastra | LangChain |
---|---|---|---|
開発言語 | Python | TypeScript | 主にPython (TypeScript版もあり) |
主な用途 | マルチエージェント協調 タスク解決 | モダンなAIエージェント開発 | LLMアプリケーション開発全般 |
特徴 | 非同期メッセージングによる柔軟な会話制御 複数エージェントの協調と分業 高い拡張性と観測性 | 高い開発体験 シンプルなワークフロー設計 | 豊富なツール連携 コンテキスト認識と外部データ接続 |
AG2の使い方
AG2の使い方について4つのステップに分けて説明します。
ステップ1:環境のセットアップ
- Pythonのバージョン確認: AG2の利用にはPython 3.9以上、3.14未満が必要です。Pythonのバージョンはターミナルで以下のコマンドを実行することで確認できます。
python -V
- 仮想環境の使用(推奨): プロジェクトごとの依存関係を分離するため、venvなどの仮想環境を使用することが推奨されます。
- AG2のインストール: 以下のコマンドでOpenAI向けのAG2をインストール可能です。
pip install ag2[openai]
他のモデルを使う場合は、以下のように使用したいプロバイダ名を[]内に書き込みコマンドを実行します。
pip install ag2[gemini]
pip install ag2[anthropic,cohere,mistral]
macOSで「no matches found:」と出る場合はクオートで囲んで実行してみましょう。
pip install "ag2[openai]"
ステップ2:APIの設定
まず、エージェントを作成するためのフォルダを作りましょう。フォルダの中に.envファイルを作成し、以下のようにOpenAIのAPIを設定します。
API_KEY=
ステップ3:エージェントを作成
先ほどのフォルダ内にエージェントの設定をするファイルを用意しましょう。今回はファイル名をfirst_agent.pyと設定します。
作成したファイルに以下のコードを入力することで、GPT-4o-miniを使って「企業の脱炭素戦略」について議論するAIエージェントを作成できます。
import os
from dotenv import load_dotenv
import autogen
load_dotenv()
llm_config = {
"config_list": [
{"model": "gpt-4o-mini", "api_key": os.environ["API_KEY"]}
],
}
# ファシリテーター(中立的進行役)
user_proxy = autogen.UserProxyAgent(
name="facilitator",
llm_config=llm_config,
code_execution_config={"use_docker": False},
human_input_mode="TERMINATE",
system_message=(
"あなたは企業内の独立したファシリテーターです。"
"全員が公平に発言できるように配慮し、必要に応じて問いかけや話題の整理を行ってください。"
"自分の意見は述べず、あくまで対話を促進する役割に徹してください。"
),
)
# 役職者たち
president = autogen.AssistantAgent(
name="president",
llm_config=llm_config,
system_message=(
"あなたは大企業の社長です。会社の長期的なビジョンと脱炭素の方向性について語ってください。"
"経営判断の視点から、どのような投資や制度改革が必要かを検討してください。"
),
)
cso = autogen.AssistantAgent(
name="cso",
llm_config=llm_config,
system_message=(
"あなたはChief Sustainability Officer(CSO)です。"
"環境問題・カーボンニュートラルの専門家として、脱炭素に関する技術的・制度的な提案をしてください。"
),
)
cmo = autogen.AssistantAgent(
name="cmo",
llm_config=llm_config,
system_message=(
"あなたはCMO(マーケティング責任者)です。"
"消費者や市場の声を踏まえて、企業のブランド価値と環境対応のバランスについて発言してください。"
"サステナビリティをどう伝えれば支持を得られるかを提案してください。"
),
)
# グループチャット構成
group_chat = autogen.GroupChat(
agents=[user_proxy, president, cso, cmo],
messages=[],
max_round=4,
)
manager = autogen.GroupChatManager(
groupchat=group_chat,
llm_config=llm_config,
)
# 議題開始
user_proxy.initiate_chat(
manager,
message=(
"本日は『企業の脱炭素戦略』について議論します。"
"環境規制の強化や社会的責任への意識が高まる中で、企業がどのようにしてサステナブルな成長を実現できるかを話し合ってください。"
"互いの立場や役割を尊重しつつ、前向きな提案を積み上げていく形で議論を進めましょう。"
),
)
ステップ4:エージェントの実行
先ほど設定したファイル名を元に、以下のコマンドを実行します。
python first_agent.py
実行が成功している場合は以下のようにエージェントによる議論が出力されます。
facilitator (to chat_manager):
本日は『企業の脱炭素戦略』について議論します。環境規制の強化や社会的責任への意識が高まる中で、企業がどのようにしてサステナブルな成長を実現できるかを話し合ってください。互いの立場や役割を尊重しつつ、前向きな提案を積み上げていく形で議論を進めまし ょう。
--------------------------------------------------------------------------------
Next speaker: president
president (to chat_manager):
脱炭素戦略は、企業の長期的な成功に不可欠な要素であり、持続可能な成長を実現するための道筋となるものです。私たちのビジョンは 、2050年までにカーボンニュートラルを達成し、環境と共生する企業としてのモデルを確立することです。この目標は単なる規制への対 応ではなく、顧客、従業員、投資家からの信頼を得るための重要な戦略です。
~以下略~
これで、AG2を使ったマルチターン会話型エージェントが動作させることができました。今回は使用していないコンポーネントなどもたくさんあるので、試行錯誤しながらオリジナルのエージェントを構築してみましょう。
AG2の活用例
以下では、AG2を用いた具体的なAIエージェントの活用例を紹介します。
旅行プランナー
AG2では、顧客と協力して旅程を作成する「スワーム型旅行プランナー」を構築できます。
エージェントは飲食店や観光地の情報を含むGraphRAGデータベースを活用し、Google Maps APIで各アクティビティ間の距離や移動時間を自動計算します。さらに、最終的に構造化された形式で旅程を出力し、旅行の計画をスムーズにサポートしてくれます。
カスタマーサポート(EC対応)
注文の追跡や返品対応を自動化する柔軟なカスタマーサポートエージェントの構築もできます。
ログインの有無に応じて処理を分岐し、未ログインでも追跡番号から注文状況をエージェントが確認し、ログイン後は注文履歴の照会や返品処理も対応可能です。各機能は独立したエージェントで構成され、分散型のスワームによって連携し、シームレスなユーザー体験を実現します。
株式分析アシスタント
指定した銘柄に関するニュースや株価の変動情報を収集・解析し、投資判断を支援するエージェントを構築できます。
Yahoo Financeから最新ニュースを取得し、過去1年分の株価推移を可視化した上で、最終的に「買い・売り・保留」の判断を含むレポートを自動生成します。
ここまでで紹介した活用例は、AG2がgithubにソースコードを公開しているものから抜粋したものになります。実際に使用してみたい方や、他の活用例も知りたい方はAG2のgithubをご参照ください。
AG2についてよくある質問まとめ
- AG2とは何ですか?
AG2は、複数のAIエージェントが連携してタスクを解決するためのオープンソースフレームワークです。
自然言語対話、ツール実行(APIの利用)、コード実行、人間の介在(Human-in-the-loop)を組み合わせた柔軟なエージェントシステムを構築できます。
- AutoGenとAG2の違いは何ですか?
AutoGenはMicrosoft主導で開発されたものでしたが、AG2はその開発者たちが独立して再構築した派生プロジェクトです。
AG2では開発が完全にオープンになり、より高速な進化と新機能(例:Captain Agent、Swarm Agent)が取り入れられています。
まとめ
AG2は、複数のAIエージェントが連携してタスクを処理するフレームワークです。
ConversableAgentを中心に、Human-in-the-loop、GroupChat、ツール統合など多彩な構成が可能で、実用的なAIアプリケーションの構築が大幅に加速されます。無料で利用でき、柔軟性の高い設計が特長となっています。
比較的簡単に利用することができるので、エージェントを使ってみたいという方は一度挑戦してみてはいかがでしょうか。
AI Marketでは

AI Marketの編集部です。AI Market編集部は、AI Marketへ寄せられた累計1,000件を超えるAI導入相談実績を活かし、AI(人工知能)、生成AIに関する技術や、製品・サービス、業界事例などの紹介記事を提供しています。AI開発、生成AI導入における会社選定にお困りの方は、ぜひご相談ください。ご相談はこちら
𝕏:@AIMarket_jp
Youtube:@aimarket_channel
TikTok:@aimarket_jp
運営会社:BizTech株式会社
弊社代表 森下𝕏:@ymorishita
掲載記事に関するご意見・ご相談はこちら:ai-market-contents@biz-t.jp
