AI Agents多工作流協(xié)作是一種基于多個(gè)人工智能代理(AI Agents)的系統(tǒng)設(shè)計(jì)方法,旨在讓多個(gè)代理通過不同的工作流(Workflow)相互配合,以分工協(xié)作的方式高效完成復(fù)雜任務(wù)。這種模式廣泛應(yīng)用于需要并行處理、多任務(wù)執(zhí)行或動(dòng)態(tài)調(diào)整的場景,是實(shí)現(xiàn)高度智能化應(yīng)用的關(guān)鍵。
多工作流協(xié)作 概念
AI Agent 是一種能自主感知環(huán)境、決策和執(zhí)行任務(wù)的智能體,通常通過自然語言處理、大數(shù)據(jù)分析等技術(shù)實(shí)現(xiàn)。每個(gè)Agent有自己的專長,例如客服、推薦、數(shù)據(jù)處理等。
工作流是一個(gè)任務(wù)的執(zhí)行步驟和規(guī)則,定義了任務(wù)完成的流程,包括輸入、處理邏輯和輸出。例如,安排會(huì)議的工作流可能包括檢查時(shí)間表、發(fā)送邀請和發(fā)送提醒。
多個(gè)AI Agent通過各自的工作流協(xié)作完成一個(gè)復(fù)雜任務(wù)。協(xié)作時(shí),各Agent的工作流既可以獨(dú)立完成特定任務(wù),也可以共享信息、相互觸發(fā),從而實(shí)現(xiàn)更大的整體目標(biāo)。
每個(gè)AI Agent專注于執(zhí)行其特定的任務(wù)。例如,一個(gè)Agent負(fù)責(zé)語音識(shí)別,另一個(gè)Agent負(fù)責(zé)自然語言理解,第三個(gè)Agent負(fù)責(zé)執(zhí)行用戶的指令。
工作流可以并行運(yùn)行(同時(shí)處理多個(gè)子任務(wù))或串行運(yùn)行(任務(wù)有嚴(yán)格的先后順序),根據(jù)場景靈活適配。
一個(gè)工作流的輸出可以觸發(fā)其他工作流。例如,客戶咨詢觸發(fā)客服Agent的對話流程,同時(shí)觸發(fā)庫存檢查的工作流。
多個(gè)工作流間通過共享數(shù)據(jù)實(shí)現(xiàn)協(xié)作。例如,行程規(guī)劃Agent將生成的日期和地點(diǎn)傳遞給酒店預(yù)訂Agent。
多工作流協(xié)作可以輕松擴(kuò)展,增加新的Agent和流程,不影響現(xiàn)有系統(tǒng)的運(yùn)行。
多工作流協(xié)作的核心步驟
將一個(gè)復(fù)雜的任務(wù)拆解為多個(gè)子任務(wù),例如用戶咨詢“安排一場旅行”可能拆解為以下子任務(wù):
確定目的地和日期。
規(guī)劃行程。
預(yù)訂交通和住宿。
工作流分配
為每個(gè)子任務(wù)分配特定的AI Agent和對應(yīng)的工作流。
例如:
大語言理解Agent解析用戶意圖。
行程規(guī)劃Agent負(fù)責(zé)日程生成工作流。
預(yù)訂Agent負(fù)責(zé)交通和酒店的工作流。
各Agent在各自的工作流中執(zhí)行任務(wù),并實(shí)時(shí)將結(jié)果反饋到主任務(wù)協(xié)調(diào)Agent。例如,預(yù)訂完成后通知用戶行程已生成。
動(dòng)態(tài)調(diào)整
如果任務(wù)中途發(fā)生變化(例如用戶修改目的地),主協(xié)調(diào)Agent會(huì)觸發(fā)相關(guān)工作流重新執(zhí)行。
最終輸出
匯總所有子任務(wù)的結(jié)果,生成最終的解決方案并反饋給用戶。
使用Flowise進(jìn)行多工作流協(xié)作開發(fā)
01、Flowise 多工作流示意圖
02、構(gòu)建一個(gè)新聞自動(dòng)撰寫系統(tǒng)
1. 我們使用Flowise構(gòu)建一個(gè)新聞自動(dòng)撰寫系統(tǒng),首先我們在Flowise的agentflows中創(chuàng)建一個(gè)新的代理,命名為"新聞自動(dòng)撰寫系統(tǒng)",如下圖:
2. 我們在界面上依次拖入一個(gè)Supervisor,和3個(gè)Worker,并將它們命名及連接起來,如下圖:
3. 設(shè)置每個(gè)代理的提示詞:
# Supervisor
你是一個(gè)Supervisor,負(fù)責(zé)管理以下工作者之間的交流:{team_members}。
以下是任務(wù)的流程:
1. 發(fā)送任務(wù)給worker1,讓他搜索最新的新聞。
2. 等待worker1返回結(jié)果,并將最新的新聞內(nèi)容傳遞給worker2。
3. 等待worker2將新聞編寫成文章后,將文章內(nèi)容傳遞給worker3。
4. 確保worker3成功保存文章后,通知任務(wù)完成。
始終以準(zhǔn)確、協(xié)調(diào)的方式調(diào)度任務(wù),避免遺漏任何步驟。
# worker1
你是一個(gè)新聞搜索引擎。你的任務(wù)是:
1. 根據(jù)接收到的請求,搜索最新的10條新聞。
2. 提取新聞標(biāo)題、新聞內(nèi)容摘要、和新聞核心點(diǎn)。
3. 將這些信息清晰地返回給調(diào)用者。
例如:
- 標(biāo)題: [新聞標(biāo)題]
- 摘要: [新聞?wù)猐
- 來源: [新聞鏈接]
- 核心點(diǎn):[新聞核心點(diǎn)]
專注于時(shí)效性和準(zhǔn)確性。
#?worker2
你是一名專業(yè)的文章撰稿人。你的任務(wù)是:
1. 根據(jù)提供的新聞標(biāo)題、摘要和內(nèi)容來源,編寫一篇完整且流暢的文章。
2. 確保文章邏輯清晰,語言簡潔,避免冗長。
3. 格式要求:標(biāo)題(單獨(dú)一行),正文內(nèi)容分段清晰。
4. 返回完整的文章內(nèi)容給調(diào)用者。
# worker3
你是一個(gè)文件保存助手。你的任務(wù)是:
1. 接收完整的文章內(nèi)容,包括標(biāo)題和正文。
2. 根據(jù)標(biāo)題為文件命名,確保文件名簡潔且有意義(例如:使用標(biāo)題的前幾個(gè)詞并去除特殊字符)。
3. 將文件保存為TXT格式到指定的電腦路徑。
4. 返回保存的文件路徑和成功狀態(tài)給調(diào)用者。
例如:
- 文件路徑: [保存路徑]
-?狀態(tài):?保存成功
4. 設(shè)置Supervisor的Tool Calling Chat Model 和 Agent Memory,請根據(jù)自己實(shí)際情況,選擇合適的大模型,如下圖:
5. 為worker1選擇合適的搜索工具,請根據(jù)自己的環(huán)境選擇,如下圖:
6. 為worker3選擇合適的文件保存工具,如下圖:
7. 最終整體配置如下圖:
8. 配置完成后,我們點(diǎn)開右上角的對話框,輸入關(guān)鍵詞"大模型",如下圖:
我們看到worker依次執(zhí)行,完成了我們配置的任務(wù)。
9. 點(diǎn)擊右上角的代碼圖標(biāo),我們就可以看到如何調(diào)用此系統(tǒng)的API,如下圖: