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