OpenAI終于開放了一次,罕見地開源了多功能協同AI Agent——Swarm。
與普通AI Agent不同的是,Swarm可以同時創建多個智能體互相協同工作來完成特定任務,包括客戶服務、銷售支持和售后服務等,同時每個智能體都配備了一套專屬工具集以更高效的完成任務。
例如,在電商領域,當用戶反饋商品問題時,智能體能夠按照設定的步驟,先深入了解問題,然后嘗試提出解決方案。如果用戶不滿意,可以進一步提供退款等操作,可極大提升客服效率和質量。
Swarm簡單介紹
開發人員可以在Swarm中定義Python函數作為智能體可調用的工具,這些函數被轉換成符合OpenAI API要求的格式,可以在對話過程中由模型自動調用以執行實際任務,例如,查找商品信息或處理退款。
Swarm的強大不僅體現在工具的調用上,還能根據用戶的輸入動態地決定哪個智能體最適合當前情境,并將對話轉移給該智能體。
這種高效方法確保了每次交互都是由最合適的專家來處理。當智能體需要使用某個工具時,Swarm提供了一個執行循環來處理這些工具調用,包括獲取來自用戶的輸入、調用適當的工具、接收結果并基于此生成新的響應,直到沒有更多的工具調用為止。
此外,Swarm采用了模塊化設計使其具有極高的靈活性和擴展性,可以快速添加新的代理、修改現有用例或引入額外的功能,可以輕松隨時更改其變化適應不同的環境。
值得一提的是,Swarm通過自然語言就能構建的智能體,包括詢問問題、提供解決方案或執行特定操作。這也就是說,用戶沒有任何編程經驗也能使用整體性能非常強。
Swarm示例
下面是Swarm作為客戶服務的智能體簡單示例:讓智能體對用戶問題進行分類,然后要么提出解決方案,要么提供退款。
先定義兩個函數execute_refund和look_up_item。我們可以把它稱為客戶服務常規操作、智能體、助手等。
為了執行常規操作,我們先實現一個簡單的循環:
1)獲取用戶輸入。
2)將用戶消息添加到messages列表。
3)調用模型,這里使用的是GPT-4o-mini。
4)將模型響應添加到messages列表。
但目前這個循環忽略了函數調用,所以我們需要添加一下。模型要求函數被格式化為函數模式。為了方便,我們可以定義一個輔助函數,將 Python 函數轉換為相應的函數模式。
現在,可以在調用模型時使用這個函數來傳遞工具了。
最后,當大模型調用一個工具時,我們需要執行相應的函數并將結果返回給模型。可以通過將工具名稱映射到Python函數的tool_map來實現這一點,然后在execute_tool_call中查找并調用,再將結果添加到對話中。
如果在實際應用場景中,我們還希望讓大模型使用結果來產生另一個響應可以在一個循環中不斷執行該流程,直到沒有更多的工具調用。
OpenAI才剛開源Swarm,但在Github上非常火爆已經突破6000顆星還在快速增長中,有興趣的小伙伴趕緊試試去吧。


產品與服務
聯系站長
關于我們