---
# System prepended metadata

title: 【生成式AI時代下的機器學習(2025)】第二講：一堂課搞懂 AI Agent 的原理

---

# 第二堂課: AI Agent

## 1. AI Agent 的核心概念

- **本課程定義**:
  - **傳統AI**: 人類給予**明確指令**，AI 一個口令一個動作。
  - **AI Agent**: 人類只給予**最終目標**，AI 需自行思考、規劃、並執行一系列**多步驟**的行動來達成目標。
- **核心運作框架**:
  1.  **目標 (Goal)**: 由人類設定。
  2.  **觀察 (Observation)**: Agent 感知當前環境的狀態。
  3.  **行動 (Action)**: Agent 根據目標與觀察，決定要採取的行動。
  4.  **環境改變**: 行動會影響環境，產生新的狀態。
  5.  Agent 觀察到新的狀態，再次決定行動，此循環持續直到目標達成。
- **與傳統強化學習 (RL) 的區別**:
  - **RL Agent (如 AlphaGo)**:
    - 需要為**每一個特定任務**單獨訓練一個專門的模型。
    - 目標需被轉換為量化的 **Reward**。
  - **LLM-based Agent (本課焦點)**:
    - 使用一個**通用的、預訓練好的大型語言模型 (LLM)** 作為 Agent 的大腦。
    - **目標**和**觀察**皆可用自然語言（文字）或圖片來描述。
    - **行動**由 LLM 生成的文字來決定。
    - 從 LLM 的角度看，這仍是其核心能力「**文字接龍**」的延伸，是一種**應用**而非全新技術。

## 2. AI Agent 的關鍵能力 (三大面向)

這部分探討如何讓 LLM 作為 Agent 能運作得更順利，所有方法**皆不涉及重新訓練模型參數**。

### 第一面向：從經驗中學習 (記憶 Memory)

- **挑戰**: 若將所有過去的互動經驗都當作輸入，序列會過長，導致 AI Agent 像得了「**超憶症**」，被無關緊要的細節淹沒而無法做決策。
- **解決方案：建立記憶系統** (類似 RAG 的概念)
  - **Memory**: 一個長期記憶庫，儲存過去的經驗。
  - **Write 模組**: 判斷哪些重要資訊才需要被寫入長期記憶。可以讓 Agent 自問：「這件事重要到該被記下來嗎？」
  - **Read 模組**: 當需要決策時，從記憶庫中**檢索 (Retrieve)** 出與當前情境最相關的少數經驗。
  - **Reflection (反思) 模組**: 對記憶進行更高層次的抽象、整理與歸納，產生新的見解或建立知識圖譜 (Knowledge Graph)，幫助 Read 模組更有效地檢索。
- **重要發現**:
  - **正面回饋 > 負面回饋**: 與其告訴模型「不要做什麼」，不如直接給予「該怎麼做」的成功範例，效果更好。
- **實例**: ChatGPT 的個人化記憶功能，會儲存用戶的特定資訊，並在後續對話中應用。

### 第二面向：使用工具 (Tools / Function Calling)

- **概念**: Agent 可以呼叫外部工具（函式）來完成自身能力範圍外的事，而無需了解工具的內部原理。
- **常用工具**:
  - **搜尋引擎** (即 **RAG** 技術)
  - **程式碼直譯器**
  - **其他的 AI 模型** (例如，文字模型呼叫圖像模型來理解圖片)
- **運作方式 (通用方法)**:
  1.  **System Prompt**: 在 Prompt 中定義可用的工具、功能與使用格式。
  2.  **LLM 生成指令**: 當 LLM 判斷需要使用工具時，它會生成一段特殊格式的文字（如 `Tool: search("問題")`）。
  3.  **外部執行**: 開發者需建立一個機制，解析這段文字並真正執行對應的函式。
  4.  **結果回傳**: 將工具執行的結果（如搜尋到的資料）以特殊格式（如 `Output: ...`）回傳，加到對話歷史中。
  5.  LLM 根據回傳的結果，繼續生成最終答案。
- **挑戰與進階應用**:
  - **工具過多**: 將所有工具說明放入一個「工具庫」，讓 Agent 在需要時自行檢索最合適的工具來使用。
  - **自創工具**: Agent 可以自己**編寫程式碼 (Function)**，並將寫好的函式存入工具庫中供未來使用。
  - **工具的不可靠性**:
    - Agent **不應完全相信**工具的輸出（如 "披薩加膠水" 的例子）。
    - LLM 會在自身的**內部知識**與工具提供的**外部知識**之間進行權衡。
    - **說服 AI 的關鍵**: 外部知識與 AI 內部信念差距越小，越容易被相信。AI 也傾向於相信其他 AI 寫的、或格式更清晰、發布日期更新的文章。

### 第三面向：制定計畫 (Planning)

- **挑戰**: 許多任務無法一步到位，需要預先規劃。但環境是不可預測的，固定的計畫很容易失敗。
- **解決方案**:
  1.  **Plan and Execute**: 讓 LLM 先生成一個多步驟的計畫，然後再依計畫執行。
  2.  **Re-planning**: 在每一步行動後，觀察新狀態，並**重新評估與修改**後續的計畫。
- **進階規劃方法**:
  - **Tree Search (與環境互動)**:
    - **概念**: 嘗試多種可能的行動路徑，並根據結果找出最佳方案。
    - **缺點**: 現實世界中很多行動是**不可逆**的（如訂了就不能退的披薩），試錯成本太高。
  - **在「夢境」中規劃 (模擬)**:
    - **概念**: 將 Tree Search 的過程放在**腦內小劇場**中進行模擬。
    - Agent 需要一個 **World Model** 來預測「如果我採取某行動，環境可能會如何變化」。
    - LLM 可以自己扮演 World Model，在內心進行多種路徑的推演，找出最佳解後，才在現實世界中執行第一步。
- **與 Reasoning 的關聯**:
  - 具備 **Reasoning** 能力的模型（如 DeepSeek），其「腦內小劇場」的過程，本質上就非常類似於在進行規劃與模擬。
  - **風險**: **過度思考 (Overthinking)**，Agent 可能會陷入無盡的思考而不敢行動，或過早放棄。