智能體#
在 MetaGPT 看來,可以將智能體想像成環境中的數字人,其中
智能體 = 大語言模型(LLM) + 觀察 + 思考 + 行動 + 記憶
這個公式概括了智能體的功能本質。為了理解每個組成部分,讓我們將其與人類進行類比:
- 大語言模型(LLM):LLM 作為智能體的 “大腦” 部分,使其能夠處理信息,從互動中學習,做出決策並執行行動。
- 觀察:這是智能體的感知機制,使其能夠感知其環境。智能體可能會接收來自另一個智能體的文本消息、來自監視攝像頭的視覺數據或來自客戶服務錄音的音頻等一系列信號。這些觀察構成了所有後續行動的基礎。
- 思考:思考過程涉及分析觀察結果和記憶內容並考慮可能的行動。這是智能體內部的決策過程,其可能由 LLM 進行驅動。
- 行動:這些是智能體對其思考和觀察的明確響應。行動可以是利用 LLM 生成代碼,或是手動預定義的操作,如閱讀本地文件。此外,智能體還可以執行使用工具的操作,包括在互聯網上搜索天氣,使用計算器進行數學計算等。
- 記憶:智能體的記憶存儲過去的經驗。這對學習至關重要,因為它允許智能體參考先前的結果並據此調整未來的行動。
多智能體#
多智能體系統可以視為一個智能體社會,其中
多智能體 = 智能體 + 環境 + 標準流程(SOP) + 通信 + 經濟
這些組件各自發揮著重要的作用:
- 智能體:在上面單獨定義的基礎上,在多智能體系統中的智能體協同工作,每個智能體都具備獨特有的 LLM、觀察、思考、行動和記憶。
- 環境:環境是智能體生存和互動的公共場所。智能體從環境中觀察到重要信息,並發布行動的輸出結果以供其他智能體使用。
- 標準流程(SOP):這些是管理智能體行動和互動的既定程序,確保系統內部的有序和高效運作。例如,在汽車製造的 SOP 中,一個智能體焊接汽車零件,而另一個安裝電纜,保持裝配線的有序運作。
- 通信:通信是智能體之間信息交流的過程。它對於系統內的協作、談判和競爭至關重要。
- 經濟:這指的是多智能體環境中的價值交換系統,決定資源分配和任務優先級。
任務#
對於每一個任務,至少要明確兩點:目標和期望。目標和期望都可以用自然語言去描述。
其他需要明確的是 上下文、回調、輸出、使用的工具。
回調可以是一個 python 函數。使用的工具可以是一個 python 列表。
你可以用 pydantic 去約束輸出的合適。把大模型的模糊輸出變為強制結構化輸出。
工具#
一個常用的工具就是搜索引擎。例如谷歌的 serper。國內的替代品是什麼?
還有爬蟲工具
新建一個 Jupyter notebook,把下面的代碼拷貝進去
import asyncio
from metagpt.roles import (
Architect,
Engineer,
ProductManager,
ProjectManager,
)
from metagpt.team import Team
async def startup(idea: str):
company = Team()
company.hire(
[
ProductManager(),
Architect(),
ProjectManager(),
Engineer(),
]
)
company.invest(investment=3.0)
company.run_project(idea=idea)
await company.run(n_round=5)
在上面的代碼中,我們直接用默認的角色即可。這些角色都要做什麼動作都已經寫好了,直接拿過來用。
然後執行下面這行代碼,開始幹活:
|Python<br>await startup(idea="開發一個刷題程序")|
| :- |