---
# System prepended metadata

title: '[AI Agent] Hung-yi Lee - 第二講：一堂課搞懂 AI Agent 的原理'
tags: [AI Agent]

---

# 課程前提與「AI agent」的定義範圍

* 「AI agent」被很廣泛使用，不同人可能有不同定義
* 這堂課不爭論哪個定義才正確，也不排除有人認為要有實體機器人才算 agent
* 本課的定義：人類給目標，不給明確步驟；AI 自行規劃並完成目標

# 與一般使用 AI 的差異
![image](https://hackmd.io/_uploads/B1za8cqzWe.png)

* 一般 AI：人下指令，AI 按指令完成單一步驟輸出，不會主動多做事
* AI agent：人只提供目標，AI 需要自己想方法、拆解步驟、執行並調整

# AI agent 的典型能力期待

* 能自己提出假設、設計實驗、進行實驗、分析結果
* 結果不符合假設時，能回頭修正假設並再嘗試
* 面對需要多步驟、與環境複雜互動、且帶有不可預測性的任務
* 能根據當下狀況動態調整計畫，而不是照固定流程走

# 運作流程抽象化：目標—觀察—行動的循環
![image](https://hackmd.io/_uploads/SJxlP9czZe.png)

* 輸入：人給定的目標
* 觀察（observation）：agent 取得目前環境狀態
* 行動（action）：agent 根據觀察決定要做什麼
* 行動會改變環境，產生新的觀察
* 反覆循環直到目標達成

# 例子：AlphaGo 作為 AI agent
![image](https://hackmd.io/_uploads/B1ubDcqf-g.png)

* 目標：贏棋
* 觀察：棋盤上黑白子分佈與盤面狀態
* 行動：在 19×19 的位置中選擇落子點
* 每次落子與對手回應會改變盤面，進而改變下一步決策

# 為何會連到強化學習（RL）的教科書框架
![image](https://hackmd.io/_uploads/HJHQD95zWx.png)

* 很多 RL 入門課都用「agent—environment—observation—action」來開場
* 過去打造 agent 常被認為要靠 RL
* RL 透過學習讓 agent 最大化 reward，因此要把目標轉成 reward
* 圍棋常見 reward 設計：贏 +1、輸 -1

# RL 型 agent 的侷限：任務綁定與模型不通用

* 每個任務通常要各自訓練一個模型
* AlphaGo 能下圍棋不代表能下西洋棋或將棋
* 即使 AlphaZero 能涵蓋多棋種，也是在不同訓練結果下得到的不同模型與參數

# AI agent 再次爆紅的原因：把 LLM 直接當 agent 用
![image](https://hackmd.io/_uploads/HkESPccMWe.png)

* 新焦點不是「agent 本身有新技術」，而是 LLM 變強後可否直接承擔決策
* 目標用文字描述輸入給 LLM（例如給規則並要求贏棋）
* 環境狀態可轉成文字給模型；部分模型也可直接看圖，不一定要文字化
* 模型輸出用文字描述 action，再轉成可執行的實際行動
* 透過「觀察→行動→新觀察」循環持續運作直到達標

# LLM 下棋的實測：能力仍有限
![messageImage_1765611371132](https://hackmd.io/_uploads/HkRuv99zZe.jpg)

* 2022 年 BigBench 曾測語言模型下西洋棋（以文字描述棋盤）
* 當時沒有模型能給出正確下一步，但較強模型多半至少遵守棋規，較弱模型會亂走
* 有知名影片讓 ChatGPT o1 與 DeepSeek-R1 下棋，出現大量違規走法與憑空變子等問題
* 結論是：最強 LLM 在嚴格棋類規則推理上仍不可靠，但不代表不能用於其他 agent 任務

# 從 LLM 的角度看 agent：不是新技術，是一種用法
![image](https://hackmd.io/_uploads/S1VTw9qzZx.png)

* LLM 在 agent 迴圈中做的仍是「根據輸入文字產生下一段文字」
* 目標、觀察、行動都可以被表達成文字序列，模型只是持續接續輸出
* 因此本課重點偏向應用層：使用既有模型，不涉及訓練新模型

# 近期熱潮的歷史脈絡：2023 的一波與退潮
![image](https://hackmd.io/_uploads/B1yRwc9f-l.png)

* ChatGPT 在 2022 年底爆紅後，2023 春天出現一波 agent 熱潮
* 代表性例子：AutoGPT
* 熱潮後來降溫，原因是實際效果不如早期宣傳強大

# LLM 型 agent 的優勢之一：行動空間更大
![image](https://hackmd.io/_uploads/HyGgu95fWl.png)

* 傳統像 AlphaGo 的行動集合是有限且預先定義（從 19×19 選一格）
* LLM 可以產生近乎無限的文字輸出，代表可描述更多樣化的行動
* 當遇到自身解不了的問題時，也更容易改用「呼叫工具」來補足能力

# LLM 型 agent 的優勢之二：不必用 reward「通靈」，回饋更有資訊量
![image](https://hackmd.io/_uploads/ry5WO55zbl.png)

* RL 需要手動設計 reward，數值怎麼設常缺乏明確依據（例如 -1、-10 的差異）
* LLM 型 agent 不一定需要 reward 設計
* 面對程式錯誤時可直接給 compile error log，模型可能讀得懂並據此修改
* 相較於單一數值 reward，錯誤 log 提供更豐富的狀態資訊，更利於調整行為

---
# AI 村民虛擬村莊（2023）
![messageImage_1765611533662](https://hackmd.io/_uploads/B1pfu59zbl.jpg)
![image](https://hackmd.io/_uploads/Sk_EOqcM-e.png)

* 以多個由語言模型驅動的 NPC 組成虛擬社會
* 每個 NPC 都有人為設定的目標（例如辦派對、準備考試）
* NPC 透過「文字化」的環境描述取得觀察資訊（看到誰在做什麼、身邊有哪些物件等）
* 根據觀察與目標，由模型決定下一個行為（例如去睡覺）
* 需要轉譯器把模型產生的行為描述轉成可執行指令，讓角色在環境中實際移動與互動

# 更大規模的遊戲 NPC：Minecraft 版本
![messageImage_1765611577529](https://hackmd.io/_uploads/HJvSuccGZx.jpg)
* 有人將 Minecraft 的 NPC 大量替換成 AI NPC
* 影片描述宣稱 AI 會自組交易與金融體系、形成政府、制定憲法與自我管理

# 讓 AI 直接「使用電腦」的 Agent（更貼近現實）
![image](https://hackmd.io/_uploads/ry2B_99MWl.png)

* 目標由使用者輸入直接指定（例如訂披薩、網購、預約服務）
* 觀察來源可直接是螢幕畫面（現代模型可看圖，因此能把畫面當輸入）
* 行動空間是鍵盤按鍵與滑鼠操作（點哪裡、按哪個鍵）

# 早期嘗試：2017 Web-based Agent（World of Bits）
![image](https://hackmd.io/_uploads/H1OPd95zWg.png)

* 在大型語言模型出現前，已有人嘗試讓 AI 在網頁世界執行任務
* 方法偏向以 CNN 直接吃螢幕畫面，輸出點擊位置或鍵盤動作
* 能處理的介面較原始，屬於早期探索路線

# 語言模型驅動的 Web Agent 潮流（約 2023 夏季起）
![messageImage_1765611656938](https://hackmd.io/_uploads/BkCcuq9Mbx.jpg)

* 代表性工作包含（如）Mind2Web、WebArena、Visual WebArena
* 讓模型看螢幕截圖或 HTML，再自行決定操作步驟以完成任務
* 任務例子如：看著訂票網站畫面，完成機票訂購流程
* 形式上與後來的 Operator 類產品概念相近

# 用 AI 來訓練另一個 AI（ML Engineer Agent）
![image](https://hackmd.io/_uploads/SyhiO5qGWl.png)

* 把「達到某個 baseline 以上表現」視為目標
* LLM 產生訓練程式與流程，用資料訓練模型並回收評估結果
* 依照正確率等回饋反覆改寫程式與訓練策略，形成迭代循環
* 代表性框架如 AIDE，目標是以多代理方式解資料科學競賽題

# AI Co-scientist：用 Agent 輔助研究規劃
![image](https://hackmd.io/_uploads/ByVnOqqfZg.png)

* Google 提出 AI Co-scientist 概念，但未必公開釋出可用服務或模型
* 主要能力偏向產生研究提案與規劃，而非真的做實驗
* 官方案例宣稱能大幅加速研究產出，但實際效果與重要性難以直接驗證

# 互動模式的限制：回合制 vs 即時互動
![image](https://hackmd.io/_uploads/BkWRd99fbx.png)

* 常見 agent 是回合制：觀察一次、做一次動作，再觀察、再動作
* 真實環境可能在動作執行中途就改變，模型需要能即時改變決策
* 語音對話特別需要非回合制互動：可能被打斷、需要即時回饋與接話

![image](https://hackmd.io/_uploads/BkGxYcqzZg.png)
* 例子：說故事途中，使用者插話「好」不影響敘事，但說「不是我要聽的」就應立即切換內容
* GPT-4o 的高級語音模式被視為可能部分接近這種即時互動能力

# 後續剖析 AI Agent 的三個關鍵能力面向
![image](https://hackmd.io/_uploads/HJV7KqqGWl.png)

* 能否根據過去互動經驗調整行為（從經驗學習）
* 如何呼叫外部援助並使用工具（工具使用）
* 能否制定並執行計畫（規劃與計畫執行）

---
# 根據回饋調整行為：不訓練模型也能做到
 ![image](https://hackmd.io/_uploads/r1uSYcczZg.png)

* AI agent 需要能根據環境回饋改變後續行為，例如程式 compile 出錯就要修正
* 傳統機器學習常用「更新參數、用 RL 訓練」來學會改行為
* 本課不做任何訓練、不更新參數：直接把錯誤訊息（error message / log）餵給 LLM，就可能讓下一版輸出不同、進而修正

# 為什麼同一個模型給回饋就會變好
![image](https://hackmd.io/_uploads/S1rUY5qMWx.png)

* LLM 的運作本質是文字接龍，輸入變了，輸出就會變
* 一開始只看到任務描述，容易寫出有錯的程式
* 加上 compile error 的輸入後，模型接續的內容不同，可能就導向更正確的修改
* 目前有大量實務經驗顯示：LLM 能用回饋改變行為，不必調參數

# 問題：把「所有經驗」都塞回去會失效
![image](https://hackmd.io/_uploads/BkJtFq5GZg.png)

* 如果每次決策都把過去所有發生的事全丟給模型，序列會越來越長
* 步數少時還能運作，步數到上萬時可能因為輸入太長與算力限制而無法有效推理
* 類比超憶症：記得太多細節反而容易陷入冗長回憶、難以抽象思考
* 對 agent 來說，「全記全用」可能讓決策品質變差

# 記憶架構：Memory + Read 模組
![image](https://hackmd.io/_uploads/rJdsKq5Mbx.png)

* 把過去經驗存進長期記憶（memory）
* 決策時不讀全部，而是透過 read 模組從 memory 挑出「與當前情境相關」的經驗
* 把挑出的相關經驗放到當前 observation 前面，讓模型據此產生 action
* read 模組可以視為一個檢索系統：問題是 query、memory 是資料庫、輸出是相關片段

# Read 模組與 RAG 的關係
![image](https://hackmd.io/_uploads/rJPatq5Mbl.png)

* read 模組的本質就是 retrieval，也就是把 RAG 的方法套用到 agent 記憶
* RAG 常見的資料來源是外部知識（例如整個網路）
* agent 記憶的資料來源是自己的經歷
* 差別在「資料來源」，檢索與拼接到上下文的技術路徑幾乎相同

# 研究工具：StreamBench 的設計
![image](https://hackmd.io/_uploads/rk5k55cfbl.png)

* 以一連串題目構成互動流程，agent 依序回答並收到回饋
* 回饋是二元（對/錯），因為題目有標準答案
* 衡量方式看整段流程的平均正確率，能越快利用少量回饋提升表現者越好
* baseline 使用類似 RAG 的做法：不把前面所有題目都塞回去，而是檢索出相關經驗再回答

# StreamBench 的主要觀察：檢索式記憶很有效
![image](https://hackmd.io/_uploads/HJiec9cGWe.png)

* 不做跨題學習、每題獨立回答的表現最低
* 固定隨機挑少數經驗當上下文能提升一些
* 用檢索挑選「最相關」的過去經驗，正確率提升更明顯
* 最佳方法通常還會在檢索與使用經驗的策略上做更進一步設計

# StreamBench 的有趣結果：負面回饋通常幫助不大
![image](https://hackmd.io/_uploads/ByZ-5q5zZe.png)

* 只提供負面例子（錯誤案例）多半沒幫助，甚至可能有害
* 提供正面例子（正確案例）在各資料集更穩定有效
![image](https://hackmd.io/_uploads/BygM5q9zbe.png)

* 同時用正負例通常會變好，但「只用正例」往往更好
* 對應到提示技巧：與其說「不要怎樣」，不如直接說「要怎樣」

# 記憶不該全存：Write 模組決定記什麼
![image](https://hackmd.io/_uploads/BkG49q9GWg.png)

* 若把所有觀察都存進 memory，容易塞滿無關緊要資訊
* 在像「AI 村民」這類場景，log 多是瑣碎描述，存太多只會污染記憶庫

![image](https://hackmd.io/_uploads/H1fSqcqzWl.png)
* 需要 write 模組判斷哪些資訊值得記錄，哪些可以丟棄
* 最簡單做法：write 模組也是語言模型（甚至就是 agent 自己），自問「這件事重要到要記嗎」

# 第三模組：Reflection 反思與抽象整理
![image](https://hackmd.io/_uploads/HJaLcc5M-l.png)

* reflection 模組把記憶做更高層次的重整與抽象，產生新的想法或規則
* 可把多段經驗整合成推論出的結論，作為之後決策的輔助訊息
* 也可建立經驗之間的關聯，讓 read 模組更容易找出真正相關的線索

# Reflection 與 Knowledge Graph、Graph RAG 的連結
![image](https://hackmd.io/_uploads/BkVuq59fZl.png)

* reflection 可把記憶整理成關係結構（knowledge graph）
* 之後檢索不只靠文字相似度，也能沿著圖結構找關聯經驗
* 這類做法與 Graph RAG、HippoRAG 等「圖結構檢索」思路相通
* 將 RAG 的圖式方法套進 agent 記憶體系，可提升搜尋與決策效率

---
# ChatGPT 的長期記憶與 Agent 化意圖
![image](https://hackmd.io/_uploads/SJ_tq5qfZl.png)

* ChatGPT 具備可寫入與讀取的「記憶」，可視為朝 AI agent 發展的重要特徵
* 使用者明確要求「記下來」通常能觸發寫入（write）模組
* 寫入是否觸發常由模型自行判斷，可能出現想記不記、或不想記卻記的狀況

![image](https://hackmd.io/_uploads/Hke599cMZe.png)

* 記憶可在設定的個人化／記憶管理中查看，屬於長期保存的資訊

# 記憶的特性與可能錯誤
![image](https://hackmd.io/_uploads/HJj359czWl.png)

* 記憶不是逐字保存對話，而是模型「整理／反思後的摘要」
* 因為是摘要與推論，可能存入錯誤資訊（例如誤判身分或背景）
* 記憶內容可能包含名字、偏好、行程、曾做過的事情等各種模型認為有用的資訊

# 記憶的讀取（read）如何影響回答

* 當提問與記憶相關時，讀取模組可能啟動並影響回覆（例如提醒週五下午有課）
* 讀取機制不透明：可能全部載入，也可能只檢索相關記憶片段
* 讀取後能讓模型在新問題中展現「一致性」與「個人化」

# Agent 記憶研究脈絡（23–25）
![image](https://hackmd.io/_uploads/HyjT9cqfbg.png)

* 相關研究持續演進，例子包含 MemoryGPT（2023）、Agent Workflow Memory（2024）、Agent Memory Agent（2025）
* 主題核心在於：如何寫入、保存、檢索、更新記憶，使 agent 行為能隨經驗調整

# 什麼是「工具」與為何叫 function calling
![image](https://hackmd.io/_uploads/ByvBoqczZl.png)

* 對語言模型而言，工具是「知道怎麼用即可，不必理解內部運作」的外部能力
* 常見工具包含搜尋引擎、可執行程式碼、其他 AI 模型（多模態或更強模型）
* 使用工具本質上等同「呼叫函式」，因此常被稱為 function calling

# 通用的工具使用流程（以文字規約驅動）
![image](https://hackmd.io/_uploads/HJZPs9cMWx.png)

* 在系統提示中描述：工具名稱、用途、輸入格式、輸出格式與示例
* 使用者提出任務後，模型若判斷需要工具，會輸出一段「呼叫工具的文字」
* 因模型只是在產生文字，需要開發者在外部系統把這段文字轉成真正的函式呼叫

![image](https://hackmd.io/_uploads/SJVts9qMbl.png)
* 工具回傳結果後，再把結果以指定格式塞回模型上下文，讓模型生成最終回答
* 可設計成把呼叫工具與工具輸出「對使用者隱藏」，使用者只看到最終答案

# System Prompt 與 User Prompt 的差別與優先級

* System Prompt：開發者固定放在前面、長期有效的規則與設定，優先級較高
* User Prompt：每次互動由使用者提供的具體問題或需求，優先級較低
* 當兩者衝突時，模型應遵循 System Prompt 而非 User Prompt

# 搜尋作為工具：RAG 的典型形式
![image](https://hackmd.io/_uploads/B1-jicqM-l.png)

* 語言模型最常用的工具是搜尋或檢索系統
* 透過 Retrieval-Augmented Generation（RAG）把外部資訊取回後再生成答案

# 以「其他 AI」作為工具解多模態任務
![image](https://hackmd.io/_uploads/HJI5iq5zWx.png)

![messageImage_1765612528662](https://hackmd.io/_uploads/S1JWh9cfbx.jpg)
![image](https://hackmd.io/_uploads/S1jZ2q5MWl.png)

* 文字模型若無法直接理解語音或圖片，可改為呼叫語音辨識、情緒辨識、說話者驗證等工具
* 模型可串接多個工具並整合輸出，得到比單一端到端模型更準確的結果
* 在多任務語音基準（例如涵蓋多種語音任務的評測）上，工具導向方法可勝過當時號稱可直接聽語音的模型

# 工具太多時的挑戰：工具選擇與檢索
![image](https://hackmd.io/_uploads/SyIQncqfbx.png)

* 工具數量達上百上千時，無法把全部工具說明一次塞進提示讓模型閱讀

![image](https://hackmd.io/_uploads/B1rE2qcMbg.png)
* 解法是把工具說明存成「工具記憶／工具庫」，再用工具選擇模組做檢索
* 模型在決策下一步時，只看被檢索出的少量候選工具說明，降低上下文負擔
* 工具選擇的研究持續進展，會以狀態／任務需求去挑選最合適的工具

# 模型自行打造工具：用程式碼擴充工具包
![image](https://hackmd.io/_uploads/BJAHhcqf-x.png)

* 因工具本質是函式，模型能透過寫程式自建 function 當作新工具
* 若某段程式在任務中反覆有效，可被保存進工具包，未來再被選出使用
* 這與「把成功經驗寫進記憶、再檢索出來影響行為」在精神上相近，只是記憶內容換成可重用的程式碼工具

---
# 工具鏈現象：人用 LLM，LLM 用其他工具
![image](https://hackmd.io/_uploads/BJ7w3cqMZe.png)

* 人類把語言模型當工具，語言模型再把搜尋引擎等外部系統當工具
* 搜尋引擎變成「工具的工具」，主要由語言模型代用而不是人直接使用
* 但工具可能會犯錯，過度相信工具會導致嚴重後果

# 工具出錯案例：RAG 也會被垃圾資訊帶偏
![image](https://hackmd.io/_uploads/Bkjv2c5Gbg.png)

* 以 Google 的 AI Overview（以搜尋結果做總結的 RAG）為例
* 問「披薩起司黏不住怎麼辦」得到「用無毒膠水黏」這種荒謬建議
* 來源是網路上的玩笑貼文（例如論壇/社群），模型無法可靠判斷玩笑與事實

# 語言模型是否會質疑工具輸出
![image](https://hackmd.io/_uploads/ryvY3qqfWx.png)
![image](https://hackmd.io/_uploads/HykohcqG-e.png)

* 語言模型不一定盲信工具，會用自身常識做一定程度的合理性檢查
* 當工具回傳「高雄 100°C」時，模型可能照單全收並延伸描述「很熱」
* 當工具回傳「一萬度」這種更誇張數值時，模型更可能判斷不合理並懷疑工具有誤

# 內外知識角力：internal knowledge vs external knowledge
![image](https://hackmd.io/_uploads/rkas39cz-e.png)

* 模型參數中有對世界的內部信念（internal knowledge）
* 工具或檢索提供外部資訊（external knowledge）
* 最終回答是兩者拉扯後的結果，不是單純照抄外部資訊

# 為什麼「什麼外部資訊更能說服模型」很重要
![image](https://hackmd.io/_uploads/By0h359z-l.png)

* 越來越多人用 Deep Research 之類的 AI 搜尋/報告生成，而不是自己查搜尋引擎
* 當議題有爭議、存在正反兩派時，能更「說服 AI」的文字更可能主導 AI 的彙整結果
* 因此理解模型偏好哪些外部證據，會直接影響人類最後接收到的資訊

# 研究結論：外部資訊與模型信念差距越大越不容易被採納

* 實驗先測模型內部答案：某藥最大日劑量模型答 20mg，真實是 30mg
* 提供醫學報告寫 30mg 時，模型會被糾正並回答 30mg
* 把報告改成 3mg（差太大、偏離常識）時，模型不信外部資訊，回到答 20mg
* 把報告改成 60mg（偏離但不至於荒謬）時，模型可能改信外部資訊
* 把報告改成 300mg（差距過大）時，模型又回到不信外部資訊

# 研究結論：模型對自己答案的信心會影響可被動搖程度

* 可用方法估計模型當下的信心程度
* 信心低時較容易被外部資訊說服
* 信心高時較不容易被外部資訊動搖

# 兩篇互相矛盾的文章：模型更信誰
![image](https://hackmd.io/_uploads/BJkbaccMbx.png)

* 有研究發現：一篇人寫、一篇 AI 寫且觀點相左時，模型傾向相信 AI 寫的內容
* 即使刻意挑選「模型原本立場與兩者都不同」的情境，仍觀察到偏向信 AI 的傾向
* 一個推論方向是：AI 文字可能更有結構、更清晰簡潔，使其更容易被另一個模型接受

# Metadata 影響：模型偏好「較新」的文章
![image](https://hackmd.io/_uploads/Sy9fa9cMbe.png)

* 實驗設計：同題給兩篇相反結論的文章，內容皆為 AI 生成，避免人/AI作者偏好干擾
* 只改發佈年份（例如 2024 vs 2021），模型傾向相信較新的那篇
* 交換兩篇的年份標籤後，模型的偏好也跟著翻轉，顯示「新舊」本身會影響信任

# 來源影響較小：Wiki vs 論壇等

* 測試把文章標示成 Wikipedia 或論壇擷取，對模型相信哪篇的影響相對不明顯
* 在這組設定下，來源標籤不如「發佈時間」有力

# 呈現方式也可能影響：視覺模板的偏差
![image](https://hackmd.io/_uploads/Hk6Xa99fZl.png)

* 用可看圖的模型，給相同文字內容但不同網頁模板呈現
* 模型在兩種模板間的信任傾向會不同，顯示版面呈現可能成為干擾因子
* 但由於只比較少量模板，不能武斷說模型「喜歡好看」，只能說模板差異會造成偏好差異

# 就算工具正確、RAG 也不保證不出錯
![image](https://hackmd.io/_uploads/HkAr655f-e.png)

* 例子：要求介紹「李宏毅」且強調多才多藝，模型在檢索後可能把同名不同人的資訊混在一起
* 這種錯誤不是單純工具錯，而是模型整合與敘事時的混淆
* 模型能力會快速變動，某些舊錯誤之後可能修正，但風險類型仍存在

# 使用工具不一定更有效率：取決於任務難度與模型能力
![image](https://hackmd.io/_uploads/HySDac9MZx.png)

* 類比心算 vs 計算機：簡單題（3×4）人直接答更快，按計算機反而慢
* 早期研究會外接翻譯、QA 等工具，是因為當時模型本身能力不足
* 當模型自身能力提升後，某些工具呼叫變得多餘，甚至增加成本與延遲
* 是否呼叫工具應由「問題難度」與「模型本身能力」共同決定


---
# 規劃能力的核心問題：模型到底有沒有在「想未來」
![image](https://hackmd.io/_uploads/HJ8upqqGZg.png)
![image](https://hackmd.io/_uploads/SJAF6qcMbe.png)

* 觀察到輸入就輸出，不一定代表模型真的在規劃，可能只是反射式生成
* 可以強迫模型顯式產生 plan：從 observation 出發列出達成目標的一系列行動
* 把 plan 放回後續輸入，讓模型在產生 action 時「參照 plan」執行

# 計畫會失效：環境不可控與隨機性
![image](https://hackmd.io/_uploads/Hyu3695MZx.png)

* 從 action 到下一個 observation 由外部環境決定，模型無法完全控制
* 環境隨機性會導致觀察狀態與預期不同，使原 plan 不再適用
* 例子：下棋無法預測對手出招；使用電腦時可能跳出廣告視窗導致卡住

# 動態重規劃：每一步都重新思考 plan

* 每次看到新的 observation，都重新評估是否要改 plan
* 形成當下的 plan π，並把 plan π 納入輸入，讓下一步行為可偏離原本規劃
* 這是理想化作法，前提是模型真有能力依目標與狀態產生可執行規劃

# 「看起來會規劃」不等於真的會：農場文式計畫的陷阱
![image](https://hackmd.io/_uploads/ByMA6qqGWe.png)

* 模型能生成像「百萬訂閱 YouTuber 分階段策略」這類看似合理的計畫
* 這類輸出可能只是把訓練資料中常見模板接龍出來，不代表具備可落地的規劃推理

# 早期證據：2022 任務分解與虛擬環境執行
![messageImage_1765613030262](https://hackmd.io/_uploads/ByUlA5qfWx.jpg)

* 用「把任務拆成步驟」來衡量規劃能力，例：刷牙流程拆解成連續動作
* 研究把模型生成的步驟用來操控 agent，在虛擬世界中完成取物、開關冰箱等任務
* 這顯示模型至少能在常見日常任務上給出合理的行動序列

# 規劃基準 PlanBench：從積木到「神秘方塊世界」
![image](https://hackmd.io/_uploads/SyFGA55zWx.png)

* 一般積木堆疊題可能被模型在訓練資料中看過，無法證明真正規劃能力

![image](https://hackmd.io/_uploads/ryuVC95MWe.png)

* PlanBench 增加「神秘方塊世界」：行為與規則刻意怪異且複雜，降低背誦可能

![image](https://hackmd.io/_uploads/HJ6VC9qG-g.png)

* 2023 結果顯示在神秘方塊世界多數模型正確率很低，GPT-4 也僅約個位數等級

# 後續變化：reasoning 模型在神秘方塊世界出現起色（2024/09）
![image](https://hackmd.io/_uploads/SJb8Rq9M-g.png)

* 一般模型仍普遍低分，僅少數大型或 reasoning 取向模型在簡單難度開始上升
* o1-mini、o1-preview 的曲線相對更有機會解部分題目
* 仍存在資料污染疑慮：無法完全排除模型看過類似規則或題型的可能

# 旅行規劃 Benchmark：工具使用與約束滿足的失敗（2024 年初）
![messageImage_1765613147920](https://hackmd.io/_uploads/rksPR5qMWg.jpg)
![image](https://hackmd.io/_uploads/HkNtCq9zWx.png)

* 任務：讀懂出發地、時間、預算、必去／禁忌等限制，產生三天行程並可用網路工具找資料

![image](https://hackmd.io/_uploads/SJHuC5qMbe.png)

* 2024 年初結果：多數模型成功率接近 0%，GPT-4 Turbo 也僅極低成功率
* 即使把資料先整理好貼給模型、不讓它自己用工具，成功率仍只有少數百分比

# 常見錯誤型態：常識違反與預算約束無法收斂
![messageImage_1765613223931](https://hackmd.io/_uploads/rJCzWi9Mbe.jpg)

* 行程排到航班起飛後還在安排景點與午餐，時間線不合理
* 面對超支時只微調餐費、不調整住宿等高影響成本，導致始終不符合預算
* 反覆修修補補後直接放棄約束，顯示「約束滿足」能力薄弱

# 以 solver 當工具：把約束交給演算法後大幅提升（2024/04）
![messageImage_1765613440820](https://hackmd.io/_uploads/Hy_EWi9GZg.jpg)

* 把「符合限制」交給現成 solver，模型負責寫程式與呼叫 solver 來生成方案

![messageImage_1765613447537](https://hackmd.io/_uploads/rJ-r-icMbg.jpg)
* 引入工具後，旅遊規劃可達到 90% 以上的成功率（以當時報告為例）
* 意味著規劃問題中最難的部分往往是嚴格約束與一致性檢查，工具能補足模型弱點

---
# 規劃能力現況評估
![messageImage_1765613296372](https://hackmd.io/_uploads/HkM4WjcfZl.jpg)

* 目前模型的規劃能力介於「有」與「沒有」之間
* 不能說完全不會規劃，但也談不上非常強

# 強化規劃的一種直覺方法：先跟環境互動做搜尋

* 在第一個 observation 先試探可用行為與可能路徑
* 把可選 action 都嘗試一遍，延伸到下一層狀態再繼續嘗試
* 透過大量嘗試找到成功路徑，形成一條可執行的最佳路徑

# 直接報搜的弱點：成本爆炸
![messageImage_1765613491049](https://hackmd.io/_uploads/H1F8Ws5zWe.jpg)

* 任務越複雜，路徑數越多，暴力搜尋的算力需求越不切實際
* 不可能每次決策前都完整探索所有可能性

# 剪枝思路：丟掉看起來沒希望的路徑

* 走到某狀態時，模型自問「還有成功機會嗎」
* 對每條路徑打分，低於門檻就停止探索並改走別條路
* 目標是減少無謂搜尋，把算力集中在有希望的分支

# 例子：Tree Search for Language Model Agent
![messageImage_1765613499106](https://hackmd.io/_uploads/S1Vd-j9f-g.jpg)

* 讓模型在使用電腦/網頁任務中用樹狀搜尋來做規劃
* 相較於只靠直覺式一步到位的行動，樹狀搜尋加剪枝能提升成功率
* 搜尋過程包含反覆評估路徑可行性、丟棄低分分支、保留高分分支

# Tree Search 在現實互動的問題：覆水難收
![messageImage_1765613516914](https://hackmd.io/_uploads/B1RdbsqM-e.jpg)

* 有些 action 一旦執行就無法回到原狀，例如下單訂 pizza
* 搜尋時走錯分支可能造成真實成本，即使後來發現便當才是最佳方案也回不去
* 因此「用真實世界做完整探索」在很多任務風險太高

# 解法方向：把探索搬到「夢境」裡做
![messageImage_1765613528376](https://hackmd.io/_uploads/S13Kbicf-l.jpg)

* 讓大量嘗試發生在模型腦內模擬，而不是實際對環境執行
* 先在模擬中比較路徑，再把選出的最佳步驟拿到現實執行

# 夢境規劃的關鍵缺口：需要 World Model
* 從 action 到下一個 observation 的變化是由環境決定，不是模型決定
* 若在腦內模擬，模型必須猜「做了某事後環境會怎麼變」
* 因此需要一個 World Model 來模擬環境反應與狀態轉移

# 例子：Is your LLM secretly a world model of the internet
![messageImage_1765613557773](https://hackmd.io/_uploads/H155-s5f-g.jpg)
* 用 model-based planning 做 web agent 的規劃
* 在腦內模擬點不同按鈕後可能發生的結果，通常用文字描述模擬後續頁面變化
* 對不同路徑估計成功機率（例如 40%/80%/10%），挑最高者
* 只有最後選定的那一步才真的在現實網頁中執行

# 推論模型的「腦內小劇場」可能就是規劃
![messageImage_1765613573853](https://hackmd.io/_uploads/rJ4oWs9M-g.jpg)

* 所謂 reasoning 的可見思考過程可視為在內部做多路徑嘗試與驗證
* 可能包含自我扮演 World Model、想像後果、比較成功率、選擇路徑
* 實測例子提到 DeepSeek-R1 會用很長的思考過程找出積木任務的可行解，再輸出下一步

# 風險：Overthinking（想太多）
![messageImage_1765613594353](https://hackmd.io/_uploads/B1BC-j9zWx.jpg)

* 能做腦內小劇場的模型整體表現通常更好，但可能陷入無止盡思考
* 有些情境與其一直推演，不如直接試一次（例如按按鈕再按上一頁就知道）
* 也可能在未嘗試前就先判定做不到而放棄，變成「思考很多、行動很少」

# 本段落收束的三個主題
![messageImage_1765613609917](https://hackmd.io/_uploads/HkRR-o9MWx.jpg)

* 模型如何依經驗與回饋調整行為（不訓練參數）
* 模型使用工具的可靠性與內外知識拉扯
* 模型是否能做計畫，以及如何用搜尋、夢境模擬、world model 與避免想太多來強化規劃

---

# Terminology
* 免責聲明（Disclaimer）：課程先界定使用情境與定義範圍，避免名詞爭議影響理解
* 目標導向（Goal-oriented）：只給「要達成什麼」，不給「怎麼做」的任務描述方式
* 明確指令（Explicit Instruction）：人類逐步指定行為或流程的指令型互動
* 行為步驟（Action Steps）：完成目標所需的可執行操作序列
* 觀測（Observation）：代理從環境取得的當前狀態資訊
* 行動（Action）：代理在某一時刻對環境施加的操作或決策
* 環境（Environment）：代理互動的外部系統或世界，會因行動而改變狀態
* 狀態（State）：環境在某一時間點的完整描述（觀測可能是其部分或帶噪版本）
* 回饋循環（Feedback Loop）：行動改變環境、產生新觀測，再驅動下一次行動的閉環
* 終止條件（Termination Condition）：判斷任務何時結束（達標、超時、失敗等）的規則
* 強化學習（Reinforcement Learning, RL）：透過與環境互動、最大化回饋來學習策略的方法
* 代理（Agent）：在環境中根據觀測選擇行動以達成目標的決策體
* 策略（Policy）：從狀態或觀測映射到行動的規則或函數
* 獎勵（Reward）：環境回傳的數值訊號，用於衡量行動好壞
* 獎勵塑形（Reward Shaping）：設計或調整獎勵以引導學習更快收斂的技巧
* 最大化期望回報（Maximize Expected Return）：RL 的核心目標：長期累積獎勵的期望最大化
* 回報（Return）：一段時間內折扣後的累積獎勵總和
* 折扣因子（Discount Factor, γ）：控制未來獎勵在回報中權重的係數
* 馬可夫決策過程（Markov Decision Process, MDP）：用狀態、行動、轉移與獎勵形式化決策問題的框架
* 狀態轉移（State Transition）：採取行動後環境從一個狀態演變到下一個狀態的機制
* 動作空間（Action Space）：代理可選擇的所有行動集合（離散或連續）
* 狀態空間（State Space）：環境所有可能狀態的集合
* 部分可觀測（Partially Observable）：代理無法直接觀察到完整狀態，只能看到部分資訊
* 部分可觀測 MDP（POMDP）：在部分可觀測條件下的決策模型
* 棋盤表示（Board Representation）：將棋局狀態轉成可供模型處理的資料格式（文字或向量）
* 規則一致性（Rule Consistency）：行動是否符合任務領域規則（如棋規、語法、流程限制）
* 基準測試（Benchmark）：用來比較模型能力的標準化題集或任務集合
* BIG-bench（BIG-bench）：用於評估語言模型多面向能力的基準集合
* 多模態模型（Multimodal Model）：可處理文字以外輸入（影像、聲音等）的模型
* 視覺語言模型（Vision-Language Model, VLM）：能同時理解影像與文字並做推理/生成的模型
* 環境文字化（Textualization）：把環境狀態轉成文字敘述供 LLM 使用的做法
* 行動轉譯（Action Parsing）：把模型輸出的文字轉成可執行指令或 API 呼叫
* 工具介面（Tool Interface）：模型與外部系統互動的標準化入口（函式、API、指令等）
* 工具使用（Tool Use）：代理在推理過程中主動呼叫外部工具以補足能力
* 規劃（Planning）：在採取行動前先產生多步策略與路徑的能力
* 動態重規劃（Replanning）：根據新觀測與不確定性隨時調整既定計畫
* 不可預測性（Uncertainty）：環境回應或狀態轉移無法完全預知的特性
* 彈性策略（Adaptive Strategy）：面對變動情境仍能調整行為以逼近目標的方法
* 通用能力（Generalization）：跨不同任務或分佈仍能維持表現的能力
* 任務專用模型（Task-specific Model）：為單一任務訓練、難以直接遷移到其他任務的模型
* 參數（Parameters）：模型內部可學習的權重，決定其行為與能力
* 模型遷移（Transfer）：將已學到的能力用到新任務或新場景的過程
* 文字接龍（Next-token Prediction）：LLM 以預測下一個 token 為核心的生成機制
* 應用層（Application Layer）：在既有模型之上增加流程、工具與介面形成可用產品的層級
* 代理式工作流（Agentic Workflow）：以 LLM 作為決策核心，串接工具並迭代完成任務的流程
* AutoGPT（AutoGPT）：早期以 LLM 驅動的自動迭代代理系統代表案例
* 幻覺（Hallucination）：模型生成看似合理但不正確或不一致的內容（含規則違反行動）
* 約束解碼（Constrained Decoding）：在生成時施加格式/規則限制以降低違規輸出的方法
* 結構化輸出（Structured Output）：要求模型以 JSON/函式呼叫等固定格式輸出以利可靠執行
* 錯誤日誌（Error Log）：系統回傳的錯誤訊息與堆疊，用於除錯與迭代修正
* AI Agent（Artificial Intelligence Agent）：能感知環境、做出決策並採取行動以達成目標的自主系統
* 虛擬村莊（Virtual Village）：由多個自主代理組成、模擬社會互動與生活行為的虛擬環境
* NPC（Non-Player Character）：由系統控制、非真人操控的角色，常用於遊戲或模擬
* 語言模型（Language Model）：以文字為主要輸入輸出、用來理解與生成語言的模型
* 大型語言模型（Large Language Model, LLM）：參數規模極大、具備通用語言理解與生成能力的語言模型
* 目標導向行為（Goal-Oriented Behavior）：代理依據預設或動態目標來選擇行動的能力
* Observation（觀察）：代理從環境中接收到的資訊，作為決策依據
* Action（行為）：代理根據觀察與內部狀態所執行的具體操作
* 環境表徵（Environment Representation）：將真實或虛擬世界轉換成代理可理解的形式
* 文字化感知（Textual Perception）：將環境狀態以文字描述提供給模型理解
* 行為轉譯器（Action Translator）：將高階語言描述的行為轉換為可執行指令的模組
* 自主決策（Autonomous Decision Making）：代理在無人工即時干預下自行選擇行動
* 多代理系統（Multi-Agent System）：由多個代理互動、協作或競爭所構成的系統
* 社會模擬（Social Simulation）：利用代理模擬群體行為與社會動態的方法
* Minecraft AI NPC：在 Minecraft 環境中以 AI 取代傳統腳本 NPC 的實驗系統
* 憲法式治理（Constitutional Governance）：由代理自行制定並遵守規則的治理形式
* 人工經濟系統（Artificial Economy）：由代理之間交易、資源分配所形成的經濟結構
* Computer Use Agent（電腦使用代理）：能像人類一樣操作電腦介面的 AI 系統
* Operator（操作型代理）：以完成使用者指令為目標、主動操作工具與介面的代理
* 螢幕感知（Screen Perception）：直接以畫面影像作為模型輸入的感知方式
* 視覺語言模型（Vision-Language Model）：同時理解影像與文字資訊的模型
* 鍵盤滑鼠控制（Keyboard & Mouse Control）：代理可執行的低階輸入操作
* Web-based Agent（網頁型代理）：以瀏覽器與網頁作為主要行動空間的代理
* World of Bits：2017 年提出、以網頁互動為目標的早期 AI agent 資料集與平台
* 卷積神經網路（Convolutional Neural Network, CNN）：常用於影像處理的深度學習模型
* 端到端學習（End-to-End Learning）：從感知到行動全流程由單一模型學習的方法
* BERT 以前時代（Pre-BERT Era）：指大型預訓練語言模型尚未成熟的早期 NLP 階段
* 網頁自動化（Web Automation）：由代理自動完成網頁操作任務的技術
* MiniWoB（Mini World of Bits）：簡化版 World of Bits，用於評估網頁代理能力
* WebArena：用於評估 AI agent 在真實網站完成任務能力的基準
* Visual WebArena：結合視覺輸入與網頁操作的代理評測環境
* 任務導向代理（Task-Oriented Agent）：以完成特定任務為主要評估標準的代理
* 強基線（Strong Baseline）：在實驗中作為比較對象的高水準參考方法
* 自我改進迴圈（Self-Improvement Loop）：代理根據結果反覆調整策略的流程
* AIDE（AI-Driven Engineering）：以 AI agent 執行機器學習工程任務的框架
* 機器學習工程師代理（ML Engineer Agent）：模擬人類工程師進行模型訓練與調參的代理
* 多代理協作（Multi-Agent Collaboration）：多個代理分工合作以解決複雜問題
* AI Co-scientist（AI 共同科學家）：輔助研究人員產生研究假說與計畫的代理系統
* 研究提案生成（Proposal Generation）：由 AI 產生完整研究計畫的能力
* 回合制互動（Turn-Based Interaction）：觀察與行為交替、一步一步進行的互動模式
* 即時互動（Real-Time Interaction）：代理能在行為執行中即時回應環境變化
* 非回合制互動（Non-Turn-Based Interaction）：觀察與行為可重疊進行的互動形式
* 語音代理（Voice Agent）：以語音作為主要互動媒介的 AI agent
* GPT-4o Voice Mode：支援即時語音理解與生成的多模態互動模式
* 即時中斷處理（Interruption Handling）：代理在被打斷時能即時調整行為的能力
* 行為切換（Action Switching）：代理根據新觀察快速改變當前行動的能力
* arXiv（arXiv）：開放式學術預印本平台，用於快速公開最新研究成果
* 行為調整（Behavior Adaptation）：根據回饋或經驗改變後續決策方式
* 經驗學習（Experience-based Learning）：利用過去互動結果影響未來行為
* 環境回饋（Environmental Feedback）：環境對行動給出的結果或訊號
* 編譯錯誤（Compile Error）：程式在編譯階段產生的錯誤訊息
* 錯誤訊息（Error Message）：系統回傳用來描述失敗原因的文字
* 參數更新（Parameter Update）：透過訓練調整模型權重的過程
* 微調（Fine-tuning）：以額外資料重新訓練模型參數的方法
* 無訓練學習（Training-free Adaptation）：不更新參數、僅靠輸入改變行為
* 條件式生成（Conditional Generation）：輸出會隨輸入條件不同而改變
* 上下文學習（In-context Learning）：模型僅根據上下文範例即時學習
* 長序列問題（Long-context Issue）：輸入過長導致模型效能下降的現象
* 上下文視窗（Context Window）：模型一次可處理的最大輸入長度
* 計算負擔（Computational Burden）：處理大量資訊所需的算力成本
* 記憶瓶頸（Memory Bottleneck）：因資訊過多導致檢索或決策困難
* 超憶症（Hyperthymesia）：能記住幾乎所有個人經歷的罕見記憶現象
* 抽象思考（Abstract Reasoning）：從具體經驗中形成高層概念的能力
* 長期記憶（Long-term Memory）：跨時間保存經驗與資訊的儲存結構
* 記憶模組（Memory Module）：負責儲存與管理經驗的系統元件
* 讀取模組（Read Module）：從記憶中選擇相關經驗供決策使用的機制
* 寫入模組（Write Module）：決定哪些資訊應被保存進長期記憶的機制
* 記憶檢索（Memory Retrieval）：從大量記憶中找出相關內容的過程
* 關聯性篩選（Relevance Filtering）：只保留與當前任務相關的資訊
* 檢索系統（Retrieval System）：根據查詢搜尋資料庫的技術架構
* 向量檢索（Vector Retrieval）：利用向量相似度搜尋相關內容的方法
* 檢索增強生成（Retrieval Augmented Generation, RAG）：結合檢索與生成的技術
* 個人經驗庫（Episodic Memory）：儲存代理自身互動歷程的記憶形式
* 外部知識庫（External Knowledge Base）：來自代理之外的資料來源
* StreamBench：評估模型是否能隨經驗逐步提升表現的基準測試
* 線上評估（Online Evaluation）：在任務進行中即時衡量表現的方法
* 二元回饋（Binary Feedback）：僅提供對或錯的回饋形式
* 平均正確率（Average Accuracy）：整體任務過程中的表現指標
* 學習速度（Learning Speed）：利用回饋改善表現所需的步數
* 基準模型（Baseline）：用來比較改進效果的參考方法
* 獨立假設（Independence Assumption）：假設各次決策互不影響的設定
* 正向範例（Positive Example）：展示正確行為或答案的經驗
* 負向範例（Negative Example）：展示錯誤行為或答案的經驗
* 正向回饋偏好（Positive Feedback Bias）：模型對正確示例反應更佳的現象
* 指令表述偏好（Instruction Framing）：模型更容易理解「要做什麼」而非「不要做什麼」
* 記憶壓縮（Memory Compression）：降低記憶冗餘、保留關鍵資訊的策略
* 重要性判斷（Salience Estimation）：評估資訊是否值得被記住的過程
* 反思模組（Reflection Module）：對既有經驗進行高層整理與推論的機制
* 高層抽象（High-level Abstraction）：從多個經驗中歸納出的概念或規則
* 推論記憶（Inferred Memory）：非直接觀測、由反思產生的結論
* 知識圖譜（Knowledge Graph）：以節點與關係表示知識結構的圖形模型
* Graph RAG：結合知識圖譜與檢索增強生成的 RAG 方法
* HIPO RAG：模仿海馬迴結構、以圖式記憶輔助檢索的 RAG 架構
* 長期記憶（Long-Term Memory）：AI agent 用來跨對話保存穩定資訊的記憶機制
* 記憶寫入模組（Memory Write Module）：負責判斷哪些資訊需要被存入長期記憶的組件
* 記憶讀取模組（Memory Read Module）：在回答問題時從記憶中提取相關資訊的機制
* 自主記憶判斷（Autonomous Memory Selection）：由模型自行決定是否寫入或讀取記憶的能力
* 記憶錯誤（Memory Hallucination）：AI 在記憶中存入不正確或誤解的資訊現象
* 記憶抽象化（Memory Abstraction）：將具體對話內容轉換為高階概念後再存入記憶
* 個人化（Personalization）：AI 根據使用者長期資訊調整回應行為的能力
* 記憶管理介面（Memory Management Interface）：讓使用者檢視與刪除 AI 記憶的系統
* 情境感知（Context Awareness）：AI 利用歷史與當前資訊理解使用情境的能力
* 記憶觸發（Memory Triggering）：特定輸入引發記憶模組啟動的過程
* MemoryGPT：2023 年提出，使用外部記憶來擴充 LLM 上下文限制的架構
* Agent Workflow Memory：2024 年提出，將記憶整合進 agent 工作流程的設計
* Agent Memory Agent：2025 年研究，探討 agent 自主學習與管理記憶的方法
* 工具（Tool）：AI agent 可調用、但不需理解內部實作的外部功能
* 黑箱工具（Black-Box Tool）：僅需遵守輸入輸出介面、不暴露內部細節的工具
* 工具調用（Tool Invocation）：AI 以結構化方式請求使用某個工具的行為
* 函式呼叫（Function Calling）：將工具使用視為函式調用的設計模式
* Function Calling Prompt：教導模型如何以特定格式呼叫工具的提示設計
* 工具描述（Tool Specification）：以文字定義工具用途、輸入與輸出的說明
* System Prompt（系統提示）：具有最高優先級、用來規範模型行為的固定提示
* User Prompt（使用者提示）：由使用者提供、描述當前任務需求的輸入
* 提示優先級（Prompt Priority）：System Prompt 高於 User Prompt 的控制機制
* 文字接龍（Next Token Prediction）：語言模型生成回應的基本運作原理
* 工具橋接（Tool Bridging）：將模型輸出的文字轉換為實際函式執行的中介流程
* 隱式工具使用（Hidden Tool Usage）：對使用者隱藏工具調用細節的設計方式
* 檢索增強生成（Retrieval Augmented Generation, RAG）：透過搜尋或檢索工具輔助生成回答
* 搜尋引擎工具（Search Engine Tool）：提供即時或外部知識給模型使用的工具
* 多模態工具（Multimodal Tool）：可處理語音、影像等非文字資料的工具
* 語音辨識（Automatic Speech Recognition, ASR）：將語音轉換為文字的工具能力
* 語者辨識（Speaker Identification）：判斷語音中說話者身分的技術
* 情緒辨識（Emotion Recognition）：從語音或訊號中推斷情緒狀態的技術
* 聲音事件分類（Sound Event Classification）：辨識背景或環境聲音的任務
* 工具鏈（Tool Chain）：多個工具依序被調用以完成複雜任務的流程
* 工具協調（Tool Orchestration）：管理與安排多個工具使用順序的能力
* Dynamic-SUPER：評估語音理解與推理能力的多任務基準資料集
* 工具選擇模組（Tool Selection Module）：從眾多工具中挑選合適工具的機制
* 工具記憶庫（Tool Memory）：將工具說明與程式碼存入記憶以供檢索的設計
* 工具檢索（Tool Retrieval）：根據當前任務狀態選出相關工具的過程
* 可擴充工具集（Scalable Toolset）：支援大量工具而不影響決策效率的架構
* 自動程式生成（Automatic Code Generation）：語言模型自行撰寫程式碼的能力
* 自我工具建構（Self-Tool Creation）：AI agent 自行產生並重用工具的能力
* 工具演化（Tool Evolution）：工具隨著使用經驗被保留、淘汰或改進的過程
* 經驗導向行為調整（Experience-Driven Behavior Adaptation）：依據過去成功經驗改變行為策略的能力
* 工具化語言模型（Tool-augmented Language Model）：將語言模型視為可調用外部工具的決策核心
* 工具鏈（Tool Chain）：工具彼此串接、形成多層依賴的使用結構
* 次級工具（Tool-of-a-tool）：僅被其他工具或模型使用、不直接面向人類的系統
* 工具錯誤（Tool Error）：外部工具提供不正確或誤導性輸出的情況
* 過度信任（Over-reliance）：對工具輸出缺乏質疑與驗證的傾向
* 工具信任校準（Tool Trust Calibration）：調整模型對工具可靠度的判斷能力
* 檢索增強生成失效（RAG Failure）：因檢索內容品質不佳導致生成錯誤的現象
* 噪音資料（Noisy Data）：來源不可靠、玩笑或錯誤的外部資訊
* 資料污染（Data Contamination）：不正確資訊被當作知識使用的問題
* 常識檢查（Sanity Check）：利用基本常識判斷輸出是否合理的機制
* 溫度 API（Temperature API）：回傳環境溫度的外部工具介面
* 不合理輸出檢測（Anomaly Detection）：識別明顯違反現實的工具結果
* 內部知識（Internal Knowledge）：模型參數中隱含學到的世界知識
* 外部知識（External Knowledge）：由工具、文件或檢索系統提供的資訊
* 知識衝突（Knowledge Conflict）：內外部資訊彼此矛盾的狀況
* 信念拉扯（Belief Tension）：模型在內外部知識間權衡後形成輸出的過程
* 知識一致性（Knowledge Consistency）：資訊是否與既有信念相符
* 說服性（Persuasiveness）：資訊影響模型最終判斷的能力
* 深度研究（Deep Research）：多來源檢索後由模型整合分析的搜尋形式
* 爭議議題（Controversial Topic）：存在多種互相衝突觀點的問題
* 資訊優勢（Information Advantage）：較容易影響模型或搜尋結果的一方
* 模型信心（Model Confidence）：模型對自身答案正確性的內部估計
* 不確定性估計（Uncertainty Estimation）：評估回答可靠度的方法
* 信念可動搖性（Belief Plasticity）：模型信念被外部資訊改變的程度
* 劑量合理性（Dose Plausibility）：醫學數值是否落在合理範圍內的判斷
* 差距容忍度（Belief Gap Tolerance）：模型可接受外部資訊偏離自身信念的幅度
* 極端值拒斥（Outlier Rejection）：對過於極端外部資訊的不信任
* AI 來源偏好（AI-source Bias）：模型傾向相信其他 AI 產生內容的現象
* 同類偏好（In-group Preference）：對「同類型系統」資訊的信任傾向
* 跨模型影響（Cross-model Influence）：一個模型的輸出影響另一模型判斷
* 結構化表達（Structured Writing）：條理清楚、層次分明的文字特徵
* 語言品質偏好（Linguistic Quality Bias）：因語言表現佳而提高信任度
* 中繼資料（Metadata）：描述資料屬性的附加資訊
* 發佈時間（Publication Date）：內容被認為新舊程度的重要訊號
* 新近性偏好（Recency Bias）：模型傾向相信較新資訊的行為
* 來源可信度（Source Credibility）：資訊來源是否可靠的評估
* 視覺呈現（Visual Presentation）：內容在畫面上的呈現方式
* 多模態判斷（Multimodal Judgment）：同時利用文字與影像進行判斷
* 模板效應（Template Effect）：版面設計影響信任判斷的現象
* 幻覺錯誤（Hallucination Error）：即使有工具仍產生錯誤整合的輸出
* 同名歧義（Name Ambiguity）：不同實體共享相同名稱造成混淆
* 實體消歧（Entity Disambiguation）：區分同名不同對象的能力
* 工具呼叫成本（Tool Invocation Cost）：使用工具所需的時間與資源
* 任務難度門檻（Difficulty Threshold）：低於此門檻直接推理比用工具更快
* 工具適配性（Tool Appropriateness）：是否適合在特定任務中使用工具
* 能力取代（Capability Supersession）：模型能力提升後使工具變得多餘
* 效率權衡（Efficiency Trade-off）：是否使用工具需在速度與準確間取捨
* 規劃（Planning）：為達成目標而事先設計一系列行動步驟的過程
* 行動序列（Action Sequence）：按順序執行以完成任務的一組動作
* 反射式回應（Reflexive Response）：未顯式規劃、直接由輸入映射到輸出的行為
* 顯式規劃（Explicit Planning）：模型明確產生並表達完整行動計畫的能力
* 隱式規劃（Implicit Planning）：模型內部可能存在但未對外顯示的規劃過程
* 目標導向規劃（Goal-Directed Planning）：以最終目標為核心來設計行動策略
* Observation-conditioned Planning：根據當前觀察狀態動態生成計畫的方式
* 計畫回饋迴圈（Plan-Execute-Observe Loop）：計畫、執行、觀察反覆進行的決策流程
* 計畫修正（Plan Revision）：在環境改變後調整原有計畫的能力
* 動態規劃（Dynamic Planning）：隨時間與環境變化即時更新規劃的能力
* 環境不確定性（Environmental Uncertainty）：外部狀態無法完全預測的特性
* 隨機轉移（Stochastic Transition）：行動導致的結果具有隨機性的情境
* 對手建模（Opponent Modeling）：在競爭環境中推測其他行為者策略的能力
* 封閉世界假設（Closed World Assumption）：假設所有狀態與規則皆已知的設定
* 開放世界（Open World）：存在未知狀態與突發事件的真實環境設定
* 層級式規劃（Hierarchical Planning）：將高層目標拆解為多層次子目標的規劃方式
* 任務分解（Task Decomposition）：把複雜任務拆成可執行的小步驟
* 長期規劃（Long-Horizon Planning）：需要考慮多步未來影響的規劃問題
* 計畫一致性（Plan Consistency）：行動是否前後符合既定規劃的性質
* 計畫脆弱性（Plan Fragility）：規劃在小幅環境變動下即失效的問題
* 廣告干擾（Unexpected Pop-up）：非預期事件導致計畫中斷的實例
* 即時再規劃（Replanning）：在新觀察下重新生成可行計畫的能力
* 策略彈性（Behavioral Flexibility）：根據情境變化調整行為的能力
* 推理型模型（Reasoning Model）：強化多步推理與規劃能力的語言模型
* 計畫生成提示（Planning Prompt）：明確要求模型先產生計畫的提示設計
* 計畫作為輸入（Plan-as-Input）：將已生成的計畫放入後續模型輸入的做法
* 計畫導向執行（Plan-Guided Execution）：行動生成受既定計畫約束的模式
* 計畫與控制分離（Planning-Control Separation）：規劃與執行由不同模組負責的架構
* 任務完成率（Task Success Rate）：衡量規劃是否成功達成目標的指標
* 早期規劃研究（Early Planning Studies）：2022 年前後對 LLM 規劃能力的初期探索
* 步驟生成能力（Step Generation Ability）：模型列出完成任務所需步驟的能力
* 虛擬環境代理（Embodied Agent）：在模擬世界中執行實體行為的代理
* 行為可執行性（Action Feasibility）：規劃中的行動是否能在環境中實現
* Planning Benchmark：專門評估模型規劃能力的測試集合
* 方塊世界（Block World）：經典規劃問題的抽象環境
* 狀態轉移規則（State Transition Rules）：定義行動如何改變環境狀態的規則
* 資料洩漏風險（Data Contamination）：模型在訓練中看過測試題型的問題
* 神秘方塊世界（Mystery Block World）：具有陌生規則、避免記憶套用的規劃測試
* 規則理解（Rule Understanding）：正確掌握抽象操作規則的能力
* 過度擬合（Overfitting）：模型只在熟悉分佈下表現良好的現象
* Chain-of-Thought Sorting：引導模型整理推理步驟的技術
* o1 系列模型（o1 Models）：強調推理與規劃能力的新一代模型
* 旅行規劃任務（Travel Planning Task）：結合常識、約束與工具使用的規劃問題
* 約束滿足（Constraint Satisfaction）：在多重限制下找到可行解的能力
* Solver-based Planning：利用數學或最佳化求解器輔助完成規劃的方法
* 規劃能力（Planning Capability）：模型在行動前組織多步策略以達成目標的能力
* 狀態空間搜尋（State Space Search）：在可能狀態組合中尋找成功路徑的方法
* 行為分支（Action Branching）：在某一狀態下可選擇的多種行動可能
* 全域搜尋（Exhaustive Search）：嘗試所有可能路徑以找出最佳解的方法
* 計算爆炸（Combinatorial Explosion）：狀態與行為數量成長導致計算不可行的問題
* 剪枝（Pruning）：在搜尋過程中丟棄不具潛力路徑以降低計算量
* 啟發式評分（Heuristic Scoring）：估計路徑成功機率以引導搜尋方向的方法
* 門檻值（Threshold）：決定是否繼續探索某路徑的臨界標準
* 樹狀搜尋（Tree Search）：以樹結構展開狀態與行為進行規劃的演算法
* Tree Search for Language Model Agents：將樹狀搜尋應用於語言模型代理的研究方向
* 反射式決策（Reactive Decision）：不經長期規劃、直接根據當前狀態回應的方式
* 覆水難收行動（Irreversible Action）：一旦執行便無法撤回的行為
* 真實互動成本（Real-world Interaction Cost）：在現實環境中嘗試行動的代價
* 腦內模擬（Mental Simulation）：不實際執行、僅在模型內部推演結果的過程
* 夢境規劃（Dream-based Planning）：在假想環境中測試行動序列的策略
* 世界模型（World Model）：用來預測行動後環境變化的內部模型
* 模型式規劃（Model-based Planning）：依賴世界模型進行前瞻規劃的方法
* 自我對弈（Self-play）：模型同時扮演環境與代理以學習策略的方式
* 對手建模（Opponent Modeling）：預測他方行為以輔助決策的能力
* 文字環境模擬（Text-based Environment Simulation）：用文字描述想像中的環境變化
* 潛在結果評估（Outcome Evaluation）：比較不同路徑可能結果的好壞
* 成功機率估計（Success Probability Estimation）：預測行動達標可能性的能力
* 最佳路徑（Optimal Path）：在規劃中達成目標的最優行動序列
* 行動延遲（Action Delay）：因過度思考而延後執行行動的現象
* 推理型模型（Reasoning Model）：能顯式展開中間思考步驟的語言模型
* 腦內小劇場（Chain-of-Thought Simulation）：模型內部展開多步推演的思考形式
* 隱式規劃（Implicit Planning）：未明確表述但在推理過程中完成的規劃
* 多路徑假設（Multiple Hypothesis Generation）：同時考慮多種可能解法的能力
* 自我驗證（Self-verification）：模型檢查自身推論是否合理的過程
* 行動先行（Act-first Strategy）：優先嘗試行動再根據結果修正策略的方法
* 探索與利用（Exploration vs. Exploitation）：在嘗試新行動與使用已知好行動間的取捨
* 信用卡效應（High-risk Action）：某些行動嘗試成本極高、不可輕易測試
* 思考過載（Overthinking）：推理過度導致效率下降的問題
* 思考—行動失衡（Think-Act Imbalance）：思考很多但實際行動很少的狀態
* 思考的巨人行動的矮子（Analysis Paralysis）：因分析過多而無法前進的情況
* 早期放棄（Premature Abandonment）：尚未嘗試行動便判定失敗的行為
* 規劃—執行分離（Plan-Execute Separation）：先完成規劃再逐步執行的架構
* 單步輸出（Single-step Action Output）：一次僅產生下一個行動的控制方式
* 最優解驗證（Solution Validation）：確認規劃結果確實可行的過程
* 能力邊界（Capability Boundary）：模型規劃與推理能力的實際上限
* 規劃增強（Planning Augmentation）：透過外部方法提升模型規劃表現的技術
* 過度推理風險（Over-reasoning Risk）：因推理機制導致新型錯誤的可能性
