
如何用AI進行情感分析
SOP定義了社會中的工作角色和工作流程。在軟件工程中,瀑布模型(Waterfall Model)概述了從分析到交付的步驟,促進了跨角色的團隊合作。MetaGPT的方法展示了其將高級任務分解為由不同角色(產品經理、架構師、項目經理、工程師、質量工程師)處理的、詳細可行性組件的能力,從而促進了角色特定的專業知識和協調。該圖說明了MetaGPT如何設計來處理復雜任務并促進清晰的角色劃分,使其成為復雜軟件開發場景中的有價值的工具。
MetaGPT的設計分為兩個層次:基礎組件層和協作層。
基礎組件層以AI Agent為核心,提供了觀察、思考等能力。其建立了個體智能體操作和在系統范圍內進行信息交換所需的核心模塊,包括環境、記憶、角色、行動和工具,如圖2所示。
這一層為智能體在分配的角色中運行提供了基礎設施,使它們可以相互交互并與系統交互。
其建立在基礎組件層的基礎上,協調各個智能體共同解決復雜問題。其提供了兩種基本機制:知識共享和封裝工作流程。
在這個框架中,MetaGPT中的智能體能力得到了顯著增強。智能體的實例化,由專門的角色提示引導,被稱為”錨定智能體”,為角色提供了觀察、思考、反思和知識積累的能力。這些角色通過已建立的訂閱和發布方法與環境進行交互。
基礎和協作層的分離有利于實現模塊化,同時確保智能體的個人和集體能力。基礎組件提供了可重用的構建模塊和工具,而協作模塊則實現了有目的的協調。
基礎和協作層的劃分促進了模塊化,同時確保了個體和集體代理的能力。組件提供了可重用的構建塊和實用程序,而協作模塊整合了有目的的協調。
角色定義
MetaGPT框架支持創建各種專業類的角色,如產品經理、架構師等。基礎角色類由一組關鍵屬性定義:名稱、簡介、目標、約束和描述。目標表示角色尋求完成的主要責任或目標。約束表示角色在執行行動時必須遵循的限制或原則。約束可以規定如下:“你編寫的代碼應符合PEP8等代碼規范,具有模塊化、易于閱讀和維護的特點”。描述提供了額外的具體信息,以幫助建立更全面的角色定義。
MetaGPT框架提供的全面角色定義使得其可以創建高度專業化的基于LLM的智能體,每個智能體都針對特定的領域和目標進行了定制。角色定義不僅引入了基于預期功能的行為指導,而且有助于創建多樣化和專業化的智能體,每個智能體都是其領域的專家。
MetaGPT使用提示(Prompt)將現實世界的標準作業程序(SOP)轉化為明確定義的智能體工作流。該過程涉及使用提示來實例化SOP,并基于已建立的實踐提供逐步指導,確保復雜序列任務的一致和結構化執行。
首先,我們詳細介紹Action類,然后展示了如何設計標準化行動級別細粒度提示。在MetaGPT框架中,Action作為智能體執行特定任務的原子單位,通過自然語言進行指定。關鍵屬性包括:
MetaGPT實例化工作流的有效性在很大程度上依賴于每個行動的標準化輸出。這些輸出利用專家領域知識和行業最佳實踐,將工作流程調整到特定的角色和上下文中。結構化輸出設計具有以下目的:
標準化的輸出保障了一致的LLM結果,這些結果是可預測、可重復的,并符合智能體的責任范圍。它們通過設定輸出期望來引導高質量、結構化和基于任務的特定LLM生成。
此外,標準化的模式充當了藍圖,將LLM行為限制在適合角色的邊界內。同時,這有助于保持對目標任務的關注,防止偏離目標。由于行動是綜合角色基準指南的一部分,這種角色意識的引導確保輸出與真實世界的質量標準相一致。
總之,在MetaGPT中標準化輸出設計和實現為處理復雜任務提供了強大的工具。將自然語言中定義的復雜任務轉化為標準化輸出促進了協作的一致性,從而減少了可能導致不連貫的多輪對話交互。此外,它可以清晰、一致地表示結構信息,這在僅通過自然語言傳達時可能存在困難,特別是對于基于LLM的智能體。此外,通過提供結構化和標準化的輸出,不同的智能體可以清晰地對其任務和責任達成一致的理解。
在MetaGPT中,每個智能體通過從共享環境日志中檢索相關歷史信息,來主動策劃個性化知識。智能體不是被動地依賴對話,而是利用基于角色的興趣來提取相關信息。
如前所述,MetaGPT中的每個智能體都維護了一個內存緩存,并對其角色相關的訂閱消息進行索引,實現個性化的知識策劃。具體來說,消息的集中復制創建了一個統一的數據源。智能體可以注冊訂閱,自動從該數據源接收與其角色相關的消息。在內部,智能體通過內容、來源和屬性將內存緩存索引,以便在相關上下文中實現快速檢索。
通過在智能體角色周圍對信息流進行組織,確保多智能體之間的協作。通過結合中心化的知識共享與基于角色的個性化內存緩存相結合,實現定制化的知識管理。這減少了無關數據的存在,并提供了共同的上下文,從而在團隊協作和個人效率之間達成平衡。
可訪問OpenAI的服務器或者本地電腦。
由于需要調用OpenAI API,因此需要提前準備好OPENAI_API_KEY。
python --version
git clone https://github.com/geekan/MetaGPT.git
cd MetaGPT
pip3 install -e. # 或者 pip3 install metagpt # 安裝穩定版本
?3、在config/key.yaml
文件中配置OPENAI_API_KEY
。
# 拷貝配置文件config.yaml為key.yaml并進行如下修改
cp config/config.yaml config/key.yaml
變量名 | config/key.yaml |
OPENAI_API_KEY # 用您自己的密鑰替換 | OPENAI_API_KEY: “sk-…” |
OPENAI_API_BASE # 可選 | OPENAI_API_BASE: “https:///v1” |
??4、(可選)如果想在執行過程中保存像象限圖、系統設計、序列流程等圖表這些產物,可以先安裝mermaid-js
。
# 如果執行,確保您的系統上安裝了 NPM。并使用npm安裝mermaid-js。
npm --version
sudo npm install -g @mermaid-js/mermaid-cli
? 5、開始使用。
python startup.py "寫一個命令行貪吃蛇"
# 開啟code review模式會花費更多的金錢, 但是會提升代碼質量和成功率
python startup.py "寫一個命令行貪吃蛇" --code_review True`
運行腳本后,您可以在 workspace/ 目錄中找到您的新項目。
本文章轉載微信公眾號@深度學習自然語言處理