聊聊螞蟻開源多 Agent 框架——muAgent

概述

CodeFuse-muAgent [1] 是螞蟻 CodeFuse 團隊開發的 Mulit Agent 框架,其核心宗旨在於簡化 agents 的標準操作程序(SOP)編排流程。

多 Agents 的核心關鍵即 Agent 的交互鏈路,也即實現 SOP 的關鍵。其核心在於如何把上一個 Agent 的輸出給到下一個 Agent 的輸入,其中需要涉及到 llm 的輸出、具體 action 的執行以及信息的解析處理。

架構

muagent 整合了一系列豐富的工具庫、代碼庫、知識庫以及沙盒環境,可支撐用戶在任何領域場景都能依託 muagent 迅速搭建起復雜的多 Agent 交互應用。通過這一框架,用戶能夠高效地執行和處理多層次、多維度的複雜任務。

其架構圖如下:每個技術點的描述如下:

一個完整的多 Agent 生態,個人覺得,其所需的能力也就是如上的幾點。

Agent Base

在 Agent 層面,提供四種基本的 Agent 類型,對這些 Agent 進行 Role 的基礎設定,可滿足多種通用場景的交互和使用。所有的 Action 都由 Agent 執行。

相比較於 AutoGen,其實也差不多,但劃分粒度更清晰;尤其是 Agent 的編排,由專門的 agent 負責處理;而 ReAct 的功能,這裏也是單獨抽出來的 Agent,初步來看,比 AutoGen 對 React 的支持更強。

Component

輔助生態組件更詳盡,區別於 AutoGen,Sandbox 支持隔離的特性讓輔助生態的支持更豐富強大。

Communication

多 Agent 的關鍵在 Agent 間的信息交互,因此 communication 的實現是必不可少的。AutoGen 通過結轉邏輯,支持信息流轉;CodeFuse 通過 Communication 組件獨立實現該功能。從實現方式來看,CodeFuse 應該支持的更強大。AutoGen 是一個summary_method方法來定義的。

總結

之前沒有了解過國內多 Agent 框架,因爲本身也不多;從 AutoGen 入手對多 Agent 的瞭解,再結合 CodeFuse 的實現來看,多 Agent 的 SOP 更具體更模塊化,不過其思想也是一致的,關鍵的組成部件還是那些。

總的來說,如何協調好 LLM 並來引導它們產生期望的輸出,其本質就是將業務問題抽象並拆解到可執行的 Prompt,讓他們像處理業務問題一樣精準執行;而業務的編排執行則由 Agent 實現,最終是落到了 LLM 上。

參考資料

[1]

CodeFuse-muAgent : https://github.com/codefuse-ai/CodeFuse-muAgent/blob/main/README_zh.md

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/mTwT78hNIg29UNcLIVD3-w