logo
Loading...

有系統的整理AI Agent教學架構(可擴充) - AI Agent 開發特訓營:短期實現智能自動化 - Cupoy

探索 AI 代理人:設計與應用 系列文章 介紹(本篇) 從零開始建立 AI 代理人 AI 代理人框架 AI 代理人的類型 代理式設計模式 架構設計 多代理人系統 記憶與長期規劃 代理...

探索 AI 代理人:設計與應用 系列文章 介紹(本篇) 從零開始建立 AI 代理人 AI 代理人框架 AI 代理人的類型 代理式設計模式 架構設計 多代理人系統 記憶與長期規劃 代理式 RAG 如何打造高效 AI 代理人 AI 代理人評估方法 目錄 1. 從 LLM 到 AI 代理人 1.1 傳統聊天機器人到 LLM 驅動的聊天機器人 1.2 LLM 聊天機器人的發展 1.3 從 LLM 聊天機器人到 RAG 代理人與 AI 代理人 2. 什麼是 AI 代理人? 2.1 AI 代理人的特徵 3. AI 代理人的核心組件 3.1 感知(感測器) 3.2 推理(處理器) 3.3 行動(執行器) 3.4 知識庫 3.5 學習能力 3.6 交互介面 4. AI 代理人如何與環境互動 4.1 感知階段 4.2 決策階段 4.3 行動階段 5. AI 代理人如何運作? 5.1 編排層(控制中心) 5.2 模型(大腦) 5.3 工具(執行手段) 6. ✅ 什麼情況適合使用 AI 代理人? / ⛔ 什麼情況應該避免? 7. AI 代理人的應用領域 8. 結論 LLM 與 AI 代理人的新時代 隨著大型語言模型(LLM)的發展,AI 技術取得了重大突破。這些強大的系統已經革新了自然語言處理,但當 LLM 與「代理性」(Agency)結合時,它們的真正潛力才得以釋放——能夠自主推理、規劃與行動。這正是 LLM 代理人(LLM Agents)的核心概念,也標誌著我們與 AI 互動方式的重大變革。Ref: letta 本篇文將全面介紹 AI 代理人,深入探討其特性、核心組件與類型,同時解析其發展歷程、挑戰及未來可能的發展方向。 從 LLM 到 AI 代理人 LLM 應用的演變速度驚人,其形態轉變是現代應用發展最快的領域之一。讓我們先來了解這個轉變的過程。mongodbmongodb 1.1 從傳統聊天機器人到 LLM 驅動的聊天機器人 聊天機器人並不新鮮,你可能在某些網站上與聊天機器人互動過,這在生成式 AI(Gen AI)這個術語出現之前就已經存在。傳統聊天機器人和現今 AI 驅動的對話代理人有著本質的不同。以下是它們的運作方式: 基於啟發式的回應 傳統聊天機器人依賴基於規則的邏輯(“如果-那麼”語句)。 只能處理預定義的規則,無法應對複雜或模糊的問題。 固定回應 回應是靜態且預定義的。 通常是透過檢測特定的關鍵詞或短語來觸發。 缺乏靈活性和對話深度。 人工轉接 會始終提供「轉接給人工」的選項來處理無法解決的問題。 複雜問題需要人工干預才能解決。1.2 LLM 驅動的聊天機器人介紹 ChatGPT 上線: 2022 年 11 月 30 日,OpenAI 推出了 ChatGPT,這是第一個主流的 LLM 應用,基於 GPT-3.5 技術。ChatGPT 保留了熟悉的聊天機器人界面,但背後運行的是強大的 LLM 技術,並且訓練自龐大的網路語料庫。 Transformer 架構: GPT(生成式預訓練變換器)基於 2017 年 Google 推出的 Transformer 架構,使用自注意力機制來分析輸入序列,能夠更深層次地理解上下文。 LLM 的能力: 與傳統聊天機器人不同,LLM 可以生成更具人類風格、情境相關且具有創新性的文本。其應用包括代碼生成、內容創作、增強的客戶服務等。 限制: 個性化:難以在長時間對話中維持一致且個性化的互動。 幻覺:可能生成事實上不正確但結構合理的回應,基於概率生成輸出,而非經過驗證的知識。 解決限制的方法: 像檢索增強生成(RAG)這樣的技術正在被探索,用以將輸出與可靠的外部數據進行對接。 這些進步旨在減少不準確性並提高 LLM 系統的穩定性。 1.3 從 LLM 驅動的聊天機器人到 RAG 聊天機器人與 AI 代理人 RAG 聊天機器人: 檢索增強生成(RAG)結合了外部數據檢索與 LLM 的能力,能生成準確且基於情境的回應。 知識來源: 非參數知識:來自外部來源(如互聯網或專有數據庫)的實時數據。 參數知識:LLM 訓練過程中內嵌的知識。 優勢: 減少幻覺現象,提供最新的信息,確保可驗證的回應。 提示工程: 例如上下文學習(一-shot、few-shot)、思維鏈(CoT)與 ReAct 等技術,通過引導 LLM 的推理與輸出生成來提高回應質量。AI 代理人 AI 代理人是從 LLM 演變而來,結合了工具使用、多步驟規劃和推理能力。 工具使用: LLM 能夠通過分析任務並通過結構化的模式(如 JSON)分配參數來調用程序定義的函數或 API。 環境: AI 代理人在迭代執行環境中運行,能夠根據反饋進行動態決策和持續調整。 代理式系統: 這些是具備自主決策能力的計算架構,能夠整合多個系統組件,做出決策並達成目標。 代理式 RAG: 將 LLM 的推理、工具使用和規劃能力與語義信息檢索相結合。 使系統能夠動態地分解任務、執行複雜查詢,並利用工具進行問題解決。從 LLM 驅動的聊天機器人到 RAG 聊天機器人和 AI 代理人的過渡,標誌著向更智能、適應性強、並能結合工具的系統轉變,這些系統能夠即時解決複雜的問題。 2. 什麼是 AI 代理人? AI 代理人是一種能夠通過感測器感知環境、處理信息並通過執行器對環境進行操作以達成特定目標的系統。可以把它當作一個數位實體,能觀察、思考並行動——就像人類與周圍環境互動一樣,但這是以編程的、有目的的方式進行的。 AI 代理人的概念建立在理性行為的基本理念之上:代理人應該採取最大化成功機會的行動來實現其既定目標。正是這種理性行為,使得 AI 代理人與簡單的回應式程序有所區別。 2.1 AI 代理人的特徵 AI 代理人具備幾個關鍵特徵: 自主性:無需人工干預,能獨立做出決策。 反應性與積極性行為:對環境變化作出反應,並採取積極措施以達成目標。 適應性:透過處理新資訊與經驗進行學習和演化。 目標導向:朝著預定目標或最佳化結果努力。 互動性:與其他代理人或人類進行溝通與協作。 持續性:持續運行,監控並回應動態環境。 3. AI 代理人的核心組件 AI 代理人本質上由以下組件構成: 感知 推理 行動 知識庫 學習 溝通介面 3.1 感知(感測器) 這些讓代理人能夠感知其環境。感知可以是物理感測器(如攝像頭、麥克風)或數位輸入(如數據流、用戶互動)。 3.2 推理(處理器) 代理人的“大腦”,負責處理來自感測器的信息並決定適當的行動。這個組件實現了代理人的決策算法,並保持必要的內部狀態。 AI 代理人使用各種決策機制,如基於規則的系統、專家系統和神經網絡,來做出明智的選擇並有效執行任務。 3.3 行動(執行器) 代理人通過執行行動來影響其環境,或簡單地使代理人能夠採取行動。這些行動可以是物理性的(如機器人手臂、揚聲器)或數位的(如數據庫更新、顯示輸出)。 3.4 知識庫 代理人用來做出決策的資訊庫,包含預設的知識和學習過的資訊。 3.5 學習 使代理人能夠通過數據和經驗不斷改善其性能。它使用如強化學習、監督學習和無監督學習等技術,隨著時間的推移提高 AI 代理人的表現。 3.6 溝通介面 允許代理人與其他代理人、系統或人類進行互動。 4. AI 代理人如何與環境互動 互動週期通常稱為「感知-規劃-行動」週期或「感知-行動」週期。讓我們以自駕車為例來理解每個階段: 感知-規劃-行動週期:以自駕車為例的智能系統互動模式 互動週期通常稱為「感知-規劃-行動」週期或「感知-行動」週期。讓我們以自駕車為例來理解每個階段: 什麼是感知-規劃-行動週期? 感知-規劃-行動(Perception-Planning-Action)週期是智能系統的核心運作模式,描述了系統如何持續地觀察環境、制定決策、執行動作,然後重複這個過程。這個週期是許多 AI 系統的基礎,從機器人到自駕車,再到智能代理都採用這種模式。 自駕車中的三個核心階段 1. 感知階段(Perception) 在感知階段,自駕車收集和處理來自環境的各種信息。 感測器系統 攝影機:捕捉視覺信息,識別車道線、交通標誌、行人和其他車輛 光達(LiDAR):生成周圍環境的3D點雲地圖,精確測量距離和物體形狀 雷達:檢測移動物體的速度和距離,在惡劣天氣中表現優異 超音波感測器:用於近距離檢測,特別是停車和低速行駛 GPS 和 IMU:提供位置和運動信息 資料處理 # 感知模組示例(偽代碼) class PerceptionModule: def process_sensor_data(self): # 攝影機資料處理 camera_data = self.camera.capture() detected_objects = self.object_detection(camera_data) # 光達資料處理 lidar_data = self.lidar.scan() point_cloud = self.process_point_cloud(lidar_data) # 雷達資料處理 radar_data = self.radar.detect() moving_objects = self.track_moving_objects(radar_data) # 融合多感測器資料 fused_data = self.sensor_fusion( detected_objects, point_cloud, moving_objects ) return self.create_world_model(fused_data) 感知輸出 靜態環境地圖:道路邊界、車道線、交通標誌 動態物體追蹤:其他車輛、行人、自行車的位置和速度 環境條件:天氣、光照、路面狀況 車輛狀態:當前位置、速度、方向 2. 規劃階段(Planning) 規劃階段基於感知到的信息制定行動策略,通常分為多個層次。 路線規劃(Route Planning) 全域路徑:從起點到終點的最優路線 考慮因素:交通狀況、道路限制、預估時間 行為規劃(Behavior Planning) 高層決策:是否變道、超車、停車、轉彎 交通規則遵循:紅綠燈、停止標誌、速度限制 情境理解:識別複雜的交通情況 運動規劃(Motion Planning) 軌跡生成:計算具體的行駛路徑 速度規劃:確定每個時刻的目標速度 避障規劃:動態避開障礙物 # 規劃模組示例(偽代碼) class PlanningModule: def plan_action(self, world_model, destination): # 行為規劃 behavior_decision = self.behavior_planner.decide( world_model, self.traffic_rules, self.current_goal ) # 運動規劃 if behavior_decision == "lane_change": trajectory = self.motion_planner.plan_lane_change( world_model, target_lane ) elif behavior_decision == "follow_road": trajectory = self.motion_planner.plan_lane_following( world_model, desired_speed ) elif behavior_decision == "stop": trajectory = self.motion_planner.plan_emergency_stop( world_model ) # 軌跡最佳化 optimized_trajectory = self.optimize_trajectory( trajectory, comfort_constraints, safety_constraints ) return optimized_trajectory 規劃輸出 目標軌跡:未來幾秒內的預定路徑 速度剖面:每個時間點的目標速度 控制指令:轉向角度、加速度、煞車力度 3. 行動階段(Action) 行動階段將規劃的決策轉化為實際的車輛控制指令。 控制系統 轉向控制:調整方向盤角度,確保車輛沿著規劃軌跡行駛 速度控制:控制油門和煞車,維持目標速度 穩定性控制:確保車輛在各種路面條件下保持穩定 執行器 電動轉向系統(EPS):精確控制車輛方向 電子煞車系統(EBS):提供精確的煞車力度 電子油門控制:調節發動機輸出功率 # 控制模組示例(偽代碼) class ControlModule: def execute_trajectory(self, planned_trajectory, current_state): # 計算控制誤差 lateral_error = self.calculate_lateral_error( planned_trajectory, current_state ) speed_error = self.calculate_speed_error( planned_trajectory, current_state ) # PID 控制器計算控制指令 steering_angle = self.lateral_controller.compute(lateral_error) throttle_brake = self.longitudinal_controller.compute(speed_error) # 安全檢查 steering_angle = self.safety_check_steering(steering_angle) throttle_brake = self.safety_check_speed(throttle_brake) # 發送控制指令 self.vehicle_interface.set_steering(steering_angle) self.vehicle_interface.set_throttle_brake(throttle_brake) return { "steering": steering_angle, "throttle_brake": throttle_brake, "timestamp": self.get_current_time() } 回饋機制 感測器回饋:監控執行結果 車輛狀態監控:確認控制指令正確執行 安全監控:檢測異常情況並觸發緊急措施 週期性運作 連續循環 這三個階段不是線性執行的,而是形成一個連續的循環: graph LR A[感知 Perception] --> B[規劃 Planning] B --> C[行動 Action] C --> A A1[收集感測器資料] --> A2[物體檢測與追蹤] A2 --> A3[環境建模] B1[路線規劃] --> B2[行為決策] B2 --> B3[軌跡生成] C1[控制指令計算] --> C2[執行器控制] C2 --> C3[狀態監控] 實時性要求 高頻率更新:通常以 10-100 Hz 的頻率運行 低延遲:從感知到行動的總延遲必須在毫秒級 並行處理:多個感測器和處理單元同時工作 實際運作示例 # 完整的自駕車控制循環 class AutonomousVehicle: def __init__(self): self.perception = PerceptionModule() self.planning = PlanningModule() self.control = ControlModule() self.safety_monitor = SafetyMonitor() def autonomous_driving_loop(self): while self.is_autonomous_mode_active(): try: # 感知階段 world_model = self.perception.process_sensor_data() # 安全檢查 if self.safety_monitor.is_emergency_situation(world_model): self.emergency_stop() continue # 規劃階段 planned_trajectory = self.planning.plan_action( world_model, self.destination ) # 行動階段 control_commands = self.control.execute_trajectory( planned_trajectory, self.get_current_state() ) # 記錄和監控 self.log_cycle_data(world_model, planned_trajectory, control_commands) # 等待下一個週期 self.wait_for_next_cycle() except Exception as e: self.handle_system_error(e) self.initiate_safe_mode() 挑戰與解決方案 技術挑戰 1. 感知挑戰 惡劣天氣條件:雨、雪、霧影響感測器性能 複雜環境:城市交通、施工區域、非標準路況 感測器融合:整合不同感測器的資料並處理衝突信息 解決方案: 多模態感測器組合 機器學習模型訓練 冗餘系統設計 2. 規劃挑戰 不確定性處理:其他駕駛員的不可預測行為 複雜情境:多車道變道、環形交叉路口 計算效率:在有限時間內找到最優解 解決方案: 機率推理和預測模型 分層規劃架構 啟發式演算法和機器學習 3. 控制挑戰 車輛動力學:不同車型的物理特性 路面條件:濕滑、顛簸路面的適應 硬體延遲:感測器和執行器的時間延遲 解決方案: 自適應控制演算法 模型預測控制 硬體最佳化 失效安全設計 感測器失效:自動切換到冗餘感測器 規劃失效:採用保守的預設策略 控制失效:緊急停車系統接管 其他應用領域 機器人系統 家用機器人:清潔、服務、陪伴機器人 工業機器人:製造、組裝、搬運機器人 探索機器人:太空、深海、危險環境探索 AI 代理系統 遊戲 AI:即時策略遊戲、角色扮演遊戲 智能助手:語音助手、聊天機器人 交易系統:演算法交易、風險管理 物聯網系統 智慧城市:交通管理、能源最佳化 智慧家居:環境控制、安全監控 農業自動化:精準農業、自動灌溉 未來發展趨勢 技術進步 邊緣計算:在感測器端進行預處理 5G 通訊:車聯網和即時資料交換 量子計算:解決複雜最佳化問題 系統整合 群體智能:多車協調和群體決策 基礎設施整合:智慧道路和車輛協同 雲端處理:大規模資料分析和模型更新 倫理和法律 決策透明度:可解釋的 AI 決策 責任歸屬:事故責任的法律框架 隱私保護:使用者資料的安全和隱私 總結 感知-規劃-行動週期是智能系統的核心運作模式,在自駕車等複雜系統中發揮著關鍵作用。通過持續的感知環境、智能規劃和精確執行,這些系統能夠在動態環境中安全可靠地運作。 隨著技術的不斷進步,我們可以期待看到更加智能、安全和高效的自主系統,它們將在各個領域為人類提供更好的服務和體驗。理解這個基本週期有助於我們設計和改進各種智能系統,從而推動人工智能技術的發展和應用。 4.1 感知階段 這是代理人“感知”的階段: 感測器 → 處理 → 狀態更新 代理人通過感測器接收輸入。 信息被處理並進行解釋。 根據新信息更新當前狀態。 4.2 決策階 這是代理人“思考”的階段: 當前狀態 + 目標 → 評估選項 → 選擇最佳行動 代理人評估可能的行動。 考慮目標和約束條件。 根據可用信息選擇最優行動。 4.3 行動階段 這是代理人“執行”的階段: 執行行動 → 觀察變化 → 開始新週期 通過執行器執行選擇的行動。 環境發生變化。 代理人通過感測器觀察結果,開始新一輪週期。 這個週期會持續重複,通常每秒會多次執行。這個週期的強大之處在於: 適應性:如果出現意外情況,代理人可以在下一個感知階段檢測到並相應地調整行動。 學習機會:代理人可以比較預測結果和實際結果,從而改進未來的決策。 目標導向行為:每個週期都將代理人推向其目標,同時遵守約束條件。 5. AI 代理人如何運作? 假設你的智能冰箱不僅在你缺少牛奶時重新訂購,還會根據你的瀏覽習慣建議改喝杏仁奶。這是有幫助還是有點不安?你來決定! 這就是 AI 代理人。 AI 代理人能夠理解人類語言(得益於 LLM),推理處理信息,規劃行動,並執行任務,無需不斷的人類介入。它們解決複雜問題,比起簡單的自動化工具,進步了很多。與基本的腳本不同,AI 代理人被整合到軟件系統中,能夠與環境進行複雜的互動。 AI 代理人與簡單自動化的區別 AI 代理人之所以不同,主要有兩個關鍵能力: 工具使用 規劃能力 你可能曾見過 ChatGPT 在基本數學問題上出錯。這是因為它僅根據訓練時的數據來回應。 同樣,如果我讓你計算 85 乘 65,作為人類,你可以直接回答(如果你知道答案),或者通過使用工具(比如計算器)來計算,對嗎? 你給代理人提供工具的使用權限也是一樣的。 第二個能力是規劃。 以相同的數學問題為例,只有當你知道乘法運算或知道如何將 85 和 65 與乘法這一參數輸入計算器時,你才會解決這個問題。 這就是規劃和推理的作用。 5.1 編排層(控制中心) 假設我想創建一個 AI 代理人會議排程器,我詢問排程器:「我想為所有學生舉辦一個網絡研討會」。 這將被視為觸發 AI 代理人的動作。 Orchestration layer | Credits: Himanshu Ramchandani 該查詢可以是文字、音頻、視頻或圖像。(你已經知道,無論數據的類型如何,它總是會轉換為數值,便於機器處理) 查詢將由編排層(即 AI 代理人的控制中心)處理。 編排層有四個主要功能: 記憶:維護整個互動過程中的記錄。 狀態:儲存整個過程的當前狀態。 推理:指導代理人的推理過程。 規劃:確定步驟,並決定接下來的步驟是什麼。 Credits: lyzr 5.2 模型(大腦) 模型是整個代理人的集中決策者。 它通常是像大型語言模型(LLM)這樣的 AI 模型。 Models in AI agents | Credits: Himanshu Ramchandani To understand the query, formulate a plan, and determine the next action, the model uses reasoning and logic frameworks like: ReAct(Reason + Act) ensures thoughtful and deliberate actionsChain-of-Thoughtreason through intermediate steps.Tree-of-Thoughtsexplores multiple paths to find the best solutionThe model determines what actions to take, and performs those actions using specific tools. 5.3 Tools (The Hands)Using tools the agent can interact with the external world. Like I told you, a calculator, APIs, web search, external databases, etc. 6. ✅ 何時使用代理人 / ⛔ 何時避免使用代理人 代理人在你需要讓 LLM 決定應用程序工作流程時非常有用。但它們往往是過度設計。關鍵問題是:我是否真的需要靈活的工作流程來高效解決當前的任務?如果預定的工作流程經常無法滿足需求,那意味著你需要更多的靈活性。 舉個例子:假設你正在開發一個處理顧客請求的應用程序,這是針對衝浪旅遊網站的顧客需求。 你可以預先知道,顧客的請求將屬於兩種情況之一(基於用戶選擇),並且你為這兩種情況有預定的工作流程: 想了解旅行資訊?⇒ 給他們提供搜索框以查詢你的知識庫 想與銷售人員聯繫?⇒ 讓他們填寫聯繫表格 如果這個確定性的工作流程能夠處理所有查詢,那麼當然只需要編寫代碼!這將為你提供一個 100% 可靠的系統,避免由於讓不可預測的 LLM 干預工作流程而引入錯誤。為了簡單和穩定,建議規範化處理,避免使用任何代理行為。 但是,如果無法那麼簡單地預先確定工作流程呢? 例如,某用戶想問:“我可以週一來,但我忘記了護照,可能會延遲到週三,能否在週二早上帶我和我的行李去衝浪並提供取消保險?”這個問題涉及很多因素,可能沒有任何預先確定的條件能夠解決這個請求。 如果預定的工作流程經常無法解決問題,那就意味著你需要更多的靈活性。 這時,代理式系統就能發揮作用。 在上面的例子中,你可以建立一個多步驟的代理人,讓它可以訪問天氣 API 來查詢天氣預報,使用 Google Maps API 計算旅行距離,查看員工的可用性,並且能在知識庫上運行 RAG 系統。 直到最近,計算機程序仍然限制於預定的工作流程,試圖通過大量的 if/else 條件來處理複雜性。它們專注於極為狹窄的任務,如“計算這些數字的總和”或“找到圖中最短的路徑”。但實際上,大多數現實生活中的任務(如我們的旅行例子)並不適合預定的工作流程。代理式系統讓程序能夠應對現實世界中各種複雜任務! 7. 應用領域 AI 代理人是多功能工具,可以在各個領域提高生產力、效率和智能。它們越來越多地被應用於日常應用和高端的高影響領域。 8. 結論 AI 代理人正在改變我們與技術的互動方式,提供前所未有的自主性、智能性和適應性。從簡單的反射型代理人到複雜的學習系統,它們在各行各業中被應用於解決複雜問題並提升人類能力。然而,構建有效的 AI 代理人也面臨挑戰,包括倫理問題、數據依賴性和可擴展性問題。 隨著 AI 技術的不斷發展,AI 代理人的未來充滿了巨大的潛力。通過聚焦於通用 AI、人機協作和倫理考量,我們可以創建出不僅能高效執行任務,還能與人類價值觀相契合並對社會作出積極貢獻的代理人。 AI 代理人是能夠感知、決策和行動以達成目標的自主系統。核心組件包括感測器、執行器、決策引擎和學習模塊。AI 代理人被應用於虛擬助手、自駕車和醫療等領域。通過理解基本原理並保持對進展的了解,我們可以利用 AI 代理人的力量推動創新,創造更好的未來。