---
# System prepended metadata

title: '【生成式AI時代下的機器學習(2025)】02  AI Agent 的原理 '
tags: [生成式AI]

---

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 任務中表現更好，但它們也有「**想太多**」的問題。有時模型會不斷思考某個行動的後果，最終死於想太多，例如沒有嘗試就直接放棄，或是一直思考直到耗盡時間。如何避免模型想太多，是未來的研究方向。

