AI Agents系列之AI代理的類型

在本文中,我們將探討不同類型的 AI 代理,包括它們的實現、實際應用、優勢和局限性。從簡單反射代理到多代理系統,我們將了解這些模型如何推動自動化、決策制定和智能問題解決。

文章目錄

      • 1. AI代理的類型
      • 1.1 簡單反射代理
        • 1.1.1 實現
        • **1.1.2 優勢**
        • **1.1.3 局限性**
      • 1.2 基于模型的反射代理
        • 1.2.1 實現
        • 1.2.2 實際案例:亞馬遜Bedrock
        • **1.2.3 優勢**
        • **1.2.4 劣勢**
      • 1.3 基于目標的代理
        • 1.3.1 實現
        • 1.3.2 實際案例:谷歌Bard
        • **1.3.3 優勢**
        • **1.3.4 劣勢**
      • 1.4 基于效用的代理
        • 1.4.1 實現
        • **1.4.2** 實際案例:Anthropic Claude
        • **1.4.3 優勢**
        • **1.4.4 劣勢**
      • 1.5 學習代理
        • 1.5.1 實現
        • **1.5.2** 實際案例:AutoGPT
        • **1.5.3 優勢**
        • **1.5.4 劣勢**
      • 1.6 層級代理
        • 1.6.1 實現
        • **1.6.2** 實際案例:谷歌UniPi
        • **1.6.3 優勢**
        • **1.6.4 劣勢**
      • 1.7 多代理系統
        • 1.7.1 多代理系統(MAS)的關鍵特性
        • 1.7.2 多代理系統(MAS)的實際用例
        • **1.7.3 優勢**
        • **1.7.4 劣勢**
      • 2. 跨行業變革性應用
      • 3. 結論

讓我們開始吧!

1. AI代理的類型

根據 AI 代理的行為如何影響其感知的智能和能力,可以將 AI 代理分為以下幾類:

  • 簡單反射代理
  • 基于模型的代理
  • 基于目標的代理
  • 基于效用的代理
  • 學習代理
  • 層級代理
  • 多代理系統(MAS)

None

作者提供的圖片

通過了解每種類型代理的特性,我們可以提升其性能,生成更好的行為。接下來,我們詳細了解一下 AI 代理的類型。

1.1 簡單反射代理

簡單反射代理僅在發生某種動作或條件時才起作用。這類 AI 代理基于一組預設規則進行響應,做決策時不考慮以往的經驗,僅適用于無需策略思考的簡單任務。

None

圖片來源:Writesonic

1.1.1 實現
class SimpleReflexVacuumAgent:def __init__(self):self.location = "A"self.actions = []def perceive_and_act(self, current_location, is_dirty):if is_dirty:self.actions.append("Suck")print(f"Cleaned {current_location}")else:if current_location == "A":self.actions.append("MoveRight")self.location = "B"else:self.actions.append("MoveLeft")self.location = "A"print(f"Moved to {self.location}")# 執行
agent = SimpleReflexVacuumAgent()
percepts = [("A", True), ("A", False), ("B", True), ("B", False)]
for loc, dirt in percepts:agent.perceive_and_act(loc, dirt)

這段代碼實現了直接的刺激-響應機制,環境感知(房間狀態)觸發預設的清潔行為。

工作原理:簡單反射代理基于條件-動作規則運行,這意味著它們僅對當前輸入(感知)做出直接反應,而不考慮以往的經驗。這些代理適用于以下環境:

  • 完全可觀察(代理對狀態有完整信息)。
  • 確定性(結果可根據動作預測)。

機制:代理遵循預設
規則來確定動作。

  • 例如,吸塵清潔代理在兩個位置(A 和 B)之間交替,僅在檢測到灰塵時進行清潔。
  • 由于它完全基于當前條件運行,因此不會保留以往狀態或決策的記錄。

適用場景:這些代理非常適合簡單的、基于規則的任務,決策不需要歷史數據。一些常見示例包括:

  • 自動化客戶服務:基于規則的聊天機器人檢測到“重置密碼”等關鍵詞時,提供預設的說明。
  • 數字恒溫器:當溫度低于特定閾值時打開加熱器。
  • 工業自動化:基本的物聯網設備對直接輸入做出響應,無需復雜的處理。
1.1.2 優勢
  • 設計和實現簡單,僅需極少的計算資源
  • 能夠實時響應環境變化
  • 在傳感器提供輸入準確且規則設計良好的情況下,高度可靠
  • 不需要大量的訓練或復雜的硬件
1.1.3 局限性

簡單反射代理的局限性如下:

  • 適應性:在部分可觀察環境中難以適應變化。
  • 記憶:無法存儲以往的互動記錄。
  • 學習能力:無法隨著時間的推移改進決策制定。

1.2 基于模型的反射代理

基于模型的反射代理擴展了簡單反射架構,通過維護內部世界狀態表示來處理部分可觀察性。基于模型的反射代理根據當前感知和代表不可觀察世界的內部狀態來執行動作。它根據兩個因素更新內部狀態:

  • 世界獨立于代理的演變方式
  • 代理的動作如何影響世界

謹慎的基于模型的反射代理是基于模型的反射代理的一個變體,它在執行動作之前還會考慮其動作的可能后果。

None

圖片來源:Writesonic

1.2.1 實現
class ModelBasedVacuumAgent:def __init__(self):self.model = {"A": "Unknown", "B": "Unknown"}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76026.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76026.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76026.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# --- IEnumerable 和 IEnumerator

C# --- IEnumerable 和 IEnumerator IEnumerableIEnumeratorIEnumerable 和 IEnumerator 的作用手動實現 IEnumerableIEnumerable vs. IQueryable為什么有了ienumerator還需要ienumerable IEnumerable 在C#中,IEnumerable 是一個核心接口,用于表示一個可…

鏡舟科技助力某大型電網企業破解數據架構升級難題,打造國產化湖倉標桿

在 “十四五” 規劃全面推進國產化替代的背景下,某大型電網企業聯合鏡舟科技與騰訊云,基于全球領先的開源分析型數據庫 StarRocks 及騰訊 TBDS 大數據平臺,構建電力行業國產化湖倉一體架構。該項目實現 PB 級電力數據的統一管理,為…

Spark-SQL核心編程3

數據加載與保存 通用方式: SparkSQL 提供了通用的保存數據和數據加載的方式。這里的通用指的是使用相同的API,根據不同的參數讀取和保存不同格式的數據,SparkSQL 默認讀取和保存的文件格式為parquet 數據加載方法: spark.read.lo…

使用HTML + CSS + JS,編寫一個臺球追分計分器

目錄 一.代碼 二.效果展示 三.該計分器的優點 一.代碼 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

LLM小白自學筆記:1.兩種指令微調

一、LoRA 簡單來說&#xff0c;LoRA不直接調整個大模型的全部參數&#xff08;那樣太費資源&#xff09;&#xff0c;而是在模型的某些層&#xff08;通常是注意力層&#xff09;加個“旁路”——兩個小的矩陣&#xff08;低秩矩陣&#xff09;。訓練時只更新這倆小矩陣&#x…

2026《數據結構》考研復習筆記一(C++基礎知識)

C基礎知識復習 一、數據類型二、修飾符和運算符三、Lambda函數和表達式四、數學函數五、字符串六、結構體 一、數據類型 1.1基本類型 基本類型 描述 字節&#xff08;位數&#xff09; 范圍 char 字符類型&#xff0c;存儲ASCLL字符 1&#xff08;8位&#xff09; -128…

基于骨骼識別的危險動作報警分析系統

基于骨骼識別的危險動作報警分析系統 【包含內容】 【一】項目提供完整源代碼及詳細注釋 【二】系統設計思路與實現說明 【三】基于骨骼識別算法的實時危險行為預警方案 【技術棧】 ①&#xff1a;系統環境&#xff1a;Windows 10/11、macOS Ventura、Ubuntu 20.04 ②&#x…

【雙指針】四數之和(medium)

四數之和&#xff08;medium&#xff09; 題?描述&#xff1a;解法&#xff08;排序 雙指針&#xff09;算法思路&#xff1a; C 算法代碼&#xff1a;Java 算法代碼&#xff1a; 題?鏈接&#xff1a;18. 四數之和 題?描述&#xff1a; 給你?個由 n 個整數組成的數組 num…

Flask+Influxdb+grafna構建電腦性能實時監控系統

Influx下載地址&#xff0c;這里下載了以下版本influxdb-1.8.5_windows_amd64.zip 運行前需要先啟動Influx數據庫&#xff1a; 管理員方式運行cmd->F:->cd F:\influxdb\influxdb-1.8.5-1->influxd -config influxdb.conf&#xff0c;以influxdb.conf配置文件啟動數…

如何在Keil中配置國民技術N32G系列MCU開發環境

如何在Keil及Jlink中搭建國民技術N32G系列MCU開發環境 根據自己的MCU型號&#xff08;我這里的型號是N32G452REL7&#xff09;訪問國民技術官網&#xff0c;依次從N32G通用MCU-技術資源-固件和軟件-軟件開發套件&#xff0c;獲取對應MCU型號的SDK&#xff0c;也可點擊這里從網盤…

微軟承認Win11出現極端錯誤,只能強制關機或重裝系統

最近&#xff0c;不少使用 Windows 11 的用戶反映&#xff0c;在系統更新后&#xff0c;“Windows Hello”突然失效&#xff0c;原本便捷的人臉識別和PIN登錄功能統統無法使用。更糟的是&#xff0c;有人在重置系統后直接被擋在系統門外&#xff0c;這讓人不禁發問&#xff1a;…

【android bluetooth 協議分析 02】【bluetooth hal 層詳解 1】【uart 介紹】

一、什么是 UART&#xff1f; UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09; 是一種 串行通信協議&#xff0c;它的特點是通信時不需要專門的時鐘信號&#xff08;叫做“異步”通信&#xff09;&#xff0c;常用于兩個設備之間的簡單數據通信&…

天元證券|奶粉行業結構性回暖 乳企競速全齡化、國際化

在過去幾年中&#xff0c;中國嬰配粉市場經歷了量價齊增&#xff0c;量減價增&#xff0c;量減價減的三個周期。歷經多年行業深度洗牌與競爭格局重塑&#xff0c;2024年中國嬰配粉市場回暖態勢愈發清晰可辨。 日前&#xff0c;包括中國飛鶴、澳優、健合集團在內的多家奶粉股披露…

第3.1節 調用鏈路分析簡介

調用鏈路&#xff08;Call Chain / Call Path&#xff09; 是程序在執行過程中&#xff0c;按照調用順序形成的函數、模塊或組件之間的依賴關系鏈條&#xff0c;完整記錄了從程序入口到當前執行點的動態調用路徑。它反映了代碼執行的邏輯流程&#xff0c;是分析程序行為、調試問…

System.Security.Cryptography.CryptographicException“填充無效,無法被移除。”

這個異常通常發生在以下幾種情況&#xff1a; 1.密文損壞&#xff1a;密文在傳輸或存儲過程中被篡改或損壞。 2.密鑰不匹配&#xff1a;用于解密的密鑰與加密時使用的密鑰不同。 3.填充模式不匹配&#xff1a;加密時使用的填充模式與解密時指定的填充模式不一致。 4.使用了不正…

【網絡入侵檢測】Suricata之數據包內容匹配

【作者主頁】只道當時是尋常 【專欄介紹】入侵檢測。專注網絡、主機安全&#xff0c;歡迎關注與評論。 1. 概要 本文詳細介紹了網絡入侵檢測系統&#xff08;如 Suricata&#xff09;中用于檢查數據包或流有效載荷的 Payload 關鍵字。content 用于匹配數據包內容&#xff0c;默…

Spring Boot 整合 Redis 實現點贊功能:從基礎到實踐

在當今互聯網應用開發中&#xff0c;點贊功能幾乎成為了各類內容平臺的標配。它不僅能增加用戶與內容之間的互動&#xff0c;還能直觀地反映內容的受歡迎程度。本文將詳細介紹如何使用 Spring Boot 整合 Redis 來實現一個簡單的文章點贊功能&#xff0c;讓你輕松掌握這一實用技…

openGauss DataVec + Dify,快速搭建你的智能助手平臺

在當今數字化和智能化的時代&#xff0c;大語言模型&#xff08;LLM&#xff09;的應用正以前所未有的速度改變著各個領域的工作方式和用戶體驗。Dify 作為一個開源的大語言模型應用開發平臺&#xff0c;為開發者們提供了便捷且強大的工具&#xff0c;助力構建從基礎智能體到復…

OpenLayers:extent與view extent 介紹

一、范圍的概念 1.什么是范圍&#xff1f; 在Openlayers中范圍&#xff08;Extent&#xff09;是用于表示地理空間區域的一種概念。它通常由一個數字數組構成&#xff0c;數組中的內容為&#xff1a;[最小x坐標&#xff0c;最小y坐標&#xff0c;最大x坐標&#xff0c;最大y坐…

can‘t set boot order in virtualbox

Boot order setting is ignored if UEFI is enabled https://forums.virtualbox.org/viewtopic.php?t99121 如果勾選EFI boot order就是灰色的 傳統BIOS就是可選的 然后選中任意介質&#xff0c;通過右邊的上下箭頭調節順序&#xff0c;最上面的應該是優先級最高的 然后就…