
AG2
AG2AI (originally AutoGen from Microsoft Research) · 程式設計
AG2 是一套開源的 Python 代理框架。它能讓 AI 代理連接遠端和本地的 MCP 伺服器,把這些工具整理成可重複使用的工具組,甚至把代理本身變成 MCP 伺服器。

關於 AG2
What Is AG2
AG2 最初叫 AutoGen,是微軟研究院在 2023 年推出的多代理框架。後來專案移交給社群,改名 AG2,目標沒變:打造一套系統,讓多個 AI 代理彼此對話、呼叫工具、分工合作,直到把任務做完。本頁講的是它的 MCP 引擎,也就是框架中負責模型上下文協定的那部分。
MCP 是 Anthropic 在 2024 年底提出的開放標準,用來把語言模型接到外部工具和資料。它解決一個具體問題:在它出現以前,每個工具都得為每個模型寫一套適配器。AG2 把 MCP 當成基本成員,而不是外掛。代理可以透過 HTTP 讀取遠端 MCP 伺服器提供的工具,也能用標準輸入輸出把本地伺服器當成子程序啟動,或者直接把伺服器網址轉給原生支援 MCP 的供應商。
最大的限制在範圍。AG2 是給開發者用的 Python 函式庫,不是點一下就上手的產品。你得用 pip 安裝、動手寫程式,還要自己管金鑰和伺服器。想要免寫程式的介面,得另找工具;而 Windows 使用者如果 Python 版本太舊,也可能卡住,因為這個套件要求 3.10 以上。
Getting Started
- 用
pip install ag2[openai,mcp]安裝框架和 MCP 擴充。把openai換成anthropic、gemini、ollama或其他供應商都可以。 - 設定供應商金鑰,例如
export OPENAI_API_KEY="..."。金鑰從環境變數讀取,不會寫死在專案裡。 - 把代理指向一個 MCP 伺服器。遠端伺服器傳網址給
MCPToolkit,本地伺服器則用MCPStdioServerConfig讓它以子程序執行。 - 用
allowed_tools、blocked_tools和server_label篩選工具,讓代理只看到需要的那些。 - 想反過來也行,用
ag2 serve my_agent.py --protocol mcp把寫好的代理變成 MCP 伺服器對外提供。
產品資訊
快速了解 AG2 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- 打造代理系統的 Python 開發者:AG2 把多代理協作、工具呼叫和 MCP 支援收進一套函式庫,這些底層你就不用自己接。
- 已經在跑 MCP 伺服器的團隊:現成的遠端或本地伺服器用 `MCPToolkit` 就能接上,不必改寫,代理下一次執行就多了它的工具。
- 研究代理協作的人:框架源自 AutoGen 論文,對話模式和協作流程都有文件可循,不是臨場拼湊。
任務
- 把代理接到第三方工具:加入檔案系統、GitHub 或自己寫的伺服器,代理會找出對方提供的工具,像呼叫一般函式那樣使用。
- 把代理當成工具發布:`ag2 serve --protocol mcp` 會把代理包成服務,其他 MCP 用戶端就能和它對話、列出它的代理。
- 把現有介面變成 MCP 工具:`ag2 proxy --serve-mcp` 能把命令列工具、OpenAPI 規格或 Python 模組變成現成的 MCP 伺服器,不必寫串接程式碼。
情境
- 同一個流程要串多個資料來源:代理在一次執行中分別開啟 arXiv 伺服器、維基百科伺服器和資料庫的連線,再依查詢挑選合適的那個。
- 想讓憑證留在自家環境:用戶端工具組在地端執行呼叫,MCP 權杖不會傳到模型供應商那裡。
- 先做研究助理的原型:從官方附的 notebook 開始,跑順了再換成自己的伺服器。
主要功能
用戶端連線的 MCP 工具組
MCPToolkit 類別會在需要時才找出伺服器的工具,再把每一個當成普通函式交給代理。它同時接受遠端網址搭配 MCPServerConfig,以及本地子程序搭配 MCPStdioServerConfig,代理的其他部分完全不管你選哪一種。因為執行留在地端,它跟所有供應商都合得來,憑證也留在自家環境。
供應商端的 MCP 轉接
如果你想把連線交給模型供應商處理,MCPServerTool 會把伺服器網址和憑證送過去,由供應商在它那一端執行工具。這條路只適用於支援 MCP 轉接的供應商,例如 Anthropic,也意味著憑證會離開你的網路。不想自己管連線週期的人可以選它。
多伺服器的動態工作階段管理
MCPClientSessionManager 是用到才開工作階段,不會整個流程都掛著一條連線。在工具函式裡,代理可以依查詢連接不同的伺服器,把本地的標準輸入輸出伺服器和遠端的 HTTP 伺服器混著用,每個工作階段結束後會自己收乾淨。研究助理和會中途換資料來源的路由系統很適合這種做法。
把代理變成 MCP 伺服器
ag2 serve 指令能用三種協定之一把寫好的代理提供出去。加上 --protocol mcp,代理就成了 MCP 伺服器,提供 chat 和 list_agents 兩個工具,任何支援 MCP 的用戶端都能使用。同一個指令也能提供 REST API 或 A2A 端點,當代理需要被不同類型的呼叫端存取時,這點很重要。
把任何介面包成 MCP 工具
ag2 proxy 能把你手上現成的東西變成代理工具。指向命令列指令,它會讀取說明輸出、產生有型別的包裝;指向 OpenAPI 規格,每個端點生出一個工具;指向 Python 模組,則產生有型別的函式包裝。加上 --serve-mcp 就會跳過產生檔案,直接以 MCP 伺服器啟動這些工具。
源自 AutoGen 的基礎
AG2 保留了讓 AutoGen 受歡迎的多代理模式:會對話的代理、群組聊天、swarm 和巢狀流程。在此之上,它加了非同步核心、持續性的上下文,以及 MCP 和 A2A 協定兩種的支援。你拿到的是經過研究驗證的協作模式,加上把代理接向外部世界的互通層。
優缺點
優點
- 採 Apache 2.0 開源授權,核心框架沒有授權費用,也不會被單一廠商綁住。
- 不綁供應商:用戶端工具組在地端執行呼叫,OpenAI、Anthropic、Google 和開源模型都能用。
- 從同一份程式碼涵蓋 MCP 的兩個方向,既能連伺服器,也能把代理當伺服器提供。
- 工作階段用到才開,長流程不會背著多餘的連線。
- 官方提供 notebook 和快速入門,想了解理論的人也能回到 AutoGen 論文。
缺點
- 它是 Python 函式庫,不是現成的託管服務,沒有開發人力的團隊無法直接用,得自己打造介面。
- 要求 Python 3.10 以上,舊環境用不了,老舊的 Windows 安裝也可能出狀況。
- 供應商端的 MCP 轉接只適用於支援轉接的供應商,不是每個模型都能走這條路。
- 多個伺服器和金鑰怎麼串,全得自己來,也沒有內建儀表板能看著代理在生產環境的表現。
常見問題
AG2 是一套 Python 框架,用來打造會互相合作、會使用外部工具的 AI 代理。它的 MCP 引擎讓這些代理連接 MCP 伺服器、把工具整理成可重複使用的工具組,還能把自己變成 MCP 伺服器,供其他用戶端呼叫。
相關內容
探索與 AG2 相關的工具、技能與文章。
AG2 替代方案
Base Code
Base44 (Wix) · 程式設計 · 生產力Base Code 是 Base44 推出的共享雲端開發環境。團隊在對話中描述對既有 GitHub 儲存庫的修改,看著預覽確認結果,再以 Pull Request 交回工程團隊。
Google EmbeddingGemma 2
Google DeepMind · 寫作 · 圖片 · 程式設計Google EmbeddingGemma 2 是 7.4 億參數的開源模型,能把文字、程式碼、圖片、音訊與影片畫面轉成同一個 768 維空間裡的向量,在手機與筆電上就能執行。
GitGlow
GitGlow · 程式設計 · 生產力GitGlow 是桌面版 Git 用戶端,把你自己的程式碼與 AI 代理程式的變更集中在同一份審查裡,讓你在交付前看清楚機器上究竟要送出什麼。
