AI

AutoGen:Microsoft 的多代理對話框架

AutoGen 是 Microsoft 的框架,用於構建具有對話代理的多代理 AI 系統,這些代理協作解決複雜任務。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
AutoGen:Microsoft 的多代理對話框架

最複雜的問題很少由單獨工作的個人解決。它們需要協作——專家貢獻他們的專業知識、辯論方法、建立在彼此的工作之上,並迭代趨近解決方案。AutoGen,Microsoft 的多代理對話框架,將同樣的協作範式帶到了 AI 代理。

AutoGen 建立在一個簡單而強大的想法之上:多個 AI 代理,每個具有不同的能力和角色,可以透過自然對話協作解決任何單一代理無法單獨處理的問題。編碼代理生成解決方案,審查代理檢查錯誤,執行代理運行測試,專案經理協調工作流程——全部透過結構化對話進行通訊。

該框架由 Microsoft Research 開發,已被廣泛應用於包括軟體開發、資料分析、研究綜合和複雜工作流程自動化在內的各種應用。其對話式多代理協調方法使其有別於使用預定義流程或固定圖形的框架。


AutoGen 的多代理架構如何運作?

AutoGen 使用對話式訊息傳遞架構,代理非同步通訊。

graph TD
    subgraph AutoGen 對話
        A[UserProxyAgent\n人類代表] --> B[AssistantAgent\nLLM 驅動的編碼器]
        A --> C[AssistantAgent\n審查者 / 批評者]
        B --> D[程式碼執行\n沙箱環境]
        B --> A
        C --> B
        D --> B
    end
    subgraph GroupChat (進階)
        E[GroupChatManager\n編排器] --> F[代理 1\n規劃者]
        E --> G[代理 2\n編碼者]
        E --> H[代理 3\n審查者]
        E --> I[代理 4\n執行者]
    end

在雙代理模式中,UserProxyAgent 啟動任務並執行程式碼,而 AssistantAgent 生成解決方案。在 GroupChat 中,管理器根據對話上下文將訊息路由到適當的代理。


AutoGen 支援哪些代理模式?

AutoGen 為不同的協作場景支援多種互動模式。

模式代理使用案例
雙代理Assistant + UserProxy簡單編碼任務、問答
三代理Assistant + Reviewer + UserProxy帶品質審查的程式碼生成
GroupChat多個專門代理複雜的多步驟專案
巢狀聊天產生子對話的代理層級任務分解
人在迴圈任何對話中的人類代理敏感操作、批准
基於工具具有函數/工具存取的代理API 整合、資料檢索

每種模式可以透過代理特定的系統提示、模型配置和工具集進行自訂。


AutoGen 代理有哪些能力?

AutoGen 代理可以透過工具和函數配備廣泛的能力。

能力實作方式安全功能
程式碼執行Docker 中的 Python/Shell沙箱環境
網頁瀏覽無頭瀏覽器可配置的 URL 限制
檔案操作讀取/寫入檔案路徑限制
API 呼叫HTTP 請求速率限制
資料分析Pandas、視覺化執行超時
資料庫查詢SQL 連接器預設唯讀模式

所有能力都可以為了安全和稽核目的進行限制、批准或記錄。


如何構建 AutoGen 應用程式?

構建 AutoGen 應用程式涉及定義代理、配置它們的能力並啟動對話。

步驟實作方式說明
1. 配置 LLMconfig_list = [...]定義模型端點和 API 金鑰
2. 創建代理AssistantAgent(...), UserProxyAgent(...)設定角色、提示和能力
3. 註冊工具agent.register_for_llm(...)為代理定義函數工具
4. 啟動對話user_proxy.initiate_chat(assistant, message=...)開始多代理工作流程
5. 監控內建日誌記錄和追蹤追蹤代理互動和決策

API 設計為直觀的,代理定義和對話編排之間有清晰的區分。


常見問題

什麼是 AutoGen? Microsoft 的開源框架,用於構建具有對話代理的多代理 AI 系統。

支援哪些代理類型? ConversableAgent、AssistantAgent、UserProxyAgent、GroupChat 等。

多代理對話如何運作? 使用訊息傳遞架構,GroupChatManager 編排複雜場景。

代理可以做什麼? 執行程式碼、呼叫 API、瀏覽網頁、讀寫檔案、查詢資料庫。

與其他框架相比如何? 強調透過對話的湧現協作,而非預定義工作流程。


延伸閱讀

TAG