歡迎來到AI產品經理從0到1研習之旅。
在這個公眾號的菜單中,我預定義了“AI技術”“AI產品”“AI Agent”三大塊,迄今為止AI Agent還是0分享
實屬不該。
這一次,它來了!
在2018年的開發者大會上,谷歌宣布的一款 AI 助手——Google Duplex,一個通過電話完成實際任務的人工智能系統。它能夠進行復雜的對話,并且 完全自主 地完成大部分任務,無需人工參與。當然它也具備自我監控功能,當識別到無法自主完成任務時(例如,安排異常復雜的約會),它會向可以完成任務的人類操作員發出信號 。
例如用戶讓它預約一個商家,Google Assistant就會通過Duplex致電商家來安排預約,在過程中是助手自行與商家的接線員對話,預約成功后再反饋用戶已經完成。在預約餐館的例子中,商家的人類接線員(因英文不好給溝通帶來了困難)出了不少錯,但是Duplex依然能夠應付。當時這個信息還是挺火的,而負責美業連鎖門店業務系統需求的我,收到了老板的提問:“你們不是在做顧客自助預約的功能么,能不能像谷歌這樣做到顧客說一句話,就自動執行預約呢?”這樣的功能肯定用戶體驗很好!
那時我只笑笑不說話——這種AI技術,我們自研的可能性可以說為0;而那時候也還沒有現在這些大模型和智能體框架。不是我不想,而是不能。
而隨著以GPT大模型為代表的人工智能(AI)2.0時代的技術發展,從深度學習、機器學習、自然語言處理到計算機視覺,AI技術不斷突破限制,為眾多行業帶來了革命性的變革,從提供客戶服務的聊天機器人到為醫療保健和制造業創建的復雜機器人。特別是以GPT、Claude、Gemini等大模型的發布,使得這樣的智能助手對于小企業、普通人而言也有了觸手可及的可能性。
這,就是本文所要探討的AI Agent(人工智能代理,也稱為AI智能體)。
盡管ChatGPT、Midjourney、Runway、Pika等原生AI應用非常火爆,微軟、谷歌、百度、淘寶等大廠在結合LLM的能力更新迭代自己的產品,很多套殼應用也層出不窮,但LLM的潛力可遠遠不止于用來生成好的文案、圖片和視頻,或者用來優化學習、體驗、搜索等,它可以被定義為一個強大的通用問題求解器——也就是本文所要探討的AI智能體。
AI Agent 并不是一個新興的概念,早在多年前就已在人工智能領域有了研究。在《人工智能:現代方法(第4版)》一書中,作者表示:
任何通過傳感器(sensor)感知環境(environment)并通過執行器(actuator)作用于該環境的事物都可以被視為智能體(agent)。
從這個概念上而言,圍棋機器人AlphaGo、蘋果手機助手Siri、天貓精靈智能音箱等,都可以理解是AI Agent。
不過,我想要探討的是一種更先進的、面向未來的人工智能代理——AI Agent旨在理解、分析和響應人類輸入,像人類一樣執行任務、做出決策并與環境互動。它們可以是遵循預定義規則的簡單系統,也可以是根據經驗學習和適應的復雜、自主的實體;可以是基于軟件的實體,也可以是物理實體。它們被用于各種領域,包括機器人、游戲、虛擬助理、自動駕駛汽車等。這些智能體可以是反應性的(直接對刺激做出反應)、深思熟慮的(計劃和決策),甚至具有學習能力(根據數據和經驗調整它們的行為)。
相比起來,智能汽車的自動駕駛(L5級別)、(未來更完美形態的)特斯拉人型機器人Optimus這樣的智能應用,會更符合我所說的AI Agent的終極形態。
AI Agent的出現標志著我們向通用人工智能(AGI)邁出了一步。在AGI中,機器將在不同領域模仿人類般的靈活性和無與倫比的熟練度(但是效率上可能遠高于人類)。
大語言模型和 AI Agent 的區別在于 AI Agent 可以獨立思考并做出行動,和 RPA 的區別在于它能夠處理未知環境信息:
與植根于固定參數和訓練數據的標準自動化過程相比,AI Agent在不確定的環境中蓬勃發展,在未知的領域中自主導航,并處理大量新數據。它們是智能自動化的新面孔。但AI Agent又不僅僅是智能的——它擅長使用電腦,無論是直接瀏覽互聯網、管理應用程序,還是進行金融交易和控制設備,其功能廣泛而通用。
但是LLM/LMM的突破和發展,為AI Agent的實現鋪平了道路,這也是為什么ChatGPT發布后關于AI Agent的討論愈發火熱。以大模型為驅動的人工智能代理具有以下優勢:
- 語言交互:它們固有的理解和生成語言的能力確保了無縫的用戶交互。
- 決策能力:大型語言模型具有推理和決策的能力,使其擅長解決復雜問題。
- 靈活的適應性:代理的適應性確保它們可以針對不同的應用進行調整。
- 協作交互:代理可以與人類或其他代理協作交互,為多方面交互鋪平道路。
GPTs本身也可以是智能體,因為它支持“Action”。例如直接瀏覽網頁(使用webpilot插件):
跨軟件發送消息:
自動整理信息(例如根據在線客服對話提取出商機線索入庫):
AI Agent 可以類比為自動駕駛的 L4 階段,距離真正實現仍有差距(或者說,目前的表現還不理想):
從工作模式來看,AI智能體可以分為單Agent、多Agent、混合Agent(人機交互Agent)三種類型:
單Agent:這種代理側重于執行單一任務或一系列相關任務,且不需要與其他智能體進行交互。單個代理可以根據任務執行不同的操作,如需求分析、項目讀取、代碼生成等。例如手機上的Siri或Google Assistant,你可以要求它設置鬧鐘、查詢天氣、播放音樂等,每個請求都是由單個AI代理獨立處理的,它根據你的命令執行特定的任務。
圖:單代理應用場景的三個層次:任務導向、創新導向、生命周期導向。
多Agent:這種模式側重于智能體之間的互動(合作或對抗)和信息共享,多個智能體協同工作,相互交流信息,共同完成更復雜的任務或目標。多agent應用場景在軟件行業開發、智能生產、企業管理等高度協同的工作中非常有幫助。
圖:多代理應用場景的兩種交互形式:合作型互動、對抗型互動。
在這里,給大家分享一個我在去年12月份所體驗的一個基于LLM的多智能體框架——MetaGPT來幫助理解,詳見下方的視頻。在它的基礎版本中,MetaGPT內部包括產品經理 / 架構師 / 項目經理 / 工程師等多個Agents,用戶只需要輸入一句話的需求,它就會自己思考并最終輸出用戶故事、競品分析、 需求文檔、 數據結構 、APIs 、代碼文件等(盡管還不完美,但已經讓我震撼)。
混合Agent:這種模式中,人工智能系統和人類共同參與決策過程,交互合作完成任務,強調的是人機協作的重要性和互補性。智慧醫療、智慧城市等專業領域可以使用混合智能體來完成復雜的專業工作。以智慧醫療為例,醫生和AI系統共同進行病情診斷,AI系統可以快速分析病人的醫療記錄、影像資料等,提供初步的診斷建議;而醫生則可以基于AI的分析結果和自己的專業知識和經驗,做出最終的診斷決定。
圖:人機交互場景的的兩種范式:Instructor-Executor vs. Equal Partnership從決策制定和行為方式的角度看,AI智能體可以分為以下類型:
簡單反射型Agent:基于“如果-那么”規則直接響應當前的環境狀態,不存儲任何歷史數據或狀態。它們的設計簡單,反應迅速,但適用范圍有限。例如一個簡單的客戶線索收集機器人,在抖音有新增意向客戶(例如咨詢或留資)時,就觸發企業微信的通知消息到群里。這類代理適合處理一些規則明確、不需要深度邏輯或歷史上下文理解的任務。基于模型的反射型Agent:擁有環境的內部模型,能夠基于對環境的理解和過去的經驗做出更復雜的決策。它能夠適應環境變化,處理更復雜的任務。例如智能家居系統中的溫度控制器,它不僅能夠根據當前的室溫調節空調,還能學習用戶的偏好,并預測何時需要提前調整溫度。基于目標的Agent:這類決策從根本上不同于前面描述的條件-動作規則,因為它涉及對未來的考慮,包括“如果我這樣做會發生什么?”和“這會讓我快樂嗎?因為了解環境的現狀并不總是足以決定做什么。例如,在一個路口,出租車可以左轉、右轉或直行。正確的決定取決于出租車要去哪里。換句話說,除了當前狀態的描述之外,智能體還需要某種描述理想情況的目標信息,例如設定特定的目的地。有時,基于目標的動作選擇很直接,例如,單個動作能夠立刻實現目標的情況。有時會更棘手,例如,智能體為了找到實現目標的方法而不得不考慮很長的復雜序列。路線規劃就是很好的例子,它根據目的地、出發地以及路徑策略設置,為用戶量身設計出行方案,同時可結合實時交通,幫助用戶繞開擁堵路段。只要將目的地指定為目標,就可以很容易地更改基于目標的智能體的行為,以到達不同的目的地。基于效用的Agent:基于效用的代理旨在最大化效用功能或價值,精心挑選具有最高預期效用的行動,以衡量結果的有利程度。由于這種設計,基于效用的代理擅長于在復雜和不確定的場景中使用,靈活適應各種情況。在大多數環境中,僅靠目標并不足以產生高質量的行為。例如,許多動作序列都能使出租車到達目的地(從而實現目標),但有些動作序列比其他動作序列更快、更安全、更可靠或更便宜。同樣是在“路線規劃”中,可能會有“地鐵優先”“步行最少”“換成少”“時間短”等不同的選項,這些就是用戶期望的效用。
學習型Agent:這些代理設計用于在未知環境中運行。他們從自己的經歷中學習,并隨著時間的推移調整自己的行動。深度學習和神經網絡經常用于開發學習代理。在 DeepMind 的一項研究中,就展示了基于世界模型的通用可擴展的算法 DreamerV3在沒有人類數據或主動教育的情況下從零開始在《我的世界》(Minecraft)中收集鉆石。演示視頻顯示它收集的第一顆鉆石,發生在 30M 環境步數 / 17 天游戲時間之內。還有一些其他的分類,盡管沒有出現在《人工智能:現代方法》一書中,但也值得一提:
信念-欲望-意圖Agent:模擬人類的決策過程,具有對環境的信念(認知)、目標(欲望)和計劃(意圖),能夠進行復雜的推理和規劃,以達成其目標。我們在文章開頭所提到的Google Duplex就是一個非常好的例子,可以被認為是接近于信念-欲望-意圖(B-D-I)模型的AI代理。- 信念(Belief):Duplex具有對環境的認知,比如理解用戶的需求、知道餐廳的開放時間和預約規則。它能夠收集和處理信息,形成對當前環境的理解。
- 欲望(Desire):它基于用戶的指令,有明確的目標或欲望,如為用戶預訂特定日期和時間的餐廳。
- 意圖(Intention):Duplex制定計劃和行動步驟來實現這一目標,比如通過電話與餐廳交流,詢問可用時間,確認預約細節。
- 復雜的推理和規劃:在進行電話預約時,Duplex能夠根據對方的回答進行即時的推理,做出合適的響應,并根據對話情況調整其行動計劃,以實現用戶的預約意圖。
基于邏輯的Agent:通常基于一系列邏輯規則,通過推理來解決問題,適合需要高度邏輯判斷的場景,例如法律咨詢聊天機器人,通過分析用戶的問題和現有的法律規則庫,邏輯推理出最合適的法律建議或解答。分層的AI Agent:按層組織的代理,高級代理負責協調低級代理。這些級別根據系統的復雜性量身定制,在機器人、制造和運輸等不同領域表現出色,擅長無縫協調多個任務和子任務。xAgent的組成部分和工作機制就可以被理解為分層的AI代理。在分層AI代理體系中,不同層級的代理負責完成不同抽象層次的任務,從高層的任務規劃到底層的具體執行,各層次之間相互協作,以實現復雜任務的有效處理。?? 調度器:位于體系結構的最高層,負責動態實例化和分派任務給不同的智能體。它允許我們添加新的智能體和改進智能體的能力。這一層相當于高層決策層,對新的智能體進行整合和調度,確保系統能夠靈活適應新任務和環境變化。?? 規劃器:處于中間層,負責為任務生成和校正計劃,它將任務分解為子任務,并為它們生成里程碑,使智能體能夠逐步解決任務,橋接了高層的調度決策和底層的執行行動。?? 行動者:位于體系結構的最底層,負責采取行動實現目標和完成子任務。行動者利用各種工具來解決子任務,它也可以與人類合作來解決任務。它直接與環境交互,實現具體目標。基本構成和技術原理
復旦大學NLP團隊在《A Survey on Large Language Model basedAutonomous Agents》一文中總結性地指出,如果基于大語言模型構建AI Agent,其總體框架由大腦、感知和行動三個關鍵部分組成:
- 大腦:主要由一個大型語言模型組成,該模型不僅存儲知識和記憶,還承擔信息處理和決策功能,能夠呈現推理和規劃過程,以很好地處理未知任務。
- 感知:感知模塊的核心目的是將主體的感知空間從純文本領域擴展到文本、聽覺和視覺模式。
- 行動:在代理的構建中,行動模塊接收大腦模塊發送的動作序列,并執行與環境交互的動作。
在感知環境后,人類會對大腦中感知到的信息進行整合、分析和推理,并做出決策。隨后,他們利用神經系統控制自己的身體,并進行適應性或創造性的行動,如交談、躲避障礙或生火。當一個智能體擁有類似大腦的結構,以及知識、記憶、推理、規劃、泛化能力和多模式感知能力時,它也有可能對周圍環境做出各種類似人類的反應。在智能體的構建過程中,動作模塊接收大腦模塊發送的動作序列,并執行與環境交互的動作。對細節感興趣可進一步查閱原論文:https://arxiv.org/pdf/2309.07864.pdf
從上面的架構中我們可以看到,AI Agent可能涉及的組件非常之多。我們無法一一列舉,但可以對其中的一部分稍作探討:?感知:感知是人工智能主體從其環境中接收的感官輸入。這些提供了關于代理操作的可觀察環境的當前狀態的信息。例如,如果人工智能代理是客戶服務聊天機器人,感知可以包括:Agent Function:智能體體系結構的核心是智能體的Function。它將代理對環境的感知映射到它應該采取的行動。換言之,代理功能允許人工智能根據收集到的信息確定應該采取什么行動。這就是代理的“智能”所在,因為它涉及推理和選擇行動來實現其目標。軟件Agent和AI tools具有學習元素和性能元素,這意味著當代理執行任務時,代理功能會根據代理的歷史和訓練數據進行改進。執行:執行器本質上是代理的“肌肉”,執行Agent功能所做的決策。這些動作可以是一系列廣泛的任務,從駕駛自動駕駛汽車到在聊天機器人的屏幕上鍵入文本。- 文本響應生成器:該執行器負責生成基于文本的響應并將其發送給用戶。它接收聊天機器人基于文本的回復,并通過聊天界面將其發送給用戶。
- 服務集成API:聊天機器人可能需要集成一個系統,如公司的CRM系統,以訪問客戶數據、創建支持票證或檢查訂單狀態。這些集成涉及作為執行器的API調用,允許聊天機器人與外部系統交互,并根據需要檢索或更新信息。
- 通知和提醒:通知執行器可以向用戶的設備發送電子郵件通知、短信或推送通知,提醒他們即將到來的約會、訂單狀態更改、促銷或其他相關更新。這些執行器有助于讓用戶了解情況并參與其中。
?知識庫:知識庫是人工智能代理存儲其關于環境的初始知識的地方。這些知識通常是預定義的或在訓練期間學習的。它是代理人決策過程的基礎。例如,自動駕駛汽車可能有一個包含道路規則信息的知識庫,而客戶服務的自動代理可以訪問有關公司產品的詳細信息。?反饋:隨著時間的推移,反饋對于人工智能代理的改進至關重要。這種反饋可以來自兩個來源:評估者或環境本身。評估者可以是人類,也可以是用于評估Agent性能的另一個AI系統。或者,環境可以以由Agent的行動產生的結果的形式提供反饋。這種反饋循環使代理能夠適應,從經驗中學習,并在未來做出更好的決策。需要強調的是,根據選擇的不同具身方法,智能體能夠以軟件操作、機器人、自動駕駛汽車等多種形式表現。而并不是只有軟件程序層面的Action(例如根據需要決定調用指定的插件/API)。
比如知名AI專家李飛飛團隊推出的具身智能框架——VoxPoser,就是將大模型接入機器人,把復雜指令轉化成具體行動規劃(無需額外數據和訓練),讓其在模擬和現實世界的各種機器人操作任務中取得了很不錯的表現:
而自動駕駛,則是迄今為止我心目中最為高級的具身智能形式了:
旨在完成指定目標的典型AI Agent基本遵循以下步驟(但步驟的順序可能會因智能體設計的不同配置或目標而異):AI Agent的工作與其他流行的AI解決方案類似,即要求用戶輸入目標,然后智能體通過參與后臺操作的核心語言學習模型來啟動其邁向目標的旅程,以返回其第一個輸出并展示其對手頭任務的理解。接下來是精心制作任務清單。在既定的目標的驅動下,智能體制定一系列任務,按完成順序排列優先級。一旦對其計劃感到滿意,它就會深入研究信息檢索。Agent的功能就像一個實驗性的計算機用戶,在互聯網的廣闊領域中導航以收集相關信息。一些高級Agent與其他人工智能模型協作,實現圖像生成、計算機視覺功能等專業任務的訪問(即Function call和工具使用)。所有收集到的數據都由Agent精心管理,用于將信息傳遞回用戶,并完善其策略以實現更優化的進度。當每項任務完成時,Agent都會積極尋求外部來源和內部思維過程的反饋,以估計其與最終目標的距離。在實現目標之前,代理會不斷迭代,制定新的任務,并尋求更多的數據和反饋,以朝著目標前進。AutoGPT是一個基于 GPT-4 的自動化生成內容的AI Agent框架,它最引人注目的地方在于其幾乎可以完全獨立工作(偏文本性的,例如搜集和整理行業信息、撰寫市場研究報告、生成代碼等),極少需要人為干預。下面,我們將通過一個簡單的過程介紹來說明AutoGPT是如何接收任務、處理信息,并給出解決方案的:- 初始化和目標設定:開始使用AutoGPT時,首先是為它設置一個標識(比如名字),并明確它需要完成的任務。這一步驟幫助AutoGPT明確目標方向,為后續的決策和任務執行奠定基礎。
- 數據分析:AutoGPT從你提供的信息開始著手工作,它會深入分析這些數據,識別其中的模式和關鍵細節。這個過程加深了它對任務的理解,為生成解決方案的提示打下了基礎。
- 生成提示:基于對數據的分析,AutoGPT能夠生成用于解決任務的自生成提示。這些提示指導AutoGPT如何有效地達成目標。
- 自主信息搜集:AutoGPT不僅僅局限于開始時提供的數據,它還會主動在互聯網上搜集更多信息,以豐富自己的知識庫,從而提高任務處理的深度和準確度。
- 數據審查和優化:收集到的新信息會被系統仔細審查和評估,以確保所有信息的真實性和有效性。任何誤導性或不準確的內容都會被排除,保證決策依據的可靠性。
- 持續學習和改進:AutoGPT注重從每個任務中學習和自我改進。通過分析執行結果和反饋,系統不斷調整和優化,使其在處理后續任務時更加高效和精準。
- 輸出結果:經過一系列的分析、學習和優化后,AutoGPT會提供一個綜合了所有可用信息和分析的解決方案。這個輸出是對任務的深入理解和全面回應。
應用場景與案例
AI Agent已經/可以在不通過的領域/場景中得到應用,例如:- 虛擬助理:像Siri、Google Assistant和Alexa這樣的虛擬助理就是比較常見的AI Agent例子(只不過它們誕生之初并不是基于LLM,但在未來一定會全面集成)。它們都能感知用戶的語音,處理音頻,并決定對任何特定詢問的最佳回應。
- 機器人:機器人領域的AI智能體包括生產線上的工業機器人到自動駕駛汽車系統。這些智能體感知多種維度的事物,并將它們糅合在一起進行合理、快速的行動響應。
- 網絡安全:用于網絡安全的人工智能代理可以檢測惡意軟件、網絡入侵和DDoS攻擊。智能體能感知異常的網絡流量等情況,并提醒運維人員注意。
- 游戲:游戲中的AI Agent通過為非玩家角色增加深度,讓玩家在游戲世界中感覺到更大的NPC活力。
當然還有更多的其他例子,例如:提供個性化治療計劃的醫療保健Agent,在家和不在家時調整溫度的智能家居監測Agent,以及跟蹤天氣模式和作物產量并提醒科學家變化的環境監測Agent。不過,如果結合目前學術界和產業界基于大型語言模型(LLM)開發的AI Agent應用情況,我們可以簡單歸納為兩種主要類型:自主智能體:這類AI Agent專注于復雜流程的自動化。當給定一個目標后,它們可以獨立地設計任務流程、執行任務,并在完成后繼續生成和優先排序新任務,循環進行直到最終目標達成。這種智能體的特點是需要較高的執行準確度,因此,它們經常依賴外部工具來降低大型模型帶來的不確定性,確保任務的順利完成。智能體模擬:這類AI Agent旨在創造出更加逼真、可信的模擬智能體,它又可以細分為兩個子類:一類是強調情感智能的智能體,旨在模擬人類的情感和情商;另一類是強調交互性的智能體,通常應用于多智能體環境中,能夠產生超出設計者預期的場景和能力。對于這類智能體來說,大模型固有的不確定性反而可以轉化為優勢,增加智能體的多樣性和逼真度,使其成為AI生成內容(AIGC)的重要組成部分。根據中國人民大學高瓴人工智能學院的研究團隊在去年8月份的一篇論文,基于LLM的AI智能體領域產品增長情況如下:我們可以看到有不同領域的智能體紛紛推出,其中很多都火出圈了。下面這張圖片展示了更多:
騰訊前一陣子推出了AppAgent的Demo版本——一種多模態智能代理(Agent)框架,由大型語言模型提供支持,與傳統的智能助手如 Siri 不同,AppAgent能夠掌握和利用你手機上的任何應用程序來執行復雜的任務,通過模擬人類的點擊、滑動、輸入等操作與社交媒體、電子郵件、地圖、購物和復雜的圖像編輯工具等App交互。<未完待續,這里又挖了個坑>
...不知道什么時候才能續上...
這一篇就先分享到這吧
后續再深入個案的研習
畢竟,這是我最看好的AI的未來應用
如果你覺得我的分享還不錯或者對你有幫助,不妨點個關注、在看。
也歡迎你在留言區與我互動。
參考資料:
https://lilianweng.github.io/posts/2023-06-23-agent/
https://blog.research.google/2018/05/duplex-ai-system-for-natural-conversation.html
https://botpress.com/blog/what-is-an-ai-agent
https://medium.com/humansdotai/an-introduction-to-ai-agents-e8c4afd2ee8f
https://redis.com/blog/what-is-an-ai-agent/
https://medium.com/@henryhengluo/intro-of-ai-agent-ai-agent-projects-summary-52f4a364ab86
https://techcommunity.microsoft.com/t5/educator-developer-blog/building-ai-agent-applications-series-understanding-ai-agents/ba-p/4046944
https://medium.com/how-i-use-ai/whats-an-ai-agent-and-what-are-its-current-advantages-and-possible-future-87b577719f24
《AI時代新起點,尋新投資方向(三)AI Agent,大模型時代重要落地方向》,東吳證券
《智能體專題報告之一:智能體打開智駕與機器人的星辰大海》,中銀證券
《AI Agent:基于大模型的自主智能體,在探索 AGI 的道路上前進》,東吳證券
https://zapier.com/
https://www.jijyun.cn
https://github.com/geekan/MetaGPT
https://appagent-official.github.io/
https://cloud.tencent.com/solution/smart-home
https://mp.weixin.qq.com/s/SBvkWOA8H3eK3FpvZ1C4Sg
https://github.com/PKU-YuanGroup/ChatLaw
https://medium.com/@amiable_cardinal_crocodile_398/robotics-voxposer-composable-3d-value-maps-for-robotic-manipulation-with-language-models-84938e41cc51
https://www.maartengrootendorst.com/blog/autogpt/
https://arxiv.org/pdf/2309.07864.pdf
https://arxiv.org/pdf/2308.11432.pdf
https://github.com/e2b-dev/awesome-ai-agents?tab=readme-ov-file