ag2-overview について
AG2 に不慣れな開発者向けの索引スキルです。Agent の構築、ツール、マルチエージェント連携、評価など、目的に合う専門ガイドを案内します。
主な機能
- 01開発目的から専門スキルを検索
- 02Agent とモデルの設定ガイドを特定
- 03ツール、メモリー、マルチモーダルの項目を参照
- 04マルチエージェントネットワークと委譲のガイドを検索
- 05テスト、評価、可観測性のガイドを特定
活用シーン
- 01AG2 プロジェクトの開始時に入門ガイドを選ぶ
- 02Agent にツールや構造化出力を追加する
- 03マルチエージェント連携方式を計画する
- 04Agent のテストや評価方法を探す
MCP 対応
索引には ag2-mcp スキルが含まれ、Agent を MCP サーバーとして提供する方法と、stdio、HTTP、プロンプト、リソースを扱います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ag2ai/ ag2-skills --skill ag2-overviewインストール後、Claude Code で/ag2-overviewを入力して読み込まれたか確認します。
詳細
AG2 — 機能マップ
AG2(ag2)は、非同期でプロトコル駆動型のエージェントフレームワークです。リファレンスドキュメントの全容は website/docs/user-guide/ にあります。このスキルは、一般的な構築方法を扱う関連スキルのインデックスです。
使用するタイミング
リクエストに「AG2」、「ag2」、またはこのリポジトリでのエージェント構築が含まれていて、必要な機能がまだわからない場合は、まずこのファイルを読んでください。以下の表から適切な専門スキルを選び、そのスキルの SKILL.md を読み込んで手順を確認してください。
始める前に
AG2 で何かを構築するには、3 つの準備が必要です。一度正しく設定すれば、残りのスキルをスムーズに利用できます。
- 適切なプロバイダー用の追加パッケージをインストールする —
pip install "ag2[openai]"、ag2[anthropic]、ag2[gemini]など。これがないと、*ConfigクラスはImportError: ... requires optional dependenciesを発生させます。コードを提供する前にインストールを実行してください。 コマンドを実行できない場合は、正確なpip installコマンドを記載してください。これは必須の手順です。 - 対応する API キーを設定する —
OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY(またはGOOGLE_API_KEY)。一般的な方法は、プロジェクトルートの.envからfrom dotenv import load_dotenv; load_dotenv()で読み込むことです。 - インストールを確認する —
python -c "import sys, ag2; from importlib.metadata import version; print(sys.executable, version('ag2'))"。複数の Python 環境がある場合、これによりスクリプトが実際にインポートするag2を確認できます。
プロバイダーごとの完全な一覧(インストール方法、環境変数、設定クラス)は、ag2-quickstart の「前提条件」にあります。
適切なスキルを選ぶ
| ユーザーの目的 | スキル | 対応内容 |
|---|---|---|
Agent をゼロから構築し、モデルを選ぶ | ag2-quickstart | Agent、ModelConfig、ask() / reply.ask() のチェーン、プロバイダー、環境変数 |
| Agent にカスタム Python ツールを追加する | ag2-add-custom-tool | @tool、同期/非同期、ToolResult、Context、Inject、Variable、Depends |
| 同梱ツール(ウェブ検索、コード実行、MCP など)を使う | ag2-use-builtin-tools | WebSearchTool、WebFetchTool、CodeExecutionTool、MCPServerTool、ImageGenerationTool、MemoryTool、FilesystemToolkit、DuckDuckSearchTool、ExaToolkit、TavilySearchTool |
| エージェントからシェルコマンドを実行する | ag2-shell-tool | SandboxShellTool と LocalEnvironment(任意のプロバイダー)、プロバイダー側の ShellTool(OpenAI Responses)、サンドボックス化(allowed/blocked/ignore/readonly) |
| 型付きの Pydantic/dataclass 出力を取得する | ag2-structured-output | response_schema=、ResponseSchema、@response_schema、PromptedSchema、reply.content()、再試行 |
| マルチエージェント:並列サブタスクや名前付き委譲先 | ag2-subagent-delegation | tasks=TaskConfig()、run_subtasks(parallel=True)、Agent.as_tool()、persistent_stream |
| 人間の入力を待つ、または承認でツールの実行を制御する | ag2-hitl | context.input()、hitl_hook、approval_required() ミドルウェア |
| ロギング、再試行、履歴のトリミング、カスタムインターセプト | ag2-middleware | BaseMiddleware、LoggingMiddleware、RetryMiddleware、HistoryLimiter、TokenLimiter、ツールミドルウェア |
| エージェントとツールをテストする | ag2-testing | TestConfig、LLM 応答のモック、ToolCallEvent のシミュレーション |
| オフラインでエージェントを評価/ベンチマークする、CI ゲート、スコアラー | ag2-evaluation | Suite、run_agent、final_answer_matches/tool_called/agent_judge、@scorer、RunResult、TestConfig、evaluate_traces、diff().regressions |
| モデル/プロンプトを比較する — リーダーボードまたは直接対決 | ag2-eval-comparison | run_variants(Variants({name: Agent}, axis=...))、run_pairwise と pairwise_judge(勝率、Wilson CI、判定の逆転、κ)、human_pairwise |
| 実行をまたいだ永続メモリ、履歴の圧縮、組み立て | ag2-knowledge-and-memory | KnowledgeStore、KnowledgeConfig、WorkingMemoryAggregate、AssemblyPolicy、SlidingWindowPolicy、TokenBudgetPolicy、TailWindowCompact、SummarizeCompact |
| 可観測性、アラート、停止 | ag2-observers-and-alerts | BaseObserver、TokenMonitor、LoopDetector、EventWatch、CadenceWatch、AlertPolicy、HaltEvent |
| 画像/音声/動画/PDF を入力する | ag2-multimodal-input | ImageInput、AudioInput、VideoInput、DocumentInput、FilesAPI |
| AG-UI プロトコル経由のウェブフロントエンド | ag2-ag-ui | AGUIStream、FastAPI マウント、CopilotKit |
| エージェントを MCP サーバーとして提供する(サーバー側) | ag2-mcp | MCPServer、stdio/HTTP、プロンプト、リソース、SessionConfig、AskContext |
| A2A プロトコル経由でエージェントを公開する | ag2-a2a | A2AServer、build_jsonrpc/build_rest/build_grpc、AgentCard、A2AConfig(リモートから利用) |
| リアルタイム音声/ライブ音声(会話エージェント、STT、TTS) | ag2-live | LiveAgent、GeminiRealTimeConfig/OpenAIRealTimeConfig、SoundDeviceRecorder/Player、OpenAITranscriber、TTSObserver |
| OpenTelemetry のトレース/メトリクス | ag2-telemetry | TelemetryMiddleware、GenAI semconv 属性、コンテンツのキャプチャ |
マルチエージェントネットワーク
2つ以上のエージェントがやり取りする必要がある場合は、まず ag2-network-quickstart を読み込んでください。ネットワークは、AG2 における標準的なマルチエージェントパターンです。Hub のセットアップと、2つの2者間チャネルアダプター(厳密な1問1答向けの consulting と、自由形式向けの conversation)を扱っています。クイックスタートの後、適切な詳細ガイドを参照してください。
| ユーザーの意図 | スキル | 内容 |
|---|---|---|
| N者間のラウンドロビン/固定された手番順 | ag2-network-discussion | discussion アダプター、ORDERING_ROUND_ROBIN 設定、can_send のプローブパターン、表示ウィンドウのサイズ設定 |
宣言的なオーケストレーション/TransitionGraph/GroupChat からの移行 | ag2-network-workflow | workflow アダプター、TransitionGraph.sequence/.round_robin、Handoff、ToolCalled、ContextEquals、context_vars、8つのクックブックパターン、従来の GroupChat からの移行 |
| レート制限、アクセスポリシー、期待値、監査、ケイパビリティの追跡 | ag2-network-governance | Rule(AccessBlock/LimitsBlock/RateBlock/InboxBlock)、Expectations、監査ログと AUDIT_KIND_*、タスクの観測、Resume.observed |
| カスタムエンベロープハンドラー、表示ポリシー、ピア検出、LLM 向けネットワークツール | ag2-network-tools-and-views | アダプターが所有する say と5つの NetworkPlugin ツール(delegate/peers/channels/tasks/context)、agent_client.on_envelope、ViewPolicy(FullTranscript/WindowedSummary/NamedWindowedSummary)、skill_md によるピア検出、Envelope/EV_* の全リファレンス |
ネットワークタスクではない場合: 1つのエージェントが自身のサブタスクを再帰的に生成する(run_subtask/run_subtasks(parallel=True) を使用)場合や、別のエージェントを軽量なツールとして呼び出す場合は、ag2-subagent-delegation を使用してください。ハブもレジストリもチャネルも必要ありません。ネットワークは、共通のハブを介して連携する、個別に登録されたエージェント向けです。