自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文讀懂用于構(gòu)建多代理的 CrewAI 開源框架

人工智能
本文將繼針對(duì)新型開源 AI Agents CrewAI 的技術(shù)進(jìn)行解析,使得大家能夠了解 CrewAI 的基本概念以及基于 CrewAI 對(duì)其進(jìn)行應(yīng)用及市場(chǎng)開發(fā)。

Hello folks,我是 Luga,今天我們繼續(xù)來聊一下人工智能(AI)生態(tài)領(lǐng)域相關(guān)的技術(shù) - AI Agents ,本文將繼續(xù)聚焦在針對(duì)新型開源 AI Agents CrewAI 的技術(shù)進(jìn)行解析,使得大家能夠了解 CrewAI 的基本概念以及基于 CrewAI 對(duì)其進(jìn)行應(yīng)用及市場(chǎng)開發(fā)。

LLM (大型語言模型) 已經(jīng)滲透到我們生活的方方面面,從日常聊天到文檔解析,發(fā)揮著重要作用。隨著 LLM 在全球范圍內(nèi)的熱潮席卷而來,開發(fā)者們開始將重點(diǎn)放在人類推理和問題解決上,創(chuàng)造了更加專注和目標(biāo)導(dǎo)向的 LLL(Language and Logic Learning)應(yīng)用程序,以應(yīng)對(duì)當(dāng)今面臨的各種復(fù)雜問題。

這些創(chuàng)新的 LLL 應(yīng)用程序通過優(yōu)化、擴(kuò)展和提升 LLM 的能力,為我們提供了更加高效、智能化的解決方案。不論是在商業(yè)、科學(xué)還是社會(huì)領(lǐng)域,這些應(yīng)用程序都成為了我們理解和應(yīng)對(duì)復(fù)雜問題的有力工具,同時(shí)也開辟了全新的可能性。

一、傳統(tǒng) AI Agents 的出路在哪里 ?

隨著技術(shù)的蓬勃發(fā)展,AI Agents 正在成為改變游戲規(guī)則的力量,迅速成為解決問題、創(chuàng)造力和創(chuàng)新的合作伙伴,而這正是 CrewAI 的獨(dú)特之處。

能想象一下?僅僅幾分鐘內(nèi),可以將一個(gè)想法轉(zhuǎn)化為一個(gè)完整的登錄頁面,這正是我們利用 CrewAI 一起實(shí)現(xiàn)的場(chǎng)景。

最近的一個(gè)案例展示了 CrewAI 與 LangChain 和 OpenHermes2.5(由 Ollama 提供支持)合作的成果,將一行簡(jiǎn)單的文字轉(zhuǎn)變?yōu)橐粋€(gè)完整的登錄頁面。這個(gè)案例揭示了 AI Agents 協(xié)作中尚未開發(fā)的巨大潛力,以及更快速進(jìn)行市場(chǎng)測(cè)試想法的能力,而這只是 CrewAI 在 Replit 中使用代碼的一個(gè)應(yīng)用場(chǎng)景。

如下為將 Ollama 與 CrewAI 集成 Demo 示例:

from langchain.llms import Ollama
ollama_openhermes = Ollama(model="agent")
# Pass Ollama Model to Agents: When creating your agents within the CrewAI framework, you can pass the Ollama model as an argument to the Agent constructor. For instance:

local_expert = Agent(
  role='Local Expert at this city',
  goal='Provide the BEST insights about the selected city',
  backstory="""A knowledgeable local guide with extensive information
  about the city, it's attractions and customs""",
  tools=[
    SearchTools.search_internet,
    BrowserTools.scrape_and_summarize_website,
  ],
  llm=ollama_openhermes, # Ollama model passed here
  verbose=True
)

實(shí)例化 Ollama 模型

CrewAI 的愿景非常明確,即讓工程師們能夠借助 AI Agents 的集體力量,超越傳統(tǒng)的自動(dòng)化方法。CrewAI 將各種代理聚集在一起,簡(jiǎn)化決策過程,增強(qiáng)創(chuàng)造力,并迎接解決復(fù)雜挑戰(zhàn)的挑戰(zhàn)。

這種新型協(xié)作方式不僅提供了高效的工具和技術(shù)支持,而且還鼓勵(lì)創(chuàng)新和實(shí)驗(yàn)。CrewAI 的出現(xiàn)為工程師們創(chuàng)造了一個(gè)全新的機(jī)遇,使他們能夠更快速地推動(dòng)想法的實(shí)現(xiàn),并在競(jìng)爭(zhēng)激烈的市場(chǎng)中保持領(lǐng)先地位。

二、什么是 CrewAI 庫 ?

由 OpenAI 開發(fā),于 2023 年 8 月發(fā)布。CrewAI 提供了一組通用的工具和庫,可用于處理多代理系統(tǒng)的常見任務(wù),如代理通信、協(xié)調(diào)和決策。CrewAI 的潛在應(yīng)用包括機(jī)器人協(xié)作、自動(dòng)駕駛、虛擬現(xiàn)實(shí)以及增強(qiáng)現(xiàn)實(shí)等多種不同領(lǐng)域。

作為一個(gè)專為構(gòu)建和編排 AI Agents 組而設(shè)計(jì)的庫。CrewAI 基于簡(jiǎn)單化理念以及模塊化策略的模式,使得我們可以將 CrewAI 集成到我們的項(xiàng)目中變得輕而易舉。我們可以這樣理解:將 CrewAI 想象成一組構(gòu)建塊,每個(gè)構(gòu)建塊都是獨(dú)一無二的,但它們都經(jīng)過精心設(shè)計(jì),可以無縫組合在一起。

從技術(shù)實(shí)現(xiàn)角度而言,CrewAI 建立在 LangChain 之上,這使得它能夠與多種不同的現(xiàn)有工具兼容,包括通過 Ollama 等平臺(tái)的本地開源模型。

通過借助 CrewAI,我們可以輕松構(gòu)建一個(gè)強(qiáng)大的 AI Agents 組,以解決各種復(fù)雜任務(wù)和挑戰(zhàn)。無論是自然語言處理、問題解答還是智能決策,CrewAI 提供了豐富的功能和靈活性。我們可以根據(jù)具體需求自由選擇和組合各種模塊,以創(chuàng)建一個(gè)符合我們預(yù)期目標(biāo)的獨(dú)特系統(tǒng)。

借助 CrewAI 的模塊化設(shè)計(jì),我們可以將現(xiàn)有的工具和技術(shù)與其無縫集成,實(shí)現(xiàn)更高效的開發(fā)和部署?;谒峁┑暮?jiǎn)單易用接口和開發(fā)人員友好的文檔,使得我們能夠快速上手并快速實(shí)現(xiàn)我們的創(chuàng)意。

不僅如此,CrewAI 同時(shí)也是一個(gè)持續(xù)發(fā)展和更新的庫,積極采納并融合最新的研究成果和技術(shù)進(jìn)展。這意味著我們可以始終與前沿的人工智能能力和最佳實(shí)踐保持同步。

三、CrewAI 架構(gòu)設(shè)計(jì)及實(shí)現(xiàn)原理

類似于 LangChain 的設(shè)計(jì)理念,CrewAI 的設(shè)計(jì)思想是讓工程師們能夠以簡(jiǎn)單的方式構(gòu)建復(fù)雜的 AI 應(yīng)用。通過模塊化的方法,將功能劃分為獨(dú)立的構(gòu)建塊,每個(gè)構(gòu)建塊都具有特定的功能和任務(wù)。這種模塊化的設(shè)計(jì)思維使得工程師們可以根據(jù)需要自由選擇、組合和定制這些構(gòu)建塊,從而快速搭建出符合自己需求的系統(tǒng)。

通常來說,CrewAI 的核心組件主要涉及如下:

1、Agent - 代理

Agent 通常為我們忠誠(chéng)而值得信賴的伙伴,每個(gè) Agent 都有自己獨(dú)特的個(gè)性、背景故事和技能。他們能夠隨時(shí)準(zhǔn)備被協(xié)調(diào)支配,無論是去實(shí)現(xiàn)某一特定的功能場(chǎng)景、解決棘手的難題,還是探索未知的世界。

2、Task - 任務(wù)

CrewAI 任務(wù)是為了解決特定問題或完成特定目標(biāo)而設(shè)計(jì)的。每個(gè)任務(wù)都具有明確的目標(biāo)和要求,并且被分解成小而專注的子任務(wù)。這種任務(wù)的細(xì)分使得 Agent 能夠更加集中精力,并以更高效的方式完成任務(wù)。

每個(gè) CrewAI 任務(wù)都具有獨(dú)特的特征和要求,Agent 需要根據(jù)任務(wù)的性質(zhì)和目標(biāo)來選擇合適的方法和策略。這使得任務(wù)的執(zhí)行更加靈活和自適應(yīng),Agent 可以根據(jù)具體情況做出相應(yīng)的決策和調(diào)整。

3、Tools - 工具

在 CrewAI 中,Agent 被用作高效執(zhí)行任務(wù)的工具。我們可以利用 LangChain 中的各種現(xiàn)有工具,也可以快速開發(fā)自己的工具。同時(shí),CrewAI 也鼓勵(lì)我們根據(jù)具體任務(wù)的需求,快速編寫自定義工具。這種靈活性使得我們能夠根據(jù)特定情況和任務(wù)的要求,定制化代理工具,以更好地滿足我們的需求。

通過結(jié)合使用 LangChain 中的現(xiàn)有工具和自定義工具,我們能夠最大程度地發(fā)揮代理的潛力,提高任務(wù)執(zhí)行的效率和質(zhì)量。

4、Process - 流程

Process 是根據(jù)任務(wù)的性質(zhì)和復(fù)雜程度進(jìn)行定制的。不同的任務(wù)可能需要不同的 Process 來達(dá)到最佳效果。Process 可以包括任務(wù)的分解、資源的分配、溝通協(xié)調(diào)等環(huán)節(jié),旨在最大限度地提高團(tuán)隊(duì)的工作效率和任務(wù)完成質(zhì)量。

Process 的設(shè)計(jì)也可以根據(jù)經(jīng)驗(yàn)和實(shí)踐進(jìn)行不斷優(yōu)化和改進(jìn)。通過對(duì) Process 的不斷迭代和優(yōu)化,團(tuán)隊(duì)可以提高工作效率、減少錯(cuò)誤和風(fēng)險(xiǎn),并提供更好的團(tuán)隊(duì)協(xié)作和成果交付。

5、Crew - 執(zhí)行者

Crew 在 CrewAI 中是代理人、任務(wù)和過程相結(jié)合的容器層,是任務(wù)執(zhí)行的實(shí)際場(chǎng)所。作為一個(gè)協(xié)同合作的環(huán)境,Crew 提供了代理人之間的交流、合作和按照規(guī)定過程執(zhí)行任務(wù)的平臺(tái)。通過 Crew 的設(shè)計(jì),代理人能夠更好地協(xié)作并以高效的方式完成任務(wù)。

從架構(gòu)設(shè)計(jì)角度而言,經(jīng)過 ReActSingleInputOutputParser 增強(qiáng),每個(gè) CrewAI Agent 本質(zhì)上都是一個(gè) LangChain Agent。該解析器經(jīng)過專門修改,以便更好地進(jìn)行功能支持,包含用于上下文焦點(diǎn)的綁定停用詞,并集成了內(nèi)存機(jī)制(使用 LangChain 的 ConversationSummaryMemory)以實(shí)現(xiàn)任務(wù)的連續(xù)性。

Agent 是建立在 LangChain 之上的,這一事實(shí)創(chuàng)造了飛輪效應(yīng),主要的一個(gè)是我們可以立即使用所有 LangChain 工具和工具包,從而使得 CrewAI 具有很強(qiáng)的可擴(kuò)展性和靈活性,可用于各種任務(wù)。

在當(dāng)前的迭代中,Agent 自主運(yùn)行,通過自我對(duì)話來確定工具的使用。這使得其能夠適應(yīng)不斷變化的環(huán)境和任務(wù)要求。然而,CrewAI 的未來版本計(jì)劃引入不同的流程類型。這些將允許代理在更復(fù)雜的場(chǎng)景中協(xié)同工作,例如在團(tuán)隊(duì)合作任務(wù)或需要多個(gè)代理來解決單個(gè)問題的情況下。

在最新版本的 CrewAI 平臺(tái)中,每個(gè) Task 在創(chuàng)建時(shí)都將明確分配至指定的代理單元來執(zhí)行。這有助于更清晰識(shí)別每個(gè)代理當(dāng)前負(fù)責(zé)的任務(wù)類型與量,以及任務(wù)運(yùn)行進(jìn)度。

同時(shí),系統(tǒng)還能針對(duì)每個(gè) Task 限定其使用的工具范圍,例如僅允許調(diào)用某類算法庫等,從而可以有效避免由于工具限制導(dǎo)致的任務(wù)失敗,也防止單個(gè)代理長(zhǎng)期占用特定資源阻塞其他工作。

Crew 作為封裝代理和任務(wù)的框架,促進(jìn)它們順序執(zhí)行工作,從而使得更容易管理代理之間的依賴關(guān)系,并確保任務(wù)以正確的順序執(zhí)行。在業(yè)務(wù)實(shí)踐中,我們可能會(huì)發(fā)現(xiàn)部署多個(gè)獨(dú)立的 Crew(每個(gè) Crew 配備幾個(gè)特工)更為有效。這種模塊化方法允許每個(gè)工作人員產(chǎn)生不同的結(jié)果,而不是由單個(gè)大型工作人員處理許多任務(wù)和代理處理單一輸出。

四、CrewAI 與 Autogen 以及 ChatDev Agents 的對(duì)比分析

Autogen 擅長(zhǎng)創(chuàng)建能夠協(xié)同工作的會(huì)話代理,但其缺點(diǎn)是缺乏固有的流程概念。這意味著在 Autogen 中,編排代理的交互需要額外的編程。隨著任務(wù)規(guī)模的增長(zhǎng),這可能會(huì)變得復(fù)雜和繁瑣。

相對(duì)于 CrewAI, 具體來說,Autogen 在以下方面存在缺陷:

  • 缺乏流程概念:這意味著 Autogen 代理只能按照它們被編程的方式進(jìn)行交互。如果需要代理以不同的方式交互,則需要進(jìn)行額外的編程。
  • 編程復(fù)雜:編程 Autogen 代理的交互可能非常復(fù)雜,尤其是對(duì)于復(fù)雜的任務(wù)及邏輯。
  • 可擴(kuò)展性差:Autogen 代理的編程方式不利于可擴(kuò)展性。隨著任務(wù)規(guī)模的增長(zhǎng),編程代理的交互變得更加困難。

ChatDev 將流程的概念引入了 AI 代理領(lǐng)域,但其實(shí)現(xiàn)相當(dāng)僵化。ChatDev 中的自定義是有限的,并且不適合生產(chǎn)環(huán)境。這意味著 ChatDev 可能難以滿足復(fù)雜應(yīng)用程序的需求,并且可能導(dǎo)致可擴(kuò)展性和靈活性問題。

同樣,相對(duì)于 CrewAI,ChatDev 的不足主要體在以下幾個(gè)方面,具體:

  • 自定義有限:ChatDev 中的自定義是有限的。這意味著 ChatDev 可能難以滿足復(fù)雜應(yīng)用程序的需求。
  • 不適合生產(chǎn)環(huán)境:ChatDev 不適合生產(chǎn)環(huán)境。這意味著 ChatDev 可能難以滿足實(shí)際應(yīng)用程序的要求。
  • 可擴(kuò)展性差:ChatDev 的實(shí)現(xiàn)不利于可擴(kuò)展性。隨著任務(wù)規(guī)模的增長(zhǎng),ChatDev 可能難以滿足應(yīng)用程序的需求。

總的來說,相對(duì)于 Autogen 和 ChatDev 創(chuàng)建會(huì)話代理的工具,CrewAI 的構(gòu)建以生產(chǎn)為中心,既提供了Autogen 對(duì)話代理的靈活性,又采用了 ChatDev 的結(jié)構(gòu)化流程方法,但又不失靈活性。

CrewAI 基于動(dòng)態(tài)的流程設(shè)計(jì)理念,具有很強(qiáng)的適應(yīng)性,可以無縫地融入開發(fā)和生產(chǎn)工作流程,以使得工作流程可以根據(jù)需求進(jìn)行調(diào)整和優(yōu)化,以適應(yīng)不同的工作場(chǎng)景和業(yè)務(wù)需求。

未來,CrewAI 將繼續(xù)豐富其工作流程能力,支持涵蓋更多領(lǐng)域的流程定義。同時(shí),CrewAI 平臺(tái)將進(jìn)一步優(yōu)化不同助手間的協(xié)作體系,提高工作效率和質(zhì)量。

與此同時(shí),CrewAI 在用戶體驗(yàn)和定制性方面也在不斷改進(jìn)?;诤?jiǎn)單直觀的集成接口,可以有效地幫助企業(yè)快速定義和執(zhí)行定制化的工作流,用戶無需關(guān)注底層技術(shù)細(xì)節(jié),便可安全有效地利用 AI 助手團(tuán)隊(duì)。

因此,從某種意義上來講,CrewAI 不僅是一個(gè)解決人工智能協(xié)同問題的有效工具,同時(shí),也在重新塑造人類與 AI 之間的關(guān)系模式。它將 AI 助手的能力發(fā)揮到極致,助推 AI 在各行各業(yè)的廣泛應(yīng)用。隨著 CrewAI 技術(shù)的不斷成熟,AI 將成為企業(yè)協(xié)同工作的重要力量。

Reference :[1] https://github.com/joaomdmoura/crewai

責(zé)任編輯:趙寧寧 來源: 架構(gòu)驛站
相關(guān)推薦

2024-05-31 12:44:12

2025-02-10 07:10:00

多模態(tài)embeddingsAI

2021-08-27 10:14:16

Thanos監(jiān)控開源

2024-06-24 14:32:33

2023-11-26 19:31:18

2021-08-09 10:20:04

Thanos監(jiān)控架構(gòu)

2025-04-07 08:40:00

開源Llama 4大模型

2023-12-10 14:59:53

2024-05-27 00:45:00

2023-12-22 19:59:15

2021-08-04 16:06:45

DataOps智領(lǐng)云

2024-12-27 14:45:59

2025-03-24 08:15:00

2018-09-28 14:06:25

前端緩存后端

2022-09-22 09:00:46

CSS單位

2022-11-06 21:14:02

數(shù)據(jù)驅(qū)動(dòng)架構(gòu)數(shù)據(jù)

2025-04-03 10:56:47

2017-05-05 12:59:00

大數(shù)據(jù)物聯(lián)網(wǎng)安全

2021-09-04 19:04:14

配置LogbackJava

2023-02-24 15:28:07

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)