https://mp.weixin.qq.com/s/hTerOIP3dRXfHs5pwSdE5A 我把開源Agent分為3類:自動agent、半自動agent、領域、自定義sop和支持人為干預的agent。先潑個冷水,目前這些agent項目都是實驗品,發展還沒有做知識庫問答相關開源項目那么成熟,github的社區issue也很少,遇到部署問題容易找不到解決方法,幾乎沒幾個可以部署的 這里我以個人部署、開發的角度列出最近這1年來很火的Agents,以前是LLM火,現在最火的則是這些AI Agent。。個人不傾向于全自動的,現在一直在找一個成熟的可部署的,可人工干預的sop開源agent項目,這篇文章順便把找的過程中看到的東西分享出來 全自動agent:autoGPT、loopGPT、babyAGI
autoGPT、loopGPT全自動agent就是人類不可控制,生成結果的流程也無法干預、調整,規則、流程都是封閉起來的,用戶能做的只是輸入一個問題 AutoGPT用戶能做的就是改個名字,流程完全不可控,大模型需要openai的api key,好多朋友評論說autoGPT就是個openai api的印鈔機,實際生產效果并不好,更像一個玩具 autoGPT部署截圖loopGPT也是autoGPT,在以下方面做了升級: 建議大家想跑AutoGPT時,先試試LoopGPT,至少Loop還可以有自定義的prompt。建議這種全自動Agent,大家看看就行。想要好的生成效果就算了 Loop部署babyAGI跟camel一樣,都能根據用戶指令來拆解。不過camel只是把用戶指令說得更清楚,而babyAGI則拆解成一個個任務,用大模型一個一個地把這些任務執行完。而不是像camel沒有把任務分得那么細,讓2個甚至3個智能體自動在對話中執行任務,由此看來,這兩個在邏輯框架都不一樣,另外,babyAGI需要向量數據庫來存儲,除了llm的api,還需要向量數據庫的api BabyAGI任務循環執行以下步驟: - 將任務發送給執行代理, 該代理使用 OpenAI API 根據上下文完成任務;
- 整理結果并將其存儲在 Pinecone /weaviate等向量數據庫中;
- 基于目標和前一個任務的結果創建新任務, 并根據優先級對任務列表進行排序
在提供的google colab源代碼中,主要功能模塊就是task分解agent和執行agent個人感覺camel要比babyagi好些,可以自定義的地方稍稍多點,適合不復雜、對準確性要求并不太高、發散性的應用場景,我都想部署部署camel用作標題、選題等靈感生成半自動agent在程序調用、agent角色設定、甚至sop至少可以部分修改,不是全封閉好的camelcamel的可部署性、部署價值要比上面提到的 autoGPT、loopGPT強,社區也更成熟特色是引入了2個機器人角色來交流對話角色扮演,用戶除了設定目標,也可以設定這兩個機器人的角色(具體角色除了框架已經提供的,開發人員應該也能自己進行修改,還可以自己增加角色數量)還可以添加專門負責api工具調用的agent-----可以瀏覽互聯網、閱讀文檔、創建圖像、音頻和視頻、圖像識別等內容,甚至可以直接執行代碼這個就需要有開發經驗,自己根據這個框架做增添,在代碼里改,也可以加上向量數據庫等,from camel.utils import role_playing_with_function 提供函數調用下面的例子是用戶讓發明一個針對股票的交易機器人,agent在用task specifier詳細分解需要的任務后,一個擔任ai user也就是股票交易員,一個擔任ai assistant,就是負責寫程序代碼的,這兩個機器人之間交互 camel官方說明圖在執行中,人類也不可中間干預,兩個機器人會一直溝通直到所有程序都執行完除了openai的key,目前支持的開源大模型:vicu?a系列;llama 2系列;有api服務,可以作為應用后端部署;不用向量數據庫大家部署前可以先去https://www./官網體驗下,看是不是符合自己需求
下面choose the society可以選code和society,code模式下,assistant機器人的角色就是c++,python這些編程語言 camel ai 官網user role則還是提前設定好的律師、醫生、股票交易員等society模式下的角色。下面的give me a preliminary 就是我們想要這些agent做的,比如寫個貪吃蛇游戲with task specifier可勾選,選擇了就會把用戶的指令進行進一步拆解后再交給agent,word limit for task specifier設置task specifier生成字數的限制目前agent流程只適用于特定領域,尤其是代碼生成和編程,這兩個開源項目都是讓一群agent程序員來構建軟件。角色已經設定:chatDev包括執行官,產品官,技術官,程序員 ,審查員,測試員,設計師 等。這些智能體形成了一個多智能體組織結構,其使命是“通過編程改變數字世界”。ChatDev內的智能體通過參加專業的功能研討會來 協作,包括設計、編碼、測試和文檔編寫等任務MetaGPT輸入一句話的老板需求,輸出用戶故事 / 競品分析 / 需求 / 數據結構 / APIs / 文件等
MetaGPT內部包括產品經理 / 架構師 / 項目經理 / 工程師,它提供了一個軟件公司的全過程與精心調配的SOP這兩個都是國產的,部署、社區上更成熟些,適合有這方面AI編程需求的部署。我這邊對這兩個項目沒什么需求這兩個項目亮眼的還是sop的引進,可以自定義sop,即使自局限于他們提供的這些角色,是對camel的一個發展自定義agent:superAGI、autoGen、agents、swarmsSuperAGIsuperAGI要比上面提到的哪個都成熟,目前已經有了根據superAGI開發的商用產品了,可惜就是國外的,對國產模型和應用支持不好。國產想要可自定義模型、知識庫和工具,可以去看fastGPT,雖然主要是針對知識庫調用的,也是有自定義模型、工具甚至sop自定義的,我個人部署過,效果要比autoGen、agents好多了 支持以下這些工具調用,包括Notion 、twitter、duckduckgo、slack、Instagram等國外主流app 接入可以從項目的config文件看出,需要相應應用的api key 除此之外基本的openai api、向量數據庫api,用到replicate、huggingface的模型需要replicate、huggingface的api superAGI需要的api在配置agent時,可以自定義知識庫、工具調用、model和基本的description、name和goals。這些我在國產的fastGPT上也見過,就是工具調用沒有superAGI方便 SuperAGI自己配置agent可以修改的參數可以自己添加知識庫、model和tool,雖然沒有sop,但這種自定義程度已經算高了 autoGen除了自定義模型、知識庫、工具,還可以sop自定義和人為中間干預,但是目前我部署有個bug,改版本作了升級理當需要openai 1版本以上的,實際運營命令又說要低配版本,就中途暫停了大家可以試試autoGen,玩好了能做很多有實際價值的應用aiwaves波形智能的agents這個復雜點,不僅可以設定自定義數量的自定義角色,還可以自己修改這些角色之間的對話關系,加入人類糾正在里面也行,很自定義的開源項目。我部署也遇到問題chatGLM3和meta的api出現422問題,目前社區也不成熟,就卡在那了,這個項目也是很有部署價值的 我部署agents遇到的問題項目提供的代碼實例就有很多個,包括類似chatDEV和metaGPT的IT機器人,也有單個的電商機器人 swarms自定義模型、工具調用、sop停止條件、回答循環次數,像agents一樣既可以只有一個agent,也可以有多個agent swarms官方代碼截圖 綜上,在列舉的這10個agent中,最下面的4個自定義agent最有應用價值,autogen社區更成熟,superAGI又是國外的,aiwaves的agents和swarms又不太成熟
|