AI Agents-1 | 深度揭秘AI智能體:開篇導(dǎo)論 原創(chuàng) 精華
這個系列文章旨在為AI代理(AI Agent)提供全面的概述,深入研究其特征,組成部分和類型,同時探索其進(jìn)化,挑戰(zhàn)和潛在的未來方向。
在科技飛速發(fā)展的今天,人工智能(AI)已經(jīng)從一個遙遠(yuǎn)的概念逐漸走進(jìn)我們的生活。而隨著大語言模型(LLM)的出現(xiàn),AI的發(fā)展更是迎來了巨大的飛躍。這些強大的系統(tǒng)徹底改變了自然語言處理的方式,但它們的真正潛力,卻是在與“自主性”相結(jié)合時才被完全釋放。今天,就讓我們一起深入探索AI智能體的世界,看看它們是如何從LLM演變而來,又將如何改變我們的未來。
一、從LLM到AI智能體的演變
(一)傳統(tǒng)聊天機器人與LLM驅(qū)動的聊天機器人
聊天機器人其實并不是什么新鮮事物。在生成式AI(Gen AI)出現(xiàn)之前,我們就已經(jīng)在各種網(wǎng)站上和它們打過交道了。不過,那時候的聊天機器人和現(xiàn)在基于AI的對話代理有著本質(zhì)的區(qū)別。
傳統(tǒng)聊天機器人是基于規(guī)則邏輯運行的,它們依賴于“如果-那么”這樣的簡單指令,只能在預(yù)設(shè)的規(guī)則范圍內(nèi)工作,根本無法應(yīng)對復(fù)雜或模糊的查詢。它們的回應(yīng)是固定的、預(yù)先設(shè)定好的,只要檢測到特定的關(guān)鍵詞或短語就會觸發(fā)相應(yīng)的回答,完全缺乏靈活性和深度。而且,這些機器人總是會有一個“聯(lián)系人工客服”的按鈕,因為一旦遇到無法解決的問題,就需要人類出馬來處理。
2022年11月30日,OpenAI推出了ChatGPT,這是第一個主流的LLM應(yīng)用。它保留了我們熟悉的聊天機器人界面,但背后卻有著強大的LLM技術(shù)支持。這種基于Transformer架構(gòu)的模型,能夠通過自注意力機制深入理解上下文,生成類似人類、與上下文相關(guān)且新穎的文本。它可以用于代碼生成、內(nèi)容創(chuàng)作、提升客戶服務(wù)等多種場景。
然而,LLM也不是完美的。它在長時間對話中很難保持一致的個性化互動,還可能會產(chǎn)生“幻覺”,即生成看似合理但實際上錯誤的回答。這是因為LLM是基于概率而非經(jīng)過驗證的知識來生成輸出的。為了克服這些限制,人們開始探索像檢索增強生成(RAG)這樣的技術(shù),將外部數(shù)據(jù)檢索與LLM的能力結(jié)合起來,以產(chǎn)生準(zhǔn)確且有上下文依據(jù)的回答。
(二)從LLM驅(qū)動的聊天機器人到RAG聊天機器人和AI智能體
RAG聊天機器人是一種結(jié)合了外部數(shù)據(jù)檢索和LLM能力的新型聊天機器人。它有兩種知識來源:非參數(shù)化知識,即從互聯(lián)網(wǎng)或?qū)S袛?shù)據(jù)庫等外部來源實時檢索的數(shù)據(jù);參數(shù)化知識,即LLM在訓(xùn)練過程中嵌入的知識。這種結(jié)合方式可以減少幻覺現(xiàn)象,提供最新的信息,并確保回答的可驗證性。
此外,通過提示工程技巧,如上下文學(xué)習(xí)(單次、少量)、思維鏈(CoT)和ReAct等,可以引導(dǎo)LLM的推理和輸出生成,從而提高回答的質(zhì)量。
AI智能體則是從增強了工具、多步規(guī)劃和推理能力的LLM演變而來的。它們可以調(diào)用通過結(jié)構(gòu)化模式(例如JSON)定義的程序化函數(shù)或API,通過分析任務(wù)并分配參數(shù)來執(zhí)行操作。AI智能體在迭代執(zhí)行環(huán)境中運行,能夠根據(jù)反饋進(jìn)行動態(tài)決策和持續(xù)適應(yīng)。
二、什么是AI智能體?
AI智能體是一種可以感知其環(huán)境、處理信息并通過執(zhí)行器對環(huán)境采取行動以實現(xiàn)特定目標(biāo)的系統(tǒng)。你可以把它想象成一個數(shù)字實體,它能夠像人類與周圍環(huán)境互動一樣觀察、思考和行動,只不過它是以一種被編程和有目的的方式進(jìn)行的。
AI智能體的核心理念是理性行為:智能體應(yīng)該采取能夠最大化實現(xiàn)其指定目標(biāo)成功的行動。這種理性正是AI智能體與簡單響應(yīng)程序的區(qū)別所在。
(一)AI智能體的特征
AI智能體具有以下關(guān)鍵特征:
- 自主性:無需人類干預(yù)即可獨立做出決策。
- 反應(yīng)性和主動性:能夠?qū)Νh(huán)境變化做出反應(yīng),并采取主動措施以實現(xiàn)目標(biāo)。
- 適應(yīng)性:通過處理新信息和經(jīng)歷來學(xué)習(xí)和進(jìn)化。
- 目標(biāo)導(dǎo)向:致力于實現(xiàn)預(yù)定義的目標(biāo)或優(yōu)化結(jié)果。
- 交互性:能夠與其他智能體或人類進(jìn)行通信和協(xié)作。
- 持久性:能夠持續(xù)運行,監(jiān)測并響應(yīng)動態(tài)環(huán)境。
(二)AI智能體的核心組件
AI智能體由以下幾個核心組件構(gòu)成:
- 感知(傳感器):這些組件使智能體能夠感知其環(huán)境。它們可以是物理傳感器(如攝像頭、麥克風(fēng))或數(shù)字輸入(如數(shù)據(jù)流、用戶互動)。
- 推理(處理器):這是智能體的“大腦”,它處理來自傳感器的信息,并決定采取適當(dāng)?shù)男袆印_@一部分實現(xiàn)了智能體的決策算法,并維護(hù)任何必要的內(nèi)部狀態(tài)。AI智能體使用各種決策機制,如基于規(guī)則的系統(tǒng)、專家系統(tǒng)和神經(jīng)網(wǎng)絡(luò),以做出明智的選擇并有效執(zhí)行任務(wù)。
- 行動(執(zhí)行器):這是智能體影響環(huán)境或采取行動的手段。它們可以是物理的(如機械臂、揚聲器)或數(shù)字的(如數(shù)據(jù)庫更新、顯示輸出)。
- 知識庫:這是智能體用來做決策的信息存儲庫,包括預(yù)編程的知識和學(xué)習(xí)到的信息。
- 學(xué)習(xí):使智能體能夠通過從數(shù)據(jù)和經(jīng)歷中學(xué)習(xí)來隨著時間的推移提高其性能。它使用諸如強化學(xué)習(xí)、監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)等技術(shù)來提高AI智能體的性能。
- 通信接口:允許智能體與其他智能體、系統(tǒng)或人類進(jìn)行交互。
三、AI智能體如何與環(huán)境互動?
AI智能體與環(huán)境的互動通常被稱為“感知-規(guī)劃-行動”循環(huán)或“感知-行動”循環(huán)。我們可以用自動駕駛汽車來舉例說明每個階段:
(一)感知階段
這是智能體的“感知”階段:
傳感器 → 處理 → 狀態(tài)更新
智能體通過其傳感器接收輸入,處理并解釋信息,然后根據(jù)新信息更新當(dāng)前狀態(tài)。
(二)決策階段
這是智能體的“思考”階段:
當(dāng)前狀態(tài) + 目標(biāo) → 評估選項 → 選擇最佳行動
智能體評估可能的行動,考慮目標(biāo)和約束條件,然后根據(jù)可用信息選擇最佳行動。
(三)行動階段
這是智能體的“執(zhí)行”階段:
執(zhí)行行動 → 觀察變化 → 開始新循環(huán)
選定的行動通過執(zhí)行器執(zhí)行,環(huán)境隨之發(fā)生變化,智能體通過傳感器觀察結(jié)果,然后開始一個新的循環(huán)。
這個循環(huán)會不斷重復(fù),通常每秒多次。這個循環(huán)強大的地方在于:
- 適應(yīng)性:如果發(fā)生了意外情況,智能體可以在下一個感知階段檢測到,并相應(yīng)地調(diào)整其行動。
- 學(xué)習(xí)機會:智能體可以將預(yù)測結(jié)果與實際結(jié)果進(jìn)行比較,以改進(jìn)未來的決策。
- 目標(biāo)導(dǎo)向行為:每個循環(huán)都會使智能體更接近其目標(biāo),同時尊重約束條件。
為了更直觀地理解這個循環(huán),我們可以用一個智能恒溫器來類比:
1)簡單程序
if temperature > desired_temperature:
turn_on_cooling()
這種程序只是簡單地遵循固定規(guī)則,不考慮后果,也沒有學(xué)習(xí)或適應(yīng)能力。
2)響應(yīng)式程序
if temperature > desired_temperature:
if time_of_day == "peak_hours":
turn_on_cooling_eco_mode()
else:
turn_on_cooling_normal()
這種程序的規(guī)則更復(fù)雜,有一定的上下文感知能力,但仍然沒有真正的智能。
3)AI智能體
class SmartThermostat:
def perceive(self):
current_temp = get_temperature()
time = get_time()
electricity_price = get_current_price()
weather_forecast = get_forecast()
user_preferences = get_preferences()
return Environment(current_temp, time, electricity_price,
weather_forecast, user_preferences)
def think(self, environment):
possible_actions = [
NoAction(),
CoolNormal(),
CoolEco(),
PreCool(),
WaitForOffPeak()
]
# Evaluate each action's expected outcome
best_action = None
best_utility = float('-inf')
for action in possible_actions:
predicted_state = predict_future_state(environment, action)
utility = calculate_utility(predicted_state)
if utility > best_utility:
best_action = action
best_utility = utility
return best_action
def act(self, action):
action.execute()
monitor_results()
update_learning_model()
這種智能體考慮了多個因素,預(yù)測結(jié)果,從經(jīng)驗中學(xué)習(xí),優(yōu)化長期目標(biāo),并平衡競爭目標(biāo)。
機遇一旦錯過就再也回不來了青春勵志自我實現(xiàn)激勵文學(xué)
四、AI智能體的工作原理
假設(shè)你的智能冰箱不僅僅能在你用完牛奶時自動重新訂購,還會根據(jù)你的瀏覽習(xí)慣建議你改用杏仁奶。聽起來是不是既貼心又有點讓人毛骨悚然?這就是AI智能體的精髓所在。
AI智能體能夠理解人類語言(多虧了LLM),通過推理信息、規(guī)劃行動并執(zhí)行任務(wù),而無需持續(xù)的人類輸入。它們能夠解決復(fù)雜的問題,比簡單的自動化工具先進(jìn)得多。與基本腳本不同,AI智能體被集成到軟件系統(tǒng)中,能夠與環(huán)境進(jìn)行復(fù)雜的互動。
那么,AI智能體與簡單自動化有什么不同呢?主要有兩個關(guān)鍵能力:
- 工具使用:就像人類在解決數(shù)學(xué)問題時可以使用計算器一樣,AI智能體也可以通過工具與外部世界互動。這些工具可以是計算器、API、網(wǎng)絡(luò)搜索、外部數(shù)據(jù)庫等。
- 規(guī)劃能力:以數(shù)學(xué)計算為例,只有當(dāng)你知道乘法運算或者知道如何將參數(shù)傳遞給計算器時,你才能解決問題。這就是規(guī)劃和推理的作用。
當(dāng)向AI智能體發(fā)出查詢時,會發(fā)生以下流程:
(一)編排層(控制中心)
假設(shè)我想創(chuàng)建一個AI智能體會議調(diào)度器,我向調(diào)度器發(fā)出查詢:“我想為我的學(xué)生們舉辦一個網(wǎng)絡(luò)研討會?!?/p>
這將被視為AI智能體的觸發(fā)信號。查詢可以是文本、音頻、視頻或圖像等形式(你已經(jīng)知道,無論數(shù)據(jù)類型如何,都會被轉(zhuǎn)換為機器能夠理解的數(shù)值)。
編排層,也就是AI智能體的控制中心,會處理這個查詢。編排層有四項主要工作:
- 記憶:維護(hù)整個交互過程的記憶。
- 狀態(tài):存儲整個過程的當(dāng)前狀態(tài)。
- 推理:引導(dǎo)智能體的推理過程。
- 規(guī)劃:確定步驟以及下一步該做什么。
編排層會與模型(LLM)進(jìn)行交互。
(二)模型(大腦)
模型是整個智能體的集中決策者,通常是一個AI模型,比如大語言模型。為了理解查詢、制定計劃并確定下一步行動,模型會使用諸如ReAct(推理+行動)、思維鏈(通過中間步驟進(jìn)行推理)和思維樹(探索多條路徑以找到最佳解決方案)等推理和邏輯框架。
模型確定要采取什么行動后,就會通過特定的工具來執(zhí)行這些行動。
(三)工具(雙手)
工具使智能體能夠與外部世界互動。通過工具,智能體可以執(zhí)行超出模型能力范圍的操作,獲取實時信息或完成現(xiàn)實世界中的任務(wù)。
五、何時使用智能體?何時避免使用?
智能體在需要LLM來確定應(yīng)用程序的工作流程時非常有用,但很多時候它們可能被過度使用。關(guān)鍵問題是:我真的需要在工作流程中增加靈活性,以高效地解決問題嗎?如果預(yù)先設(shè)定的工作流程經(jīng)常無法滿足需求,那就意味著你需要更多的靈活性。
舉個例子,假設(shè)你正在開發(fā)一個處理沖浪旅行網(wǎng)站客戶請求的應(yīng)用程序。你可以提前知道請求將屬于兩個類別(基于用戶選擇),并且為這兩種情況分別設(shè)定了預(yù)定義的工作流程。
如果用戶只是想了解旅行的相關(guān)信息,你可以讓他們通過搜索欄搜索知識庫;如果他們想與銷售團(tuán)隊溝通,你可以讓他們填寫聯(lián)系表單。
如果這種確定性的工作流程能夠滿足所有查詢,那么直接編寫代碼即可。這將給你一個100%可靠且不會因不可預(yù)測的LLM介入而引入錯誤的系統(tǒng)。為了簡單和穩(wěn)健,建議盡量避免使用任何智能體行為。
但如果工作流程無法提前很好地確定呢?例如,用戶提出這樣的請求:“我可以在周一來,但我忘了帶護(hù)照,可能會推遲到周三。那么,是否可以在周二早上帶我和我的行李去沖浪,并提供取消保險呢?”這個問題涉及許多因素,而上述預(yù)定義的標(biāo)準(zhǔn)可能都無法滿足這個請求。
如果預(yù)先設(shè)定的工作流程經(jīng)常無法滿足需求,那就意味著你需要更多的靈活性。這就是智能體設(shè)置發(fā)揮作用的地方。
在上述例子中,你可以創(chuàng)建一個多步智能體,它能夠訪問天氣API以獲取天氣預(yù)報、谷歌地圖API以計算旅行距離、員工可用性儀表板以及知識庫上的RAG系統(tǒng)。
直到最近,計算機程序還被限制在預(yù)先設(shè)定的工作流程中,通過堆疊if/else語句來處理復(fù)雜性。它們專注于極其狹窄的任務(wù),比如“計算這些數(shù)字的總和”或“在這個圖中找到最短路徑”。然而,實際上,大多數(shù)現(xiàn)實生活中的任務(wù),比如我們剛剛提到的旅行例子,并不適合預(yù)先設(shè)定的工作流程。智能體系統(tǒng)為程序打開了處理現(xiàn)實世界任務(wù)的廣闊天地。
六、AI智能體的應(yīng)用領(lǐng)域
AI智能體是一種多功能的工具,能夠在廣泛的領(lǐng)域中提高生產(chǎn)力、效率和智能水平。它們正越來越多地被應(yīng)用于日常應(yīng)用和具有重大影響的高級領(lǐng)域。
七、總結(jié)
AI智能體正在改變我們與技術(shù)互動的方式,提供了前所未有的自主性、智能和適應(yīng)性。從簡單的反射智能體到復(fù)雜的智能系統(tǒng),它們正在被應(yīng)用于各個行業(yè),以解決復(fù)雜的問題并增強人類的能力。然而,構(gòu)建有效的AI智能體也面臨著挑戰(zhàn),包括倫理問題、數(shù)據(jù)依賴和可擴展性問題。
隨著AI技術(shù)的不斷發(fā)展,AI智能體的未來充滿了巨大的潛力。通過關(guān)注通用人工智能、人機協(xié)作和倫理考量,我們可以創(chuàng)造出不僅能夠高效執(zhí)行任務(wù),還能與人類價值觀一致并為社會做出積極貢獻(xiàn)的智能體。
AI智能體是能夠感知、決策并采取行動以實現(xiàn)目標(biāo)的自主系統(tǒng)。其核心組成部分包括傳感器、執(zhí)行器、決策引擎和學(xué)習(xí)模塊。AI智能體被應(yīng)用于虛擬助手、自動駕駛汽車和醫(yī)療保健等領(lǐng)域。通過了解其基本原理并關(guān)注最新進(jìn)展,我們可以利用AI智能體的力量推動創(chuàng)新,創(chuàng)造更美好的未來。
本文轉(zhuǎn)載自公眾號Halo咯咯 作者:基咯咯
