隨著大型語言模型(LLMs)的誕生,人工智能(AI)取得了巨大的飛躍。這些強大的系統徹底改變了自然語言處理的格局,但它們真正的潛力是在與自主性相結合時被釋放出來的——這種自主性包括推理、規劃和自主行動的能力。
從大型語言模型到AI智能體
大型語言模型是AI領域的一個重要里程碑。它們通過海量數據的訓練,能夠生成流暢、連貫的文本,為各種自然語言處理任務提供了強大的基礎。然而,這些模型本質上是被動的,它們只能根據輸入的提示生成文本,而無法主動地去執行任務或與外部環境互動。
AI智能體的出現改變了這一局面。它們不僅僅是語言模型的升級版,更是賦予了AI自主性和主動性。AI智能體能夠理解任務目標,通過推理和規劃來制定行動方案,并且能夠與外部工具或系統進行交互,以完成復雜的任務。這種從被動到主動的轉變,使得AI的應用范圍得到了極大的拓展。
AI智能體的組成 特征
自主性:AI智能體能夠獨立地感知環境、做出決策并執行行動,而無需人類的持續干預。
適應性:它們可以根據不同的任務和環境條件調整自己的行為,展現出高度的靈活性。
交互性:AI智能體能夠與人類用戶、其他智能體或外部系統進行有效溝通和協作。
感知模塊:用于收集和處理來自外部環境的信息,例如通過自然語言理解技術來解析用戶輸入。
推理引擎:負責基于收集到的信息進行邏輯推理和決策制定。
規劃模塊:根據任務目標制定行動步驟和策略。
執行模塊:將規劃好的行動付諸實施,與外部工具或系統進行交互以完成任務。
聊天機器人并不是什么新鮮事物。在生成式人工智能(Gen AI)概念出現之前,你可能就已經在網站上與聊天機器人互動過。然而,傳統聊天機器人與今天的AI驅動的對話代理之間存在著根本性的差異。以下是它們的典型工作方式:
基于啟發式的響應
傳統聊天機器人依賴于基于規則的邏輯(“如果-那么”語句)。它們只能在預設的規則范圍內運行,無法處理復雜或模糊的查詢。這種模式的局限性在于,一旦遇到超出預設規則的問題,聊天機器人就無法給出有效的回答。
固定化的回答
傳統聊天機器人的回答是靜態且預先定義好的。它們通過檢測特定的關鍵詞或短語來觸發預設的回答。這種模式缺乏靈活性和對話深度,無法根據上下文進行動態調整。
人工接管
在傳統聊天機器人中,總會有一個“轉接人工客服”的按鈕,用于處理無法解決的查詢。對于復雜問題,人工干預仍然是必不可少的。這種模式雖然可以解決一些簡單問題,但在面對復雜或需要深度理解的場景時,其局限性顯而易見。
LLM機器人
隨著大型語言模型(LLM)的出現,聊天機器人迎來了質的飛躍。LLM驅動的聊天機器人不再依賴于固定的規則和預設的回答,而是能夠通過自然語言理解(NLU)和自然語言生成(NLG)技術,動態地生成回答。這種模式的優勢在于:
更強大的語言理解能力
LLM能夠理解復雜的語言結構和語義,甚至能夠處理模糊或開放性的問題。它們可以通過上下文理解用戶的意圖,從而提供更準確、更自然的回答。
動態生成回答
與傳統聊天機器人的固定回答不同,LLM驅動的聊天機器人可以根據用戶的輸入動態生成回答。這種模式不僅提高了回答的靈活性,還能夠根據不同的場景和用戶需求提供個性化的服務。
減少人工干預
雖然LLM驅動的聊天機器人仍然可能需要人工介入來處理某些復雜問題,但它們已經能夠獨立處理大部分常見問題。這大大減輕了人工客服的負擔,同時也提高了用戶體驗。
AI智能體
AI智能體的概念基于理性行為的基本理念:智能體應該采取能夠最大化實現其指定目標成功的行動。這種理性正是AI智能體與簡單響應程序的根本區別。
AI智能體能夠在沒有人類干預的情況下獨立運行,并自主做出決策。
AI智能體能夠對環境的變化做出反應,并采取主動措施以實現目標。
通過處理新信息和經驗,AI智能體能夠學習和進化。
AI智能體的核心組件
感知(傳感器)
這些組件使智能體能夠感知其環境。它們可以是物理傳感器(如攝像頭、麥克風)或數字輸入(如數據流、用戶交互)。
推理(處理器)
這是智能體的“大腦”,負責處理來自傳感器的信息并確定適當的行動。這一組件實現了智能體的決策算法,并維護任何必要的內部狀態。AI智能體使用各種決策機制,如基于規則的系統、專家系統和神經網絡,以做出明智的選擇并有效執行任務。
行動(執行器)
這是智能體影響環境或采取行動的手段。它們可以是物理的(如機械臂、揚聲器)或數字的(如數據庫更新、顯示輸出)。
AI智能體如何與環境互動
AI智能體與環境的互動通常被稱為“感知-規劃-行動”循環或“感知-行動”循環。我們以自動駕駛汽車為例來理解每個階段:
感知階段
智能體通過其傳感器接收輸入。
信息被處理和解釋。
根據新信息更新當前狀態。
決策階段
智能體評估可能的行動。
考慮目標和約束條件。
根據可用信息選擇最優行動。
行動階段
通過執行器執行選定的行動。
環境因行動而發生變化。
智能體通過傳感器觀察結果,開始新的循環。
AI智能體與簡單自動化工具的區別主要在于兩個關鍵能力:工具使用和規劃。
交響層(控制中心)
假設我想創建一個AI智能體日程安排器,我向它發出指令:“我想為我的學生舉辦一場網絡研討會”。這將被視作觸發AI智能體的信號。
交響層(也稱為控制中心)負責處理查詢,無論查詢是文本、音頻、視頻還是圖像,最終都會被轉換為機器可處理的數值。
交響層的四大主要功能如下:
記憶:保存整個交互過程的記憶。
狀態:存儲當前流程的狀態。
推理:指導智能體的推理過程。
規劃:確定步驟以及下一步行動。
模型是整個智能體的集中決策者,通常是像大型語言模型這樣的AI模型。
為了理解查詢、制定計劃并確定下一步行動,模型會使用推理和邏輯框架,例如:
ReAct(推理+行動):確保深思熟慮且有條不紊的行動。
思維鏈:通過中間步驟進行推理。
思維樹:探索多條路徑以找到最佳解決方案。
以一個沖浪旅行網站為例,假設你可以提前知道用戶請求將屬于兩個類別之一(基于用戶選擇),并且你為這兩種情況分別設定了預定義的工作流程:
用戶想了解旅行信息?? 給他們提供一個搜索欄,讓他們搜索知識庫。
用戶想聯系銷售?? 讓他們填寫聯系表單。
直到最近,計算機程序還被限制在預定義的工作流程中,通過堆疊if/else語句來處理復雜性。它們專注于極其狹窄的任務,比如“計算這些數字的總和”或“在這個圖中找到最短路徑”。
如何構建AI智能體?
智能體是一個能夠感知環境、做出決策并采取行動以實現特定目標的自主實體。智能體的復雜程度可以從簡單的反應式智能體(僅對刺激做出響應)到更高級的智能體(能夠學習并隨時間適應)。常見的智能體類型包括:
反應式智能體:直接對環境變化做出響應,沒有內部記憶。
基于模型的智能體:使用內部模型來做出決策。
基于目標的智能體:根據特定目標規劃行動。
基于效用的智能體:通過效用函數評估潛在行動,以最大化結果。
從零開始構建智能體并非易事。像LangGraph、CrewAI和OpenAI Swarm這樣的框架簡化了開發過程,使開發人員能夠專注于應用邏輯,而不是重新發明狀態管理、編排和工具集成的輪子。智能體框架的核心優勢包括:
簡單定義智能體和工具:提供清晰的接口和模板,方便開發人員快速上手。
編排機制:管理多個智能體之間的協作和任務分配。
狀態管理:確保所有智能體在任務執行過程中保持一致的狀態。
支持復雜應用的附加工具:例如持久層(記憶)、中斷處理等。
智能體框架代表了人工智能系統設計的范式轉變。與依賴靜態、預定義工作流的傳統AI應用不同,智能體框架引入了動態、自適應的系統,能夠自主地感知、推理和行動。這些框架將復雜任務分解為更小的子任務,由專門的智能體協作完成更廣泛的目標。
常見的智能體框架
LangChain
LangChain是一個強大且靈活的框架,簡化了基于大型語言模型(LLMs)的應用開發。它提供了豐富的工具和抽象層,使開發人員能夠設計具備復雜推理、任務執行和與外部數據源及API交互能力的AI智能體。LangChain通過其模塊化架構,解決了與LLMs協作時的諸多挑戰,例如在長對話中保持上下文、整合外部信息以及協調多步驟任務等。
LangGraph
LangGraph是LangChain的擴展,專門用于創建基于圖的單智能體或多智能體AI應用。它非常適合構建涉及規劃、反思和多智能體協作的復雜交互式AI系統。LangGraph作為底層框架,允許開發人員控制智能體之間的交互、使用的工具以及應用內的信息流動。
CrewAI
CrewAI是一個用于編排角色扮演AI智能體的框架。它允許開發人員創建一個“團隊”,每個AI智能體都有特定的角色和職責,共同完成復雜的任務。CrewAI特別適合構建需要多樣化專業知識和協調努力的協作AI系統。
Microsoft Semantic Kernel
Microsoft Semantic Kernel旨在彌合傳統軟件開發與AI能力之間的差距。它特別關注將大型語言模型(LLMs)集成到現有應用中。該框架為開發人員提供了在不完全推翻現有代碼庫的情況下,整合AI功能的工具。其輕量級的SDK和對多種編程語言的支持,使其能夠適應各種開發環境。
Microsoft AutoGen
Microsoft AutoGen是一個開源框架,用于構建高級AI智能體和多智能體系統。由微軟研究院開發,AutoGen提供了一個靈活且強大的工具包,用于創建對話式和任務完成型AI應用。它強調模塊化、可擴展性和易用性,使開發人員能夠高效地構建復雜的AI系統。
Smolagents
Smolagents是一個前沿的開源框架,旨在徹底改變AI智能體的開發方式。它為開發人員提供了一個全面的工具包,用于構建智能的、協作的多智能體系統。Smolagents專注于靈活性和模塊化,能夠創建獨立運行或在人類監督下協作的復雜AI系統。
AutoGPT
AutoGPT基于強大的GPT-4語言模型,能夠通過語言輸入執行目標導向的任務。它代表了自主AI智能體領域的重大進步,將決策提升到了新的水平。
Agno (Phidata)
Agno(原名Phidata)是一個多模態智能體框架,能夠開發協作式智能體系統。它支持文本、圖像和音頻等多種模態數據,無需依賴外部工具即可獨立運行。此外,Agno還提供了Agentic UI,方便用戶與智能體進行可視化交互。
深入探索LangGraph
LangGraph是由LangChain團隊開發的一個庫,旨在幫助開發人員創建基于圖的單智能體或多智能體AI應用。作為一個底層框架,LangGraph允許開發人員控制智能體之間的交互、使用的工具以及應用內的信息流動。
LangGraph的核心是基于圖的應用工作流表示。圖包含兩個主要元素:
節點:每個節點代表應用中的一個獨立工作單元或操作。這些節點可以是與LLM直接交互以生成文本、調用外部工具和API、處理數據或與用戶交互的Python函數。
邊:邊是圖中的連接線,用于指導信息流動和控制流。LangGraph支持多種邊類型,包括簡單邊(直接從一個節點流向另一個節點)和條件邊(根據特定節點的操作結果決定工作流的分支)。
簡單反射智能體(Simple Reflex Agent)
定義:簡單反射智能體僅在特定動作或條件發生時才執行任務。它們根據預定義的規則做出響應,不考慮過去的經歷。
特點:
優點:設計簡單,響應迅速,適合簡單任務。
缺點:缺乏適應性和學習能力,無法處理復雜環境。
定義:基于模型的反射智能體通過內部模型來處理部分可觀測的環境。它們根據當前感知和內部狀態做出決策,并根據環境變化更新內部狀態。
特點:
優點:能夠處理部分可觀測的環境,決策更加靈活。
缺點:模型構建和維護成本高,可能無法完全反映真實環境。
定義:基于目標的智能體通過環境信息來實現特定目標。它們使用搜索算法和啟發式方法來找到實現目標的最優路徑。
特點:
優點:適合需要戰略規劃和適應性的復雜任務。
缺點:目標定義需要大量領域知識,適應性有限。
定義:基于效用的智能體通過效用函數評估多個可能行動的結果,選擇效用最高的行動。它們特別適合復雜和不確定的環境。
特點:
優點:能夠處理不確定性,靈活適應環境變化。
缺點:計算成本高,依賴于準確的環境模型。
定義:學習智能體通過經驗學習并隨著時間推移改進性能。它們通常使用強化學習框架來優化行動選擇。
特點:
優點:能夠適應動態環境,持續改進。
缺點:需要大量數據和計算資源,可能產生偏見。
定義:層級智能體通過多層結構管理任務,高層智能體監督低層智能體。這種結構適合復雜任務的分解和協調。
特點:
優點:適合大規模任務管理,提高效率。
缺點:結構復雜,適應性有限。
定義:多智能體系統由多個智能體組成,這些智能體通過協作或競爭來實現共同目標或優化個體結果。
特點:
去中心化:決策分散在多個智能體之間。
協作與競爭:智能體可以協作或競爭,具體取決于場景。
可擴展性:能夠處理大規模問題。
專業化:每個智能體專注于特定任務。
理解智能體(Agent)與工作流(Workflow)之間的區別變得至關重要。這兩者構成了現代智能體系統的核心自動化范式。
智能體與工作流的區別
工作流(Workflows)
工作流是結構化的、基于規則的自動化流程,其結果是預先定義好的。它們通常用于處理靜態的、重復性的任務,例如在電子商務系統中,用戶購買產品后自動發送訂單詳情郵件。
特點:
確定性:工作流遵循線性、可預測的執行路徑。
適用場景:適合結構化任務,如自動化電子郵件發送、數據處理等。
智能體(Agents)
智能體是動態的、決策系統,能夠根據上下文適應不同的場景。它們通過感知環境并做出決策來完成任務,而不是遵循預定義的路徑。
特點:
適應性:智能體能夠實時選擇使用哪些工具以及生成什么輸出。
適用場景:適合需要靈活性和動態決策的任務,如客戶支持、復雜問題解決等。
在開發基于大型語言模型(LLM)的應用程序時,建議從最簡單的解決方案開始,只有在必要時才引入復雜性。工作流提供了結構化任務的可預測性和一致性,而智能體則更適合需要靈活性和大規模模型驅動決策的場景。
何時使用智能體:
復雜任務:任務需要多步驟推理和動態適應。
靈活性:任務的執行路徑無法預先定義,需要實時決策。
何時使用工作流:
結構化任務:任務可以分解為固定的子任務。
效率:需要快速、一致的執行路徑。
提示鏈(Prompt Chaining)
提示鏈將任務分解為一系列步驟,每個LLM調用處理前一個調用的輸出。這種模式適用于可以輕松分解為固定子任務的場景。
并行化(Parallelization)
并行化允許LLM同時處理任務,并將輸出聚合。這種模式適用于需要快速處理或需要多種視角的任務。
路由(Routing)
路由將輸入分類并將其導向后續任務。這種模式適用于需要將復雜任務分解為不同類別的場景。
協調器-工作者(Orchestrator-Worker)
在協調器-工作者工作流中,中央LLM動態分解任務,將它們委托給工作者LLM,并綜合它們的結果。
協調器-工作者(Evaluator-Optimizer)
在協調器-工作者工作流中,中央LLM動態分解任務,將它們委托給工作者LLM,并綜合它們的結果。
Model Context Protocol(MCP)
LLM(大語言模型)、工具和上下文是構建智能代理系統的三大核心要素。然而隨著越來越多的模型、應用和庫的發布,將這些組件粘合在一起變得越來越復雜。本文將介紹Model Context Protocol(MCP)如何通過提供標準化方式來解決這個問題。
什么是MCP?
MCP被Anthropic稱為"AI應用的USB-C接口"。它不像每個AI應用開發者那樣創建自己的自定義連接方式,而是提供了一個所有人都可以使用的標準[1]。
這種標準化帶來了社區驅動開發的力量。現在,不同團隊開發的應用和工具可以通過標準流程輕松互通。
MCP的應用場景
為Cursor等AI工具添加自定義集成(如Slack和Google Drive)
輕松將個人工具和上下文連接到多個AI應用(如Claude、Cursor或n8n工作流)
應用開發者可以利用社區構建的MCP服務器生態,零成本擴展產品能力!
MCP采用客戶端-服務器架構。MCP客戶端向MCP服務器發送請求,服務器則響應并提供工具、資源和提示的訪問權限。
就像咖啡店有固定的點單流程一樣,MCP也定義了AI應用訪問工具和上下文的標準協議:
連接- 客戶端初始化連接,服務器響應,客戶端發送初始化確認通知
交換- 以JSON格式交換請求、響應和通知
終止- 三種終止方式:客戶端關閉、傳輸斷開或發生錯誤
MCP客戶端內置于AI應用中,如Claude、Cursor、n8n工作流或使用OpenAI Agents SDK構建的自定義代理。
它們代表應用向MCP服務器發送請求,主要職責包括:
發現服務器能力
接收服務器數據
管理LLM工具執行
使用現有AI應用(如Claude、Cursor)時,無需構建MCP客戶端,但可能需要構建自定義MCP服務器。
MCP服務器
MCP服務器是為AI應用提供服務的獨立服務,監聽客戶端請求并根據自身能力響應[2]。
服務器為AI應用提供三大核心功能:
提示(Prompts)- 提示模板
資源(Resources)- 數據、文件系統、數據庫
工具(Tools)- 函數、API、圖像處理
服務器可以本地或遠程運行,支持兩種傳輸機制:
stdio(本地)- 服務器作為子進程運行,通過標準IO流與客戶端通信
HTTP with Server-Sent Events(SSE)(遠程)- 客戶端到服務器使用HTTP POST請求,服務器到客戶端使用SSE流。
編輯推薦
本書共12章,圍繞大語言模型基礎理論、預訓練、指令理解、模型增強和模型應用五個部分展開。
本書全面解析了大語言模型的發展歷程、理論基礎與實踐方法,對大語言模型預訓練、指令微調、強化學習、多模態、智能體、RAG等前沿領域的研究進展有較好的覆蓋。
此外,本書深入探討了大語言模型的實際應用場景與評價方法,為研究者提供了系統的理論指導與實踐經驗。相信本書對從事相關研究的學者和大語言模型開發者具有重要的參考價值。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.