# License
# 架構與功能特色
- 採用多 Agent 對話架構:多個代理人透過交換訊息來合作完成任務 。
- 內建 AssistantAgent(類似 AI 助理)和 UserProxyAgent 等,可組成自動對話或人機混合流程。
- Agents 可結合 LLM、執行 Python 程式碼或調用工具,實現自動使用工具(例如網路瀏覽、代碼執行)。
- 支援人類監督中斷 / 介入,以及多 Agent 反思、辯論等高階模式。
# 擴充性與客製化
- 模組化設計,可透過組合不同內建 Agent 類型構建自訂流程。
- 例如增加多個助理 Agent 進行反覆校對或引入自定義工具執行 Agent 等。
- 支持多種模型後端(OpenAI、Azure 或本地模型),以及擴充套件:如內建 WebSurfer 爬網代理、代碼執行環境等安裝選項。因此能方便地插入新工具或改寫 Agent 行為邏輯。
# 使用者學習曲線與文件
- 提供高階封裝,以最小代碼實現複雜多 Agent 應用。
- 上手難度中等,熟悉 Python 開發的使用者可很快根據範例打造出多智能體對話流程。
- 官方文件齊全(網站說明、API 參考、FAQ)、範例豐富,涵蓋從基礎到進階主題。並提供 AutoGen Studio 無程式介面降低使用門檻。
- 總體而言對開發者友好,新手需花一些時間理解異步訊息交互模式。
# 作為 SDK/API 封裝供整合(Function Calling、MCP 支援)
- 以程式庫形式運作,可在應用中建立 Agent 物件並與之通訊,支援函式回呼等模式。
- 由於採用訊息對話介面,前端 UI 可以將使用者輸入轉換為 Agent 訊息,再將 Agent 的回覆顯示出來,串接相對直接。
- AutoGen Agent 可產生並執行程式碼等於實現自定義函式執行;亦能與 LangChain 等集成(官方示例展示了結合 LangGraph、LlamaIndex 等用法)。
- 目前對 MCP 沒有直接實作,但其訊息驅動架構本質上符合事件驅動理念。整體適合封裝為後端服務供 GUI 調用。
# 優缺點總結
# 優點
- 提供高階抽象,讓開發者以較少代碼實現多 Agent 對話協作。
- 內建對話代理模式,開箱即可讓多個 LLM 代理人互動,善於處理需要工具使用或代碼執行的任務。
- 擴充性佳,能方便地插入新工具或不同模型。
- 官方文件與支持積極,微軟背景帶來穩定性保障,現已完全開源(Apache 2.0)。
# 缺點
- 框架相對新穎,生態系統不如 LangChain 豐富,第三方整合資源較少。
- 使用異步訊息機制,對不熟悉並發編程的開發者有一定挑戰。
- 默認范式偏重聊天形式,對非對話類的任務(如單步批處理任務)可能需要調整。
- 另外,轉為社群維護後,未來演進路線需關注社群共識。
# 參考資料