20251104筆記 內容可能有錯誤,請參考原始影片 [李宏毅【生成式AI時代下的機器學習(2025)】](https://www.youtube.com/playlist?list=PLJV_el3uVTsNZEFAdQsDeOdzAaHTca2Gi) [【生成式AI時代下的機器學習(2025)】第二講:一堂課搞懂 AI Agent 的原理 (AI如何透過經驗調整行為、使用工具和做計劃)](https://youtu.be/M2Yg1kwPpts?si=4oFjZIQPdlQTj6zd) ### 【生成式AI時代下的機器學習(2025)】第二講:一堂課搞懂 AI Agent 的原理 (AI如何透過經驗調整行為、使用工具和做計劃) 大綱 **I. AI Agent 的基本概念** A. 定義:人類設定目標,AI **自主規劃並執行**達成目標的複雜步驟。 B. 運作迴圈:目標 $\rightarrow$ 觀察 (Observation) $\rightarrow$ 行動 (Action) $\rightarrow$ 影響環境 $\rightarrow$ 新觀察。 **II. 打造 AI Agent 的途徑** A. 過去方法:強化學習 (RL),透過最大化 **Reward** 達成目標。 B. 當前趨勢:直接使用 **大型語言模型 (LLM)** 驅動 AI Agent。 **III. LLM 驅動 AI Agent 的關鍵能力** A. **記憶與經驗調整 (Memory and Experience)**: 1. 挑戰:避免過長的經驗記錄 (超憶症) 影響效率。 2. 解決方案:RAG 模式的記憶模組 (Read/Write/Reflection)。 3. 結論:**正面回饋**比負面回饋更有效。 B. **使用工具 (Tool Use/Function Calling)**: 1. 優勢:LLM 具備近乎**無限的行動可能性**。 2. 機制:將工具視為函式 (Function),LLM 輸出的文字調用外部功能,並將結果回傳。 3. 判斷力:AI Agent 不會完全相信工具(例如 RAG/搜尋引擎)的極端輸出。 C. **規劃與決策 (Planning and Decision Making)**: 1. 挑戰:環境不可預測,固定計畫容易失效。 2. 強化方式: a. **規劃生成**:強迫 LLM 明確產生達成目標的步驟。 b. **規劃搜尋**:在「腦內劇場」(夢境/模擬環境)中探索最佳行動路徑,避免執行不可逆的動作。 --- ### I. 什麼是 AI Agent AI Agent 是一個非常熱門且被廣泛應用的詞彙,但不同人對其定義可能不同。有些人認為只有具有**身體**的機器人才能稱為真正的 AI Agent。 **在本課程中定義的 AI Agent:** AI Agent 的運行方式是人類只給予 **目標**,而不提供明確的行為或指示。至於如何達成目標,AI 必須**自己想辦法**去完成。 * **與傳統 AI 的區別:** 傳統 AI 模式是「一個口令一個動作」;例如,詢問翻譯,AI 只會執行翻譯。AI Agent 則需要自主執行多個步驟,例如給予 AI 一個研究議題,它應具備提出假設、設計實驗、執行實驗、分析結果,並在結果不符時**修正假設**的能力。 * **環境互動:** AI Agent 通常需要透過多個步驟與**複雜且不可預測**的環境進行互動才能達成目標。因此,它必須能夠**靈活地根據現狀調整計畫**。 **AI Agent 的運作機制(簡化模型):** 1. **目標 (Goal):** 人類給定的輸入。 2. **觀察 (Observation):** AI Agent 觀察到的目前狀況。 3. **行動 (Action):** AI Agent 根據觀察結果決定採取的行動。 4. **循環:** 執行 Action 後,會影響環境狀態,產生新的 Observation,然後再決定新的 Action,直到達成目標為止。 * **範例:AlphaGo (Agent):** * 目標:下棋要贏。 * Observation:棋盤上黑白子的位置(盤式)。 * Action:在 19x19 的範圍內選擇一個可落子的位置。 ### II. 歷史背景與當前趨勢 **過去方法:強化學習 (Reinforcement Learning, RL)** 過去要打造 AI Agent,往往透過 RL 演算法來訓練 Agent 以 **最大化 Reward**。 * **Reward 定義:** 獎勵是人為定義的,越接近目標 Reward 越大(例如,圍棋中贏棋是 +1,輸棋是 -1)。 * **RL 的限制:** 透過 RL 算法訓練的 AI Agent 具有**局限性**。你需要為每一個任務都訓練一個獨立的模型。例如,AlphaGo 經過大量訓練後能下圍棋,但不代表它可以下西洋棋或象棋,能夠下象棋的模型是**另外訓練**的,具有不同的參數。 **當前趨勢:LLM 驅動的 AI Agent** AI Agent 再次被熱烈討論,是因為人們有了新的想法:能否直接將 **大型語言模型 (LLM) 用作 AI Agent**。 * **運作方式:** 直接用文字輸入目標(例如圍棋規則和贏得勝利的目標)。環境可能需要轉化成文字敘述,但現在很多 LLM 已可直接看圖,不一定需要轉化。LLM 產生 Action(一段文字描述),然後將這段文字轉譯成**可執行的指令**。 * **LLM 視角:** 從 LLM 的角度來看,成為 AI Agent **並不是一項新的技術**,它只是 LLM 的一種應用。它所做的事情就是不斷進行它唯一會的:**文字接龍**。 * **熱潮與冷卻:** 2023 年春天曾有一波 AI Agent 熱潮(如 AutoGPT),但隨後消退,因為人們發現它們並**沒有想像中那麼厲害**。 ### III. LLM 驅動 AI Agent 的優勢 相較於過去的 RL 方法,使用 LLM 驅動 AI Agent 具有以下優勢: 1. **近乎無限的行動可能性:** 過去 RL Agent(如 AlphaGo)能採取的行為是事先設定好的有限集合。但 LLM 可以產生**各式各樣、近乎無窮無盡**的輸出,這讓 Agent 可以採取的行動不再有局限。 2. **無需定義 Reward:** 透過 RL 訓練需要人為定義 Reward,這通常是難以精確量化的(例如,編程錯誤是 -1 還是 -17.7?)。LLM 驅動的 Agent **不需要訂 Reward**;它可以直接讀懂環境給的豐富資訊,例如編譯錯誤 (compile error) 的日誌 (log)。Log 提供的資訊比單一數值的 Reward 更豐富,更容易讓 Agent 根據回饋來修改行為。 3. **呼叫工具:** LLM 可以利用其生成各式輸出的能力,**呼叫外部工具**來解決它本身無法解決的問題。 ### IV. AI Agent 的關鍵能力 (三面向剖析) #### A. 根據經驗調整行為 (記憶) LLM 能夠在不更新模型參數的情況下調整行為。你只需將**錯誤訊息直接提供給它**,它接下來生成的程式就會不同。 **長期記憶的挑戰:超憶症 (Hyperthymesia)** 如果將過去所有的經驗(發生的所有事情)都存起來,並在每次決策時都回憶一生,當經驗過長時,AI Agent 可能無法做出正確的決策。這就像人類的**超憶症**,患者雖然能記住所有細節,但難以進行抽象思考。 **解決方案:記憶模組 (Memory Modules)** AI Agent 應像人類一樣擁有**長期記憶**,並配備模組來篩選重要資訊。這通常包含三個模組: 1. **Read (讀取) 模組:** * 功能:從長期記憶中**選擇與當前問題相關的經驗**。 * 機制:這個模組運作原理與 **RAG (Retrieval Augmented Generation)** 沒有太大不同。它將當前 Observation 視為問題,長期記憶視為資料庫,透過檢索系統 找出相關資訊。 * 應用範例:在 StreamBench (衡量經驗學習能力的基準) 中,使用 RAG 方法(挑選最相關經驗)比固定選取或不學習的表現更好。 2. **Write (寫入) 模組:** * 功能:決定**什麼樣的資訊應該被記下**(只記重要的資訊)。 * 機制:Write 模組可以是一個 LLM,甚至就是 AI Agent 本身,它會**自問**「這件事重要到應該被記下來嗎?」。 3. **Reflection (反思) 模組:** * 功能:對記憶中的資訊進行**更高層次或抽象的重新整理**。 * 機制:LLM 可以讀取過去的記憶,然後想一想,從中提煉出新的想法或結論(例如,從兩個觀察結果推理出「他喜歡我」)。它也可以建立**知識圖譜 (Knowledge Graph)**,讓 Read 模組能更有效地進行搜。 **關於回饋的觀察 (StreamBench)** * 研究發現在現階段的 LLM 而言,**負面的回饋基本上沒有幫助**,甚至有害。 * 提供**正面的例子**(過去哪些類似問題得到正確答案)比提供負面的例子更有效。這符合直覺:與其告訴 LLM 不要做什麼,不如告訴它**要做什麼**。 #### B. 使用工具 (Tool Use) **工具的定義:** 工具是對 LLM 來說,只需要知道如何使用它,而**無需關心其內部運作方式**的東西。工具包括:搜尋引擎 (RAG)、LLM 寫出並執行的程式,甚至其他具有不同能力(例如看圖、聽聲音)的 AI 模型。 **工具的使用機制:Function Calling** * 工具的使用又被稱為 **Function Calling** 。 * **通用方法:** 1. **System Prompt:** 告知 LLM 如何使用工具,包括指。 2. **User Prompt:** 詢問問題。 3. **LLM 輸出:** LLM 若判斷需要工具,會輸出一串文字來**調用工具**(例如,`[Tool: temperature(Kaohsiung, time)]`)。 4. **外部執行:** 開發者設計的腳本會攔截這段文字,執行對應的函式,並將函式輸出的結果(例如溫度)放回 LLM 輸入中(以 `[Output]` 格式)。 5. **文字接龍:** LLM 根據工具結果繼續文字接龍,產生最終答案給使用者。 **工具的選擇與管理 (Tool Selection)** 如果工具有數百個,LLM 無法讀完所有工具的說明書。因此,需要一個**工具選擇模組**,其運作方式類似 RAG,根據當前狀況,從工具包(長期記憶)中檢索出**合適的工具說明**,再提供給 LLM 使用。 **LLM 對工具的判斷力 (Self-Correction)** AI Agent 並非完全相信工具的結果。 * **內部知識與外部知識的角力:** LLM 得到什麼答案,是其**內部信念** (internal knowledge,存在參數中) 與工具提供的**外部知識** (external knowledge) 互相拉扯後的結果。 * **極端情況:** 如果工具回傳的結果極度不合理(例如高雄氣溫 10,000 度),LLM 會判斷工具輸出有錯,並選擇不相信。 * **影響信任的因素:** 外部知識如果與模型本身的信念**差距越大,模型越不容易相信**。如果模型對自己當前信念的**信心低**,則更容易被外部資訊動搖。 * **內容來源的影響:** * 當兩個意見衝突的文。 * LLM 傾向於相信比較新發布的文。 * LLM 傾向於相信**AI 同類**生成的文。 **效率考量:** 使用工具並不總是效率最高的方法。對於簡單的問題(例如 3 乘以 4),人腦直接反應比按計算機更快。是否需要呼叫工具,取決於 LLM **本身的能力。** #### C. 規劃與決策 (Planning) **規劃的必要性:** 你可以強迫 LLM 在看到 Observation 後,先產生一系列達成目標的行動(**計畫/Plan**),然後再依照計畫執行行動。 **計畫的挑戰:環境不可預測性** 由於外部環境通常具有**隨機性**(例如下棋對手的招式、使用電腦時彈出的廣告視窗),原有的計畫可能因 Observation 與預期不同而失效。因此,Agent 需要具備**彈性**,能夠修正計畫。 **LLM 規劃能力的評估:** * LLM 確實展現出一定程度的規劃能力(例如分解刷牙或成為 YouTuber 的步驟)。 * **Mystery Block World:** 為了避免模型只是「照本宣科」地輸出訓練資料中看過的內容,研究人員設計了規則複雜且任意的「神秘方塊世界」。在 2023 年的結果中,GPT-4 在此類測試中成功率很低(不到 10%),顯示出它有過度擬合 (overfit) 現有知識的傾向。但 2024 年之後的新模型(如 O1)在簡單問題上展現出更高的正確率。 * **旅遊規劃 (Travel Planning):** 該任務要求 Agent 滿足複雜限制(如預算、特定地點)。2024 年初的測試顯示,模型在沒有額外輔助的情況下成功率極低(GPT-4 Turbo 僅 0.6%)。模型難以發現最佳方案來符合所有限制,但有了**外部 Solver/工具輔助**後,成功率可提高至 90% 以上。 **強化規劃能力:搜尋與世界模型 (Search and World Model)** 1. **搜尋 (Search):** * 讓 AI Agent 模擬與環境的互動,探索最佳路徑。 * 透過**自問自答**,評估某條路徑是否還有成功的機會,從而**丟棄沒希望的路徑**,以節省算力。 2. **夢境/腦內小劇場 :** * 為了解決某些動作是**覆水難收**(例如訂披薩)的問題,所有的嘗試和搜尋都應發生在模型**腦內的模擬環境**中。 * **世界模型 (World Model):** 模型需要一個 World Model 來**模擬環境的變化**(從 Action 到 Observation 的過程)。LLM 可以透過文字描述來**扮演**這個 World Model,想像自己執行一個行為後環境會發生什麼變化。在夢境中找到最佳解後,再於現實世界中執行第一步。 * **Reasoning 的連接:** LLM 的 **Reasoning** 能力,特別是腦內小劇場,其實就是類似於規劃的模擬或搜尋。 **思考的巨人,行動的矮子 (The Danger of Overthinking)** 儘管能進行腦內劇場的模型在 AI Agent 任務中表現更好,但它們也有「**想太多**」的問題。有時模型會不斷思考某個行動的後果,最終死於想太多,例如沒有嘗試就直接放棄,或是一直思考直到耗盡時間。如何避免模型想太多,是未來的研究方向。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up