manus核心技術(shù)拆解
chenxiaoyun
發(fā)布于 云南 2025-02-19 · 5777瀏覽
以 manus 為例,拆解以 multi-agent 為基礎(chǔ)的通用任務(wù)智能體的工作流程:

一. 意圖識別

1. 獲取用戶輸入內(nèi)容,進(jìn)行必要的意圖識別和關(guān)鍵詞提取,比如用戶輸入的是“想去日本旅游,需要一個旅行計劃”,拆解之后得到的關(guān)鍵詞是: japan-trip,任務(wù)類型為:travel

2. 如果用戶輸入的需求比較簡單,不能識別用戶的意圖,此步驟可以引導(dǎo)用戶繼續(xù)對話,補(bǔ)充更多的信息,或者上傳文檔 / 圖片等資料

二. 任務(wù)初始化

1. 用識別出來的任務(wù)關(guān)鍵詞創(chuàng)建任務(wù)文件夾,啟動 docker 容器,為后續(xù)的任務(wù)執(zhí)行做環(huán)境隔離

2. 任務(wù)執(zhí)行過程中的內(nèi)容產(chǎn)物,寫入到任務(wù)文件夾,任務(wù)結(jié)束之后清理 docker 容器

三. 步驟規(guī)劃

1. 使用意圖識別的結(jié)果 + 補(bǔ)充背景信息,請求一個推理模型,對任務(wù)進(jìn)行步驟拆分

2. 將任務(wù)拆分的步驟信息,寫入到任務(wù)文件夾的 todo.md

四. 任務(wù)執(zhí)行

1. 遍歷任務(wù)文件夾中的 todo.md,[ ] 表示待執(zhí)行的任務(wù),[x] 表示已執(zhí)行的任務(wù)

2. 取出待執(zhí)行的任務(wù),帶上任務(wù)上下文信息,做一次 function call,這里帶上的 function tools 是系統(tǒng)內(nèi)置的可以執(zhí)行不同任務(wù)的 agent,比如 search agent / code agent / data-analysis agent

3. 根據(jù) function call 的結(jié)果,調(diào)度指定的 agent 執(zhí)行任務(wù),把執(zhí)行過程中產(chǎn)生的內(nèi)容,寫入到容器中的任務(wù)文件夾

4. 任務(wù)執(zhí)行完,由主線程,更新 todo.md,繼續(xù)下一個任務(wù)

五. 歸納整理

1. todo.md 里面的任務(wù)全部執(zhí)行完之后,主線程針對用戶的初始需求,做一次整理輸出

2. 把任務(wù)的內(nèi)容產(chǎn)物,給到用戶瀏覽或下載(文檔 / 代碼 / 圖片 / 鏈接等)

3. 收集用戶對任務(wù)的滿意度

---- 

整個方案理下來,核心在于執(zhí)行任務(wù)的 agent 設(shè)計,以及主線程的調(diào)度流程,以 search agent 為例,在處理“日本旅行計劃”這個任務(wù)中,主要的執(zhí)行步驟:

1. 拿到 japan-trip 等關(guān)鍵詞信息,調(diào)用谷歌第三方 API,獲取 10-20 條搜索結(jié)果

2. 模擬瀏覽器點開第一個網(wǎng)頁,瀏覽網(wǎng)頁內(nèi)容,獲取網(wǎng)頁文本內(nèi)容 + 瀏覽器截圖拿到網(wǎng)頁視覺信息

3. 調(diào)用支持多模態(tài)輸入的模型,輸入當(dāng)前任務(wù)要求,從當(dāng)前瀏覽的網(wǎng)頁中提取有效信息(是否有符合要求的結(jié)果,如果不滿足要求,返回下一個該點擊的 button 元素)

4. 模擬瀏覽器點擊 + 網(wǎng)頁滾動行為,拿到更多的網(wǎng)頁內(nèi)容 + 視覺信息,重復(fù)幾次,直到收集到的內(nèi)容滿足任務(wù)要求為止

5. 把收集到的內(nèi)容保存到任務(wù)文件夾

這個 search agent 的核心在于模擬用戶瀏覽網(wǎng)頁行為,需要用到無頭瀏覽器和多模態(tài)模型。

code agent 和 data-analysis agent 相對而言比較簡單:

1. 根據(jù)任務(wù)需求,創(chuàng)建本地文件,寫入代碼(python 代碼做數(shù)據(jù)分析,html 代碼做視覺呈現(xiàn))

2. 通過系統(tǒng)調(diào)用執(zhí)行代碼,把執(zhí)行結(jié)果保存到任務(wù)文件夾

3. 通過 code-preview 服務(wù),預(yù)覽 html 文件的內(nèi)容

---

此類 multi-agent 產(chǎn)品,還有一些改進(jìn)的空間:

1. todo.md 的多個任務(wù),是線性依賴關(guān)系,可以使用 DAG(有向無環(huán)圖)實現(xiàn)更加復(fù)雜的任務(wù)依賴

2. 需要引入自動化測試 agent,對任務(wù)結(jié)果進(jìn)行判斷和矯正,如果對某個步驟評分過低,需要回溯到之前的某個任務(wù)節(jié)點重新執(zhí)行

3. 允許全自動 + 用戶介入的混合模式,在某個步驟執(zhí)行完,先尋求用戶反饋,如果幾秒內(nèi)沒收到反饋,則自動繼續(xù)運(yùn)行

--- 

整體評價:manus 在工程層面做了很多工作,整體交互比其他產(chǎn)品好很多。技術(shù)層面,依然是沒什么壁壘,對模型有比較深的依賴:

1. 也許有個小模型,做任務(wù)執(zhí)行前的意圖識別

2. 任務(wù)規(guī)劃和推理,用 deepseek-r1

3. 圖片識別 + 代碼生成,用 claude-3.7-sonnet

token 消耗會很高,能不能廣泛用起來,取決于誰來負(fù)擔(dān)這個成本。

最終的任務(wù)準(zhǔn)確性和用戶滿意度,還需要更多的案例來說明。
chenxiaoyun
半自動人工智障點贊機(jī)
瀏覽 5777
相關(guān)推薦
最新評論
贊過的人
評論加載中...

暫無評論,快來評論吧!