Published on

微軟開源AI代理更新:重塑智慧代理多層次更強大架構

Authors
  • avatar
    Name
    Ajax
    Twitter

AutoGen 0.4 版本重點

微軟推出了開源AI代理框架 AutoGen 的重大更新,發布了 0.4 版本。這個經過改進的函式庫擁有更強的程式碼穩定性、健壯性、多功能性和可擴展性,使開發人員能夠創建尖端、先進的AI代理應用程式。

非同步訊息傳遞

代理現在使用非同步訊息傳遞進行溝通,使它們能夠在無需等待其他代理回應的情況下繼續執行任務。這對於事件驅動的應用程式尤其有利,在這些應用程式中,代理會對特定觸發器做出反應。傳統的請求/回應模型也受到支援。

模組化與擴展性

使用者可以結合自訂代理、工具、記憶體和模型來建構針對特定業務需求的代理系統。這涉及註冊不同的代理類型和工具,以實現特定的自動化目標。

可觀察性與除錯

用於指標追蹤、訊息追蹤和除錯的內建工具,可以監控和控制代理互動和工作流程。代理工作流程中的每一步——包括大型模型呼叫、工具使用、中間輸出、記憶體狀態和提示範本——都可以清楚地記錄下來。這對於需要精確追蹤代理操作的行業至關重要,例如醫療保健、法律和金融。

可擴展性與分佈式部署

可以設計複雜的分散式代理網路,使其能夠跨組織邊界無縫運作。分散式架構有助於在各種伺服器或雲端平台上部署代理,從而優化資源分配和利用。

內建與社群擴展

該框架的功能透過包含先進模型客戶端、代理、多代理團隊和代理工作流程工具的擴展來增強。社群支援允許開發人員管理自己的擴展,創建和共享自訂代理或工具。開發人員可以使用這些擴展來滿足常見需求,從而降低開發複雜性和障礙。

跨語言支援

AutoGen 現在支援用不同程式語言(如 Python 和 .NET)編寫的代理之間的互通性。此功能擴大了 AutoGen 的應用範圍,並消除了因語言差異而產生的障礙。

除了這些新功能外,微軟還重組了 AutoGen 的基礎,包括核心、代理聊天和擴展。核心是事件驅動代理系統的基礎。建立在核心之上的代理聊天具有用於任務管理、群組聊天、程式碼執行和預先建構代理的進階 API。擴展有助於與 Azure 程式碼執行器和 OpenAI 模型等服務進行第三方整合。

UI 增強功能

使用者介面也進行了重大改進:

  • 透過 UI 進行互動式回饋,允許使用者代理在團隊運作期間提供即時輸入和指導。
  • 訊息流程視覺化,呈現直觀的介面,以了解代理通訊、映射訊息路徑和依賴關係。
  • 視覺化的拖放介面,允許使用者透過放置和設定元件及其關係和屬性來設計代理。

與 Magentic-One 的整合

Magentic-One 是微軟另一個開源多層次通用 AI 代理,現在已整合到 AutoGen 中。Magentic-One 具有由五個 AI 代理組成的多層架構:Orchestrator、WebSurfer、FileSurfer、Coder 和 ComputerTerminal。每個專業代理都有其自身的技能組合和知識庫,使其能夠在其各自的領域內有效地工作。然而,這些代理並非孤立運作;Orchestrator 會協調它們的活動,以確保它們一致並符合整體目標。

Orchestrator 的角色

Orchestrator 負責任務規劃、進度追蹤和錯誤恢復。收到任務後,它會徹底分析需求,並將子任務分配給其他四個代理。這些專業代理擅長處理特定類型的任務。WebBrowserAgent 處理網頁瀏覽,FileNavigatorAgent 管理本機檔案系統導航,CodeWriterAgent 撰寫和執行 Python 程式碼片段,而 ComputerTerminal 執行作業系統層級的命令以支援更高等級的任務。

非同步事件驅動操作

Magentic-One 架構的一個重要特點是非同步事件驅動操作。與同步請求-回應模型相比,非同步方法允許系統元件同時執行,隨時接收新輸入或觸發動作,而不會停止其他功能。例如,當 Orchestrator 指派其一項涉及從網頁下載和提取資訊的任務時,WebBrowserAgent 可以開始載入頁面,而 Orchestrator 和其他代理則繼續執行其他任務。一旦頁面載入並提取了所需的資料,WebBrowserAgent 會通知 Orchestrator 並返回結果。此策略使 Magentic-One 能夠更有效率地管理資源、減少等待時間,並更有效地回應高並發場景。

高度模組化的設計

除了其非同步架構外,Magentic-One 的另一個顯著特點是其高度模組化的設計。每個代理都是一個獨立的功能單元,具有明確的責任和介面定義。這種方法簡化了系統建構,因為開發人員可以專注於單一代理的功能,而無需擔心與其他元件的互動細節。模組化還促進了程式碼重複使用和技術共享,允許在新的專案中使用現有的代理,或以最少的修改來適應不同的應用程式。Magentic-One 的模組化設計還提供了顯著的可擴展性。隨著技術的進步或業務需求的變化,可以新增新的代理或更新現有代理的功能,而無需進行重大的系統檢修。例如,如果特定領域的任務變得更加複雜,則可以透過新增專門的代理來增強系統。