# 章節包:人工智慧導論(AI)W2(9/17)第 02 章「環境性質與五種 Agent」
影片 0:13:28–0:40:28,YouTube ID hNZQIO0q74o,逐字稿 C:\D槽\TAICA課程\人工智慧導論\第二周1150917\W2_人工智慧導論_朱威達.逐字稿.txt。Notion 章節頁 https://app.notion.com/p/3e6fc631b03081da84a3de991c10424f(頁 ID 3e6fc631-b030-81da-84a3-de991c10424f),頁面標題「02 環境性質與五種 Agent(0:13–0:40)」。
## 1. 第一行(直接照抄,不要改)
[人工智慧導論](https://app.notion.com/p/3e6fc631b0308131b213f0a3d93fe91d) › [W2(9/17)](https://app.notion.com/p/3e6fc631b0308175a433e5fa4bc500df) › 02|影片 [0:13:28–0:40:28](https://www.youtube.com/watch?v=hNZQIO0q74o&t=808s)|投影片 Ch2 p.2、p.9–26(p.2–12 為 W1 複習)|上一章 [01 HW1 提案寫法與分組(0:01–0:13)](https://app.notion.com/p/3e6fc631b030816cb5e8d1b405b4349e)|下一章 [03 搜尋問題的定義(0:53–1:08)](https://app.notion.com/p/3e6fc631b03081c8a7e0e152c12bbd25)
## 1b. 最後一行(直接照抄,放在 Self-check 後面,當全頁最後一行)
讀完了嗎?下一章:[03 搜尋問題的定義(0:53–1:08)](https://app.notion.com/p/3e6fc631b03081c8a7e0e152c12bbd25)|回到週頁:[W2(9/17)](https://app.notion.com/p/3e6fc631b0308175a433e5fa4bc500df)
## 2. 各段標題(照順序;每段一個 ## 標題,直接照抄連結)
- `## [0:13:28](https://www.youtube.com/watch?v=hNZQIO0q74o&t=808s) 複習:agent、PEAS 與前三組環境性質` 老師講什麼:Agent 用 sensor 感知、用 actuator 行動,兩者都很廣義;task environment 用 PEAS 描述(計程車例子),老師補充現代 agent 的大腦多由 LLM 擔任。接著複習 fully/partially observable、single/multi-agent、deterministic/stochastic。
- `## [0:22:04](https://www.youtube.com/watch?v=hNZQIO0q74o&t=1324s) 新的四組環境性質` 老師講什麼:Episodic vs sequential(下棋、開車是 sequential)、static vs dynamic(思考時環境會不會變,開車是 dynamic)、discrete vs continuous、known vs unknown(是否知道環境背後的規則),並帶過 p.15 的屬性對照表。
- `## [0:25:03](https://www.youtube.com/watch?v=hNZQIO0q74o&t=1503s) Agent = architecture + program` 老師講什麼:AI 的工作是設計 agent program,把感知對應到動作;它跑在有感測器與致動器的 architecture 上,虛擬世界也算。最直觀的查表法不可行,因為表會大到列不完。
- `## [0:28:17](https://www.youtube.com/watch?v=hNZQIO0q74o&t=1697s) Simple reflex agent` 老師講什麼:只看當下這一刻的感知,用 condition-action rule 決定動作,例如吸塵器髒就吸、乾淨就移到另一格。
- `## [0:29:42](https://www.youtube.com/watch?v=hNZQIO0q74o&t=1782s) Model-based reflex agent` 老師講什麼:保留 internal state(記憶),綜合過去看到的、做過的與現在看到的,再用規則決定動作,能處理部分可觀察的環境。
- `## [0:31:37](https://www.youtube.com/watch?v=hNZQIO0q74o&t=1897s) Goal-based agent` 老師講什麼:給 agent 目標,決策時考慮「做了之後會不會更接近目標」,也就是會考慮未來;目標一改,行為就跟著改。
- `## [0:33:49](https://www.youtube.com/watch?v=hNZQIO0q74o&t=2029s) Utility-based agent` 老師講什麼:目標不只一個又互相衝突時(例如又要快又要安全),用效益來權衡;理性的 agent 會選 expected utility 最大的動作。
- `## [0:37:06](https://www.youtube.com/watch?v=hNZQIO0q74o&t=2226s) Learning agent 與第二章收尾` 老師講什麼:讓 agent 從資料和回饋中自己越做越好,老師說這就是後來機器學習、深度學習的脈絡;老師說第一、二章都講得很 high level。
## 3. 老師強調/會考/不考的地方(原句已驗證;寫進筆記時 ASR 錯字要改正)
- (0:14:14) [強調] 「那在這邊大家要注意的是,這裡講的感測器,不見得一定是什麼IoT的」 → sensor 與 action 的定義很廣,收到資料就算感知,送出資料也算動作
- (0:17:34) [強調] 「PEAS這樣的地理還缺了一個很重要的東西,就是大腦」 → 現代 agent 的大腦(決策者)多由 LLM 擔任
## 3b. 數學段候選(程式抓的,只是提示;寫「跳過提示」行用)
0 段候選(門檻 3.0 字/30 秒)
## 4. 這章摘要與重要度
複習 agent 與 task environment,補完四組環境性質,再依序介紹 simple reflex、model-based、goal-based、utility-based、learning 五種 agent。(核心)
## 5. 整堂課的提醒(ASR 錯字、老師口誤、投影片缺公式等;只用跟這章有關的)
- 影片開頭缺幾分鐘:YouTube 標題 AI2026_0917_3。0:00:00–0:01:43 老師在設定直播畫面,0:01:46 起接著講到一半的 HW1 說明,HW1 前段不在影片裡。
- 1:02:22–1:02:52 約 30 秒逐字稿是 ASR 亂碼(重複「我用這個」「有一個」),剛好是八皇后問題的開場,寫筆記時以投影片 Ch3 p.7 為準。
- 兩次下課:0:40:28–0:53:20、1:43:47–1:56:41。下課時段的逐字稿時間戳有跳動(0:43:20→0:53:20、1:52:41→1:56:41 都剛好差整數分鐘),Ch3 與 informed search 的起點建議開影片確認。
- HW1 說明前段不在影片裡,本機投影片也沒有 HW1 說明頁(Lecture 0 只有一行 project proposal),研究動機之前講了什麼無法得知。
- 0:03:10「所以這邊會佔75%的比例」不確定指哪幾塊(introduction 加方法?),筆記建議只寫老師提到 75%,不要自行解讀。
- ASR 錯字(寫筆記時要改):0:06:52「CPPR的格式」應為 CVPR;0:06:57「體驗報告」推測是「提案報告」;0:07:02「角角的期限」應為「繳交期限」;2:28:58「無極」應為 ridge(屋脊);2:30:5x「8的84%17個million」應為 8^8 ≈ 17 million;另外多處 Asian=agent、Socastic=stochastic、Pass Cost=path cost、heel climbing=hill climbing、None=known、Amstrong Search/Active=A* search/optimal。
- 1:29:16「GPD-6 ASTRON」不確定原詞,大概是某個 GPT 的 agent 產品,筆記建議寫「現在的 AI agent」即可。
- 1:02:22–1:02:52 逐字稿亂碼約 30 秒(八皇后開場,老師好像在說買了一個小棋盤),內容以 Ch3 p.7 補。
- 時間戳疑似漂移:0:43:20「好接下來呢」→0:53:20、1:52:41「第二個部分」→1:56:41,都剛好差整數分鐘;章節起點採後者,建議開影片確認。
- 老師口誤或 ASR:1:12:54、1:17:25 把 BFS、UCS 說成「Informed Search」,投影片 p.12–17 標的是 Uninformed,筆記照投影片寫。
- 老師口頭說法跟投影片不同(筆記照投影片寫,並加「注意」):(a) 1:21:5x 說「BFS 也可以找最佳解」,課本是步驟成本都一樣時才是;(b) 2:01:2x 說 greedy「有解一定會找到」,p.30 寫的是只在有限狀態空間才 complete;(c) 2:06 說 A* 要同時符合 admissible 與 consistent 才最佳,p.33 說 consistency 是稍強的條件,只有 graph search 才需要。
- 投影片內容有、老師沒明講的地方,Exam-ready 要補原句:Ch3 p.23(IDDFS 是搜尋空間大、解的深度未知時的首選)、Ch2 p.25(utility-based 能處理 stochastic/部分可觀察環境的不確定性)、Ch4 p.6 後半(有多個最好的鄰居時隨機挑)。
- 投影片 _text 缺公式(p.14、p.19、p.20、p.25 的 O(b^d)、O(b^m)、O(bm)、O(b^(d/2)) 都是空白),寫 Exam-ready 前要看投影片圖確認。
- 下課時段講台邊的對話(1:44:44–1:52:27)分不清誰是老師、誰是學生,例如 1:45:54「就是有自己的想法這才是那個重點」不確定是誰說的;「這週要記得」只用確定是老師回答的部分。
- 0:11:10「沒有點名」推測是回答 Slido 上「有沒有點名」的問題,但沒看到原問題,不確定。
## 6. 投影片文字(這章範圍)
**這幾頁的公式或內容只在圖裡(文字檔抓不到),寫 Exam-ready 與公式前先用 Read 看這幾張圖:**
- Ch2 p.1 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p001.png
- Ch2 p.4 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p004.png
- Ch2 p.6 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p006.png
- Ch2 p.7 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p007.png
- Ch2 p.8 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p008.png
- Ch2 p.9 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p009.png
- Ch2 p.10 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p010.png
- Ch2 p.11 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p011.png
- Ch2 p.12 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p012.png
- Ch2 p.13 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p013.png
- Ch2 p.15 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p015.png
- Ch2 p.18 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p018.png
- Ch2 p.19 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p019.png
- Ch2 p.21 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p021.png
- Ch2 p.23 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p023.png
- Ch2 p.26 → C:\D槽\TAICA課程\_work\notes-v2\ai-w2\img\brief_Ch2_p026.png
--- Ch2 p.1 ---
Introduction to
Artificial Intelligence
Chapter 2
Intelligent Agents
Wei-Ta Chu (朱威達)
1
--- Ch2 p.2 ---
• An agent is anything that can be viewed as perceiving its environment
through sensors and acting upon that environment through actuators (促動
器).
Agents and Environments
2
--- Ch2 p.3 ---
• The term percept refers to the agent’s perceptual inputs at any given instant.
• An agent’s behavior is described by the agent function that maps any given
percept sequence to an action.
• A very simple example—the vacuum-cleaner world
Agents and Environments
3
--- Ch2 p.4 ---
• It can choose to move left, move right, suck up the dirt, or do nothing. One
very simple agent function: if the current square is dirty, then suck; otherwise,
move to the other square.
• What is the right way to fill out the table? What makes an agent good or bad,
intelligent or stupid?
Agents and Environments
4
--- Ch2 p.5 ---
• A rational agent is one that does the right thing.
• Right thing: The agent’s actions causes the environment to go through a
sequence of states. If the sequence is desirable, then the agent has performed
well. This notion of desirability is captured by a performance measure that
evaluates any given sequence of environment states.
• It is better to design performance measures according to what one actually
wants in the environment, rather than according to how one thinks the agent
should behave.
The Concept of Rationality
5
--- Ch2 p.6 ---
• Definition of a rational agent
• For each possible percept sequence, a rational agent should select an
action that is expected to maximize its performance measure, given the
evidence provided by the percept sequence and whatever built-in
knowledge the agent has.
• Consider the simple vacuum-cleaner agent. Is this a rational agent? That
depends!
• Performance measure: the amount of dirt being cleaned up
• Performance measure: a clean floor
Rationality
6
--- Ch2 p.7 ---
• Rationality maximizes expected performance, while perfection maximizes
actual performance.
• Our definition of rationality does not require omniscience (全知), because the
rational choice depends only on the percept sequence to date.
• Our definition requires a rational agent not only to gather information but
also to learn as much as possible from what it perceives.
Omniscience, Learning, and Autonomy
7
--- Ch2 p.8 ---
• A rational agent should be autonomous—it should learn what it can to
compensate for partial or incorrect prior knowledge.
• A vacuum-cleaning agent that learns to foresee where and when additional
dirt will appear will do better than one that does not.
• The incorporation of learning allows one to design a single rational agent that
will succeed in a vast variety of environments.
Omniscience, Learning, and Autonomy
8
--- Ch2 p.9 ---
• Task environment: we have to specify the performance measure, the
environment, and the agent’s actuators and sensors.
• PEAS (Performance, Environment, Actuators, Sensors)
Task Environments
9
--- Ch2 p.10 ---
Task Environments
10
[IMAGE-ONLY]
--- Ch2 p.11 ---
• Fully observable vs. partially observable
• Fully observable: if the sensors detect all aspects that are relevant to the
choice of action
• Single agent vs. multiagent
• The key distinction is whether B’s behavior is best described as
maximizing a performance measure whose value depends on agent A’s
behavior.
• Chess is a competitive multiagent environment
Properties of Task Environments
11
--- Ch2 p.12 ---
• Deterministic vs. stochastic
• If the next state of the environment is completely determined by the
current state and the action executed by the agent, then we say the
environment is deterministic; otherwise, it is stochastic.
• Taxi driving is clearly stochastic
• “Stochastic” generally implies that uncertainty about outcomes is
quantified in terms of probabilities
Properties of Task Environments
12
--- Ch2 p.13 ---
• Episodic (情節不連貫的) vs. sequential
• Episodic: the next episode does not depend on the actions taken in
previous episodes.
• Chess and taxi driving are sequential
• Static vs. dynamic
• If the environment can change while an agent is deliberating (思考), then
we say the environment is dynamic for that agent.
• Taxi driving is clearly dynamic: the other cars and the taxi itself keep
moving while the driving algorithm dithers (猶豫) about what to do next.
Properties of Task Environments
13
--- Ch2 p.14 ---
• Discrete vs. continuous
• The chess environment has a finite number of distinct states. Chess also
has a discrete set of percepts and actions. Taxi driving is a continuous-
state and continuous-time problem.
• Known vs. unknown
• The agent’s (or designer’s) state of knowledge about the “laws of physics”
of the environment.
Properties of Task Environments
14
--- Ch2 p.15 ---
Properties of Task Environments
15
[IMAGE-ONLY]
--- Ch2 p.16 ---
• The job of AI is to design an agent program that implements the agent
function— the mapping from percepts to actions.
• We assume this program will run on some sort of computing device with
physical sensors and actuators—we call this the architecture.
• agent = architecture + program
The Structure of Agents
16
--- Ch2 p.17 ---
• A trivial agent program
• The table-driven approach to agent construction is doomed to failure – tables
could be too huge
Agent Programs
17
--- Ch2 p.18 ---
• Select actions on the basis of the current percept, ignoring the rest of the
percept history.
Simple Reflex Agents
18
--- Ch2 p.19 ---
Simple Reflex Agents
19
• Condition-action rule
• Work only if the correct decision can
be made on the basis of only the
current percept—that is, only if the
environment is fully observable.
--- Ch2 p.20 ---
• Handle partial observability: the agent keeps track of the part of the world it
can’t see now. The agent should maintain some sort of internal state that
depends on the percept history.
Model-based Reflex Agents
20
--- Ch2 p.21 ---
Model-based Reflex Agents
21
[IMAGE-ONLY]
--- Ch2 p.22 ---
• Knowing the current state of environment is not always enough to decide what
to do. The agent needs some sort of goal information that describes situations
that are desirable.
• The goal-based agent’s behavior can easily be changed to go to a different
destination, simply by specifying that destination as the goal.
• Decision making different from condition-action rules
• Consideration of the future – both “What will happen if I do such-and-
such?” and “Will that make me happy?”
Goal-based Reflex Agents
22
--- Ch2 p.23 ---
Goal-based Reflex Agents
23
[IMAGE-ONLY]
--- Ch2 p.24 ---
• Goals alone are not enough to generate high-quality behavior in most
environments. Sometimes, goals are inadequate but a utility-based agent can
still make rational decisions.
• When there are conflicting goals, only some of which can be achieved
• When there are several goals that the agent can aim for
• A rational utility-based agent chooses the action that maximizes the expected
utility of the action outcomes.
Utility-based Reflex Agents
24
--- Ch2 p.25 ---
• Utility-based agent programs handle the uncertainty inherent in stochastic or
partially observable environments.
Utility-based Reflex Agents
25
--- Ch2 p.26 ---
• Learning element is responsible for making improvements, and the
performance element is responsible for selecting external actions.
• The learning element uses feedback from the critic on how the agent is doing
and determines how the performance component should be modified to do
better in the future.
Learning Agents
26
## 7. 逐字稿(0:13:28 前後各多 1 分鐘,原始行)
[00:12:53] 這是在問我
[00:12:55] 好
[00:12:56] 題目當然是自己定的
[00:13:01] 簡短的回答到這邊
[00:13:04] 要糾團的你們自己想辦法去糾
[00:13:07] 再來就要進入到我們的課程
[00:13:11] 來再來我們開始正式的上課
[00:13:28] 我們今天要很快的把第二章講完
[00:13:32] 第二章講的是Intelligent Agents
[00:13:35] 那很快復習
[00:13:37] 什麼叫一個agent呢
[00:13:39] agent就是一個東西
[00:13:41] 這個東西可以透過sensor感測到一些資訊
[00:13:48] 然後根據感測到的資訊
[00:13:50] 可以做一些動作
[00:13:52] 做一些事情
[00:13:53] 透過這個所謂的accurator
[00:13:55] 去做一些事情
[00:13:57] 那他做完這件事情之後
[00:13:59] 可能會影響到這個環境
[00:14:02] 所以他可能可以從環境裡面
[00:14:04] 感測到一些資訊
[00:14:06] 那我可以做一些動作
[00:14:08] 那我做完動作之後呢
[00:14:09] 也有可能會改變這整個環境的狀態
[00:14:13] 好
[00:14:14] 那在這邊大家要注意的是
[00:14:16] 這裡講的感測器
[00:14:17] 不見得一定是什麼IoT的
[00:14:19] 什麼物聯網感測器
[00:14:21] 溫度時度感測器喔
[00:14:22] 不是喔
[00:14:23] 他是很廣泛的一種講法
[00:14:25] 基本上就是他可以收到一些資料的意思
[00:14:28] 然後呢
[00:14:30] 我收到一些資料之後
[00:14:32] 做了某一些判斷跟決定之後
[00:14:34] 我會做某一些事情
[00:14:36] 那這些事情呢
[00:14:38] 也不見得一定是
[00:14:40] 真正的實體世界當中
[00:14:42] 動物
[00:14:43] 比如說
[00:14:44] 往右走
[00:14:45] 往左走
[00:14:46] 機器手臂舉起來
[00:14:48] 或者是什麼
[00:14:49] 他也有可能只是
[00:14:50] 我傳送一個什麼資料出去
[00:14:52] 傳送一個
[00:14:55] 什麼樣子的聲音出去
[00:14:57] 都有可能
[00:14:58] 為了做某一個動作
[00:14:59] 所以agent的定義是很廣很廣的
[00:15:02] 好
[00:15:03] 那我們上次呢
[00:15:05] 就提到說
[00:15:06] 當我們在談論一個agent的時候
[00:15:09] 一個完整的談論法
[00:15:11] 其實是這個定義的
[00:15:13] 我們稱呼它叫做一個
[00:15:15] Task Environment
[00:15:17] 那講到Task Environment呢
[00:15:19] 就會牽涉到四個元素
[00:15:23] PEAS
[00:15:25] Performance Environment Actuator
[00:15:27] 跟Sensors
[00:15:29] Performance指的就是
[00:15:31] 我如何去評判
[00:15:33] 這一個agent他的效能好不好
[00:15:35] 所以這裡舉了一個例子
[00:15:37] 我們上次提到
[00:15:38] 最後提到的是
[00:15:39] 比如說計程車司機
[00:15:41] 他的Performance好不好
[00:15:42] 我們可能有很多種
[00:15:44] 比如說
[00:15:46] 他能夠讓我
[00:15:47] 優快抵達目的地越好
[00:15:49] 或者是說
[00:15:50] 他開的路線
[00:15:51] 道路最平穩
[00:15:53] 或者是說
[00:15:54] 我花的錢越少越好
[00:15:56] 這都是屬於一種Performance
[00:15:58] 那就看你的需求而定
[00:16:00] 你可以有不同的Performance的定義
[00:16:02] 那計程車司機所處在的環境
[00:16:06] 當然就是道路嘛
[00:16:08] 所以一般的道路平面
[00:16:10] 然後道路有顛簸的
[00:16:12] 有石頭路
[00:16:14] 有柏油路
[00:16:15] 然後呢
[00:16:16] 道路上面可能會有交通耗製
[00:16:19] 可能有其他的行人
[00:16:21] 騎腳踏車的
[00:16:22] 這個都是他所謂的環境因素
[00:16:24] Actuator
[00:16:26] 就是他可以做什麼事
[00:16:28] 比如說以計程車司機來講
[00:16:30] 他可以加速煞車
[00:16:32] 往右轉往左轉
[00:16:34] 按喇叭
[00:16:35] 這些都是他可以做的事
[00:16:36] 那Sensor呢
[00:16:38] 身為一個計程車司機
[00:16:40] 他接收到訊號的來源
[00:16:43] 如果是人的話
[00:16:44] 可能就是耳朵聽得到
[00:16:45] 眼睛看得到
[00:16:46] 如果是自駕車
[00:16:48] CyberCab
[00:16:49] 他可能有攝影機
[00:16:51] 那或者說其他的自駕車的Solution
[00:16:54] 可能有聲浪、光達等等等等的
[00:16:56] 這些都是所謂的Sensor
[00:16:59] 所以在傳統定義上
[00:17:02] 當我們在講一個Asian的時候
[00:17:04] 我們就是要定義好
[00:17:05] 他的PEAS
[00:17:07] 好
[00:17:08] 那Asian這個詞呢
[00:17:10] 其實大家在今年
[00:17:11] 應該聽了非常多次了
[00:17:13] 對不對
[00:17:14] 今年Asian大爆發嘛
[00:17:17] 但是我們必須跟大家講
[00:17:19] Asian的這個概念
[00:17:21] 其實在過去幾十年的
[00:17:23] 人工智慧的開發當中
[00:17:25] 老早人家就定義好Asian就是
[00:17:29] 就是這樣子的東西
[00:17:31] 那不過以現在這個年代來講
[00:17:33] 其實啊
[00:17:34] PEAS這樣的地理還
[00:17:37] 缺了一個很重要的東西
[00:17:39] 就是大腦
[00:17:41] 這個Asian的大腦是什麼
[00:17:44] OK
[00:17:45] 好
[00:17:46] 那在過去傳統的AI裡面
[00:17:49] 比較避免
[00:17:50] 比較沒有在談大腦這件事
[00:17:53] 因為大腦有各式各樣不同的做法
[00:17:56] 那當然以現在
[00:17:57] Right now這個時間點
[00:17:58] 2026年來講
[00:18:00] 很重要的就是說
[00:18:01] 我們用LLM
[00:18:02] 來當成是Asian的大腦
[00:18:04] 由它來決定
[00:18:06] 我收到什麼樣的訊息
[00:18:07] 我要做哪些動作
[00:18:11] 好那後續呢
[00:18:12] 當然有很多其他的例子啦
[00:18:14] 比如說醫療診斷系統
[00:18:16] 也可以是一個Asian啊
[00:18:17] 然後這個衛星影像的分析系統
[00:18:21] 也可以是一個Asian啊
[00:18:23] 或者是互動式的英語教學
[00:18:27] 也可以是一個Asian啊
[00:18:29] 所以任何的東西
[00:18:30] 只要符合有這個PEAS的
[00:18:32] 都可以視為是一種Asian
[00:18:34] 那整個Task也就是
[00:18:37] Task Environment
[00:18:38] 有幾種特性
[00:18:39] 其實當你的Task Environment變的時候
[00:18:43] 我們去設計Agent的做法
[00:18:46] 可能就會不一樣
[00:18:47] 因為它的狀態
[00:18:48] 它的條件就不一樣
[00:18:50] 所以有幾個不同的角度
[00:18:52] 來去分類你的這個Task Environment
[00:18:56] 第一個角度叫做
[00:18:58] Fully Observable
[00:18:59] 還是Partially Observable
[00:19:01] 今天你這個環境裡面的資訊
[00:19:04] 是可以全然透明的
[00:19:07] 被看到的
[00:19:08] 還是隻有部分被看到的
[00:19:10] 所以比如說
[00:19:11] 今天如果是下圍棋
[00:19:13] 這個資訊一定是全然可以被看到的
[00:19:17] 整個盤面你不可以
[00:19:19] 蓋住某一部分的棋盤
[00:19:21] 不讓對手看到
[00:19:22] 不行嘛
[00:19:23] 那什麼叫部分可被看到
[00:19:25] 比如說
[00:19:28] 比如說我們打電動
[00:19:30] 世紀帝國
[00:19:31] 還是什麼
[00:19:33] LOL
[00:19:34] 有LOL這種東西嗎
[00:19:35] 對LOL這種
[00:19:37] 一開始地圖
[00:19:38] 一開始的時候大部分都黑的嘛
[00:19:39] 對不對
[00:19:40] 你只有一小部分
[00:19:41] 是你視野可及的範圍
[00:19:43] 其他地方發生什麼事你都不知道
[00:19:45] 那你要在這種情況之下
[00:19:47] 你要做決定
[00:19:48] 這是Partially Observable
[00:19:50] 這是第一種觀察的角度
[00:19:53] 第二種就是說你的Task Environment裡面
[00:19:56] 你是單一的Agent
[00:19:58] 還是會有多個Agent互動
[00:20:00] 所以比如說下棋
[00:20:02] 你就是有兩個
[00:20:04] 下圍棋你就有兩個對手
[00:20:06] AAB兩個對手
[00:20:07] 你要根據對方下了一個什麼棋
[00:20:09] 下了一個什麼位置
[00:20:10] 你再下一個什麼位置
[00:20:11] 所以它就是Multi-Agent的形式
[00:20:15] 那如果你這個
[00:20:18] 這個環境裡面只有一個Agent在動作
[00:20:21] 那就是Single Agent
[00:20:23] 所以比如說我們上次課程裡面談到的
[00:20:26] 如果今天這整個世界
[00:20:28] 就只有兩塊地磚
[00:20:29] 然後我有一臺吸塵器
[00:20:31] 這樣子的Task Environment就是Single Agent
[00:20:35] 然後再來另外一個角度是
[00:20:38] 你這個Environment
[00:20:40] 你這個動作是Deterministic
[00:20:42] 還是Socastic
[00:20:44] 所謂的Deterministic是說
[00:20:46] 當我叫它做某一個動作的時候
[00:20:49] 它對於環境的影響
[00:20:52] 就一定是
[00:20:54] 你做了那個動作之後會發生的影響
[00:20:57] 比如說吸塵器那個例子
[00:20:59] 我叫它往右邊的那塊地磚走
[00:21:03] 我做完這個動作之後
[00:21:05] 它的環境一定就變成是
[00:21:07] 吸塵器跑到右邊的那塊地磚
[00:21:10] 這是肯定的
[00:21:11] 這叫Deterministic
[00:21:13] 那有一些環境是Socastic
[00:21:17] 就是說你覺得比如說
[00:21:19] Taxi Driving就是Socastic
[00:21:22] 你叫它
[00:21:25] 就是說你身為一個Taxi Driver
[00:21:28] 你覺得往右轉
[00:21:31] 一定就是
[00:21:35] 你的整個路面就一定是
[00:21:37] 一定是
[00:21:39] 變成一個你所預期的一個狀況
[00:21:42] 這件事情大部分的時間是對的
[00:21:44] 但為什麼會有車禍發生
[00:21:46] 就是偶爾就是會有不確定性發生
[00:21:50] 你再往右轉
[00:21:52] 你轉過去之後
[00:21:54] 突然有一個什麼東西掉下來
[00:21:56] 或一個行人衝出來
[00:21:57] 所以它是有一些不確定性的
[00:22:00] 這種就叫Socastic
[00:22:02] 有隨機性
[00:22:04] 另外一個觀點叫做
[00:22:06] Episodic跟Sequential
[00:22:08] 就是你是情節不連貫的
[00:22:11] 還是連貫的
[00:22:12] 比如說
[00:22:15] 比如說下騎跟開車都是連貫的
[00:22:19] 你的下一個狀態一定都是
[00:22:22] 源自於你上一個狀態的
[00:22:24] 上一個狀態的一個連結
[00:22:26] 它一定是一個連貫的一個情況
[00:22:28] 那某一些情境它是不連貫的
[00:22:33] 它沒有Depends on the actions taken in previous episodes
[00:22:41] 那再來就是說Static跟Dynamic
[00:22:47] 這意思是說當你的Agent
[00:22:50] 你收到訊息
[00:22:52] 你正在轉化成你動作的這段期間
[00:22:57] 你的環境會不會動
[00:22:59] 會不會變動
[00:23:01] 也就是說你收到訊息
[00:23:03] 你總是需要一點時間思考
[00:23:05] 來進行決策
[00:23:07] 假設你只思考了兩秒
[00:23:10] 一秒好了
[00:23:11] 一秒好
[00:23:12] 你在這一秒之內
[00:23:13] 你的環境說不定已經變動了
[00:23:15] 還是沒變
[00:23:17] 所以你看
[00:23:18] 下騎就是我想個五分鐘
[00:23:21] 盤面還是沒變
[00:23:23] 那它就是Static
[00:23:24] 可是如果是開車
[00:23:26] 其實開車道路上的訊息
[00:23:29] 隨時都在變
[00:23:31] 所以即使我只花0.5秒
[00:23:34] 我收到一句
[00:23:35] 只花一個0.5秒
[00:23:37] 在進行決策
[00:23:38] 可能路面的情況都會在變
[00:23:40] 比如說後面的那臺車
[00:23:42] 那臺車又跟得更近了
[00:23:44] 前面有一個什麼人
[00:23:46] 又突然要衝出來
[00:23:48] 又變出來了這樣子
[00:23:51] 然後Discrete或Continuous
[00:23:53] 今天你的環境的變動
[00:23:56] 是Continuous變動
[00:23:58] 還是離散的變動
[00:24:00] 比如說下騎就是離散的
[00:24:02] Taxi Driving就是連續的
[00:24:04] 因為這個是一個
[00:24:05] 實體的一個世界
[00:24:07] 然後再來呢
[00:24:08] None or Unknown
[00:24:10] 你今天在這個環境裡面
[00:24:12] 你是知道它這個環境背後的
[00:24:16] 運作的原理嗎
[00:24:18] 比如說假設是實體世界
[00:24:20] 你是已經知道在這個世界裡面
[00:24:23] 整個所有資訊
[00:24:25] 變動的
[00:24:27] 它背後的物理原理嗎
[00:24:29] 你知道這個規則嗎
[00:24:31] 你是已經知道
[00:24:32] 還是你不知道
[00:24:34] 這個就是None跟Unknown
[00:24:36] 所以底下呢
[00:24:38] 這邊舉的例子就是說
[00:24:39] 你各式各樣不同的Task Environment
[00:24:42] 它在這些角度裡面
[00:24:45] 個別是什麼樣子的屬性
[00:24:48] 所以完全就看說
[00:24:50] 你要處理的問題
[00:24:52] 可能是屬於哪一種
[00:24:54] 你可能你的應對的策略
[00:24:56] 就不一樣
[00:24:57] 在開發Agent的時候
[00:25:03] 事實上我們整體而言
[00:25:05] 其實我們可以說AI
[00:25:07] 人工智慧
[00:25:09] 其實就是要去設計Agent
[00:25:13] 那尤其呢
[00:25:14] 我們要設計的是Agent Program
[00:25:18] 這個Agent Program的用途就是
[00:25:22] 當它收到一些資訊的時候
[00:25:25] 它要透過這個Agent Program
[00:25:28] 來決定它要做什麼動作
[00:25:31] 它要做什麼動作
[00:25:33] 這中間的這個就叫做Agent
[00:25:35] 那如果說
[00:25:38] 你跟一些Computing Device
[00:25:42] 連結在一起
[00:25:43] 或者說跟一些物理上的一些
[00:25:46] 馬達啦
[00:25:47] 或者說感測器
[00:25:49] 連結在一起的話
[00:25:51] 這些所謂的物理性的感測器
[00:25:54] 跟制動器
[00:25:55] 馬達啊
[00:25:56] 動作機器手臂啊
[00:25:58] 輪子啊
[00:25:59] 這些東西
[00:26:00] 它是實體的
[00:26:01] 我們就稱為它是Architecture
[00:26:03] 它是實體的結構
[00:26:04] 因此整體而言
[00:26:06] 一個Agent
[00:26:08] 其實包含了Architecture加上Program
[00:26:11] Program比較像是軟體的部分
[00:26:13] 它是負責決策的
[00:26:16] Architecture就是
[00:26:18] 可能是感測資料的
[00:26:20] 或者負責做動作的
[00:26:22] 所以整個Agent的部分
[00:26:24] 你可以把它想像成
[00:26:25] 它其實就包含硬體跟軟體
[00:26:27] 那當然啊
[00:26:28] 很多時候我今天
[00:26:30] 我也沒有說
[00:26:32] 一定要驅動一個什麼實體的機器人
[00:26:34] 在做什麼事情
[00:26:35] 我完全在虛擬空間當中
[00:26:37] 去進行虛擬
[00:26:39] 來做一些事情
[00:26:40] 模擬一些事情
[00:26:41] 也可以說是一個Agent
[00:26:43] 也可以說是一個Agent
[00:26:44] 因為在那個模擬的空間裡面
[00:26:47] 它的Sensor其實就是
[00:26:50] 可能就是
[00:26:52] 我輸入的資料
[00:26:54] 我就已經感測到
[00:26:56] 我直接輸入那些資料
[00:26:58] 給我的Agent Program
[00:26:59] 然後呢
[00:27:00] 我的Agent Program
[00:27:01] 可能操縱一個虛擬的人物
[00:27:03] 往右走往左走
[00:27:04] 所以它不見得一定是要
[00:27:06] 搭配實體世界的
[00:27:09] 這個真正的東西
[00:27:12] 所以In that case
[00:27:14] 在虛擬世界當中呢
[00:27:16] Architecture其實就是
[00:27:17] 譬如說好像我們玩電玩
[00:27:20] 我們所操縱的那個虛擬人物
[00:27:22] 它其實就是你的Architecture
[00:27:24] 好
[00:27:27] 那我們先從一個最簡單的
[00:27:29] 假設我們要開發一個Agent Program
[00:27:32] 一個最簡單的做法就是
[00:27:34] 我就寫規則嘛
[00:27:36] 或者我寫一個表格嘛
[00:27:37] 對不對
[00:27:38] 我今天當我遇到一個什麼樣資料的時候
[00:27:42] 我就做一個動作
[00:27:44] 遇到什麼樣資料我就做一個動作
[00:27:46] 或者連續我接收到哪些資料的情況下
[00:27:51] 我就做什麼樣的動作
[00:27:53] 就用查表的方式
[00:27:55] 這是Very Very Trivial的Agent Program
[00:27:58] 但是我們很快就知道說
[00:28:00] 這個東西一定不可行吧
[00:28:03] 因為我們不可能列舉所有的狀況
[00:28:07] 然後把這個Table寫得很長很長
[00:28:09] 對不對
[00:28:10] 然後不可能是用這樣子來做
[00:28:17] 比較具體可行的一個最簡單的做法呢
[00:28:19] 叫做Simple Reflex Agent
[00:28:22] 那它簡單來講就是說
[00:28:24] 我也不要看很長時間的資料
[00:28:27] 我就是隻看單一一個瞬間
[00:28:29] 然後呢我去寫一個規則
[00:28:31] 來做動
[00:28:33] 這個就是我最最簡單的Agent Program
[00:28:36] 所以譬如說
[00:28:37] 之前的那個吸塵器的例子
[00:28:40] 欸如果現在我所在的地磚
[00:28:42] 是髒的
[00:28:44] 那我就吸塵嘛
[00:28:46] OK
[00:28:47] 如果
[00:28:48] 我所在的地方是乾淨的
[00:28:51] 然後我就會進入到這裡嘛
[00:28:52] 我如果現在的位置在A
[00:28:55] 那我就往右走
[00:28:56] 我如果現在這個地磚是乾淨的
[00:28:58] 然後我的位置在B
[00:28:59] 那我就往左走
[00:29:00] 就這樣
[00:29:01] 就這麼簡單的規則
[00:29:03] 它就是一個最最簡單的Agent Program
[00:29:07] 只考慮單一一個瞬間
[00:29:10] 收到的資料
[00:29:11] 然後我去做一個反射性的動作
[00:29:15] OK
[00:29:16] 這是最簡單的Agent
[00:29:17] 好那畫成示意圖的話
[00:29:21] 可以長成像這樣嗎
[00:29:23] 就在環境裡面
[00:29:25] 我透過Sensor
[00:29:27] 我取得了一些資料
[00:29:30] 然後呢
[00:29:32] 我看了這個資料之後
[00:29:33] 我根據這裡的規則
[00:29:35] 寫出來的規則
[00:29:36] 來去決定我要做什麼動作
[00:29:39] 這樣子
[00:29:40] 好就這麼簡單
[00:29:42] 那你說那可不可以進步一點呢
[00:29:45] 有
[00:29:46] 下一個再進步一點的
[00:29:47] 叫做Model Based Agent
[00:29:50] 它的意思是說
[00:29:52] 我今天
[00:29:53] 我每次我收到訊息之後
[00:29:56] 收到資料之後
[00:29:57] 我也許這個資料
[00:29:59] 不完整
[00:30:01] OK不完整
[00:30:02] 我可能先往左邊看
[00:30:04] 我看到左邊的資料圖
[00:30:06] 那我右邊還沒有看到嘛
[00:30:08] 可是我如果今天我先往左邊看
[00:30:10] 看到左邊的資訊
[00:30:12] 我能不能夠累積
[00:30:15] 我所看到的資訊
[00:30:17] 然後我再統一做一個
[00:30:19] 比較好的一個反應
[00:30:21] 好所以Model Based Agent
[00:30:23] 跟那種簡單反射式的Agent
[00:30:25] 就是說
[00:30:26] 它有一個Internal State
[00:30:28] 或者是有Memory的這個概念
[00:30:31] 你Sense到資料進來之後
[00:30:34] 它會儲存
[00:30:37] 過程的資料
[00:30:40] 它會儲存
[00:30:42] 過去它看過的這些資料
[00:30:45] 所以說它可以理解說
[00:30:47] 我目前這個Involvement
[00:30:49] 狀態是怎麼變動的
[00:30:51] 那我現在看到了什麼
[00:30:54] 然後我不只是這樣
[00:30:56] 我還剛剛前面那個瞬間
[00:30:58] 狀態是什麼樣
[00:31:00] 我在剛剛那個瞬間
[00:31:01] 我做了什麼動作
[00:31:02] 以及我在現在這個瞬間
[00:31:04] 我看到了哪些資料
[00:31:07] 我一起統整來去決定
[00:31:10] 我要做什麼動作
[00:31:12] 來去決定我要做什麼動作
[00:31:15] 那在這裡呢
[00:31:16] 決定做什麼動作
[00:31:17] 依舊是一些規則
[00:31:19] 所以它相當於是
[00:31:21] 考慮到更多情況之下
[00:31:24] 然後還是根據規則來進行
[00:31:26] 你的動作的判斷
[00:31:28] 這叫Model Based Agent
[00:31:31] 好那所以呢
[00:31:34] 這個依舊是相當的簡單
[00:31:37] 那在下一個部分
[00:31:39] 就是說很多時候呢
[00:31:41] 我看到我目前
[00:31:44] 的環境的狀態是如何
[00:31:47] 讓我們很有效率的
[00:31:50] 去運作這個Agent
[00:31:53] 所以事實上呢
[00:31:55] 這個Agent呢
[00:31:56] 有時候是需要一些目標的
[00:31:59] 你告訴他目標
[00:32:01] 當我在進行決策的時候
[00:32:03] 他要決定的事情是
[00:32:05] 我做哪一個決策
[00:32:06] 會離我的目標
[00:32:08] 更快接近我的目標
[00:32:10] 那這一類的Agent
[00:32:11] 就叫做Goal Based Agent
[00:32:13] OK Goal Based Agent
[00:32:15] 那Goal Based Agent的行為呢
[00:32:18] 為什麼
[00:32:20] 這個會比Model Based來得更好
[00:32:23] 因為它可以
[00:32:25] 當你的目標變了
[00:32:28] 我其實中間的那個
[00:32:30] 他會採用的行為也就變了
[00:32:33] 所以說呢
[00:32:34] 他的Behavior can easily be changed
[00:32:36] to go to different destination
[00:32:39] Simply by specifying the destination as the goal
[00:32:42] 那隨著你的目標變動
[00:32:44] 你已經運作到一半了
[00:32:46] 你目標如果突然變了
[00:32:48] 他有辦法
[00:32:49] 即時的
[00:32:50] 現在因應性的目標
[00:32:52] 做出新的動作決策
[00:32:55] 所以說
[00:32:57] 跟前面兩種
[00:33:00] Condition and Action Rule
[00:33:02] 這種做法不一樣的地方是說
[00:33:04] 他要考慮到未來
[00:33:06] 他不是隻考慮到
[00:33:07] 我過去看到哪些資料
[00:33:09] 然後根據某種規則來進行決策
[00:33:12] 而是我考慮到
[00:33:13] 我如果做了這個決策
[00:33:16] 我的未來會不會變得更好
[00:33:18] 會不會讓我更Happy
[00:33:20] 會不會讓我覺得更好
[00:33:22] 這個叫Goal Based Agents
[00:33:24] 所以說呢
[00:33:25] 你可以看到說
[00:33:26] 他不只有
[00:33:27] 過去這個世界怎麼變動的
[00:33:30] 過去我怎麼做動的
[00:33:32] 我另外在進行決策的時候
[00:33:35] 我要考慮到我的目標是怎麼
[00:33:38] 然後呢
[00:33:39] 我是要往目標去前進
[00:33:42] OK
[00:33:43] 而不是隻看
[00:33:44] 我過去已經送到的資料
[00:33:46] 這叫Goal Based Agents
[00:33:49] 然後那Goal Based Agents還不夠啊
[00:33:52] 他還沒有辦法做出高品質的行為
[00:33:56] 在有的時候沒有辦法
[00:33:59] 為什麼呢
[00:34:00] 因為有的時候你只告訴他
[00:34:01] 目標是不夠的
[00:34:03] 原因是有時候你有好幾個目標
[00:34:07] 而這幾個目標是衝突的
[00:34:10] 比如說我們去搭計程車
[00:34:12] 我們又希望
[00:34:14] 越快抵達目的地越好
[00:34:16] 然後又希望
[00:34:18] 你的整個行車的過程
[00:34:20] 越安全越好
[00:34:22] 這兩個目標有一點點衝突
[00:34:25] 你希望越快抵達
[00:34:27] 那就是司機要開比較快啊
[00:34:28] 可是司機開比較快
[00:34:30] 就可能越危險啊
[00:34:32] 對不對
[00:34:33] 那我們是不是兩個目標
[00:34:34] 我們都想達到
[00:34:35] 所以有的時候呢
[00:34:37] 我們的目標不只一個
[00:34:39] 我們有多個
[00:34:40] 而這多個
[00:34:41] 還彼此衝突
[00:34:42] 那所以在這種情況之下呢
[00:34:48] 我們就要考慮的是
[00:34:50] 所謂的
[00:34:51] Utility based agent
[00:34:53] Utility這個字呢
[00:34:54] 就是效益的意思
[00:34:57] 你做了某一個決策之後
[00:35:00] 他當然是要往目標前進
[00:35:02] 但是他往目標前進的
[00:35:05] 效益有多高
[00:35:07] 我要去取
[00:35:08] 我要去做出一個整體而言
[00:35:11] 效益最大化的
[00:35:13] 那個動作
[00:35:15] 因為我今天好幾個目標
[00:35:17] 我會彼此衝突
[00:35:18] 我只好權衡之下
[00:35:21] 選擇比如說
[00:35:23] 你今天是要越快抵達目標
[00:35:26] 目的地還是說要安全的
[00:35:28] 你可能想說
[00:35:29] 生命層可貴
[00:35:31] 對不對
[00:35:32] 我慢一點沒關係
[00:35:33] 我寧可我要安全一點
[00:35:36] 或者是說呢
[00:35:37] 今天我知道我這一路上
[00:35:39] 要經過的沒有什麼複雜的路口
[00:35:42] OK
[00:35:43] 那大概不會有什麼太多安全的疑慮
[00:35:47] 那我就是越快越好
[00:35:49] 這個你都是可以去進行
[00:35:51] 所以你的效益的定義
[00:35:53] 也會根據你的
[00:35:54] 這個不同的應用而定
[00:35:56] 所以說呢
[00:35:57] 我們這裡講說一個理性的
[00:35:59] Utility based agent
[00:36:01] 什麼叫理性的
[00:36:02] 我們上次有介紹過
[00:36:03] 一個理性的Utility based agent
[00:36:06] 他會最大化預期的效益
[00:36:10] 當我做一年
[00:36:12] 我在進行決策
[00:36:14] 要take某一個action的時候
[00:36:16] 他就是要去最大化
[00:36:18] 那個可能的預期的效益
[00:36:20] 好那這是一個示意圖啦
[00:36:24] 就是說我不只知道過去的
[00:36:27] 這個行為模式跟狀態的變化
[00:36:30] 我還要去預估說
[00:36:33] 現在的這幾個目標整體而言
[00:36:36] 我如果做了某一個決策
[00:36:39] 我帶來的效益有多高
[00:36:41] 然後我可能
[00:36:42] 我可以
[00:36:43] 比如說我可以
[00:36:44] 往右走
[00:36:45] 我可以往左走
[00:36:46] 我可以往前
[00:36:47] 我可以多加速一點
[00:36:49] 或者說我要煞車一點
[00:36:51] 整體而言
[00:36:53] 在這麼多種可能性裡面
[00:36:55] 選擇一組最好的參數
[00:36:58] 來最大化
[00:37:00] 我可能達到的效益
[00:37:01] 這個就是所謂的
[00:37:02] Utility based agent
[00:37:04] OK
[00:37:06] 好那最後一個
[00:37:08] 就是Learning agents
[00:37:10] 我們當然希望說
[00:37:12] 你能夠評估效益
[00:37:14] 那你最好
[00:37:16] 你這個agent
[00:37:17] 你在進行決策的這整個的過程
[00:37:20] 不要由我們人來設計
[00:37:23] 而是你自動從資料裡面去學會
[00:37:27] OK那這個就是Learning agent
[00:37:29] Learning agent is responsible for making improvement
[00:37:32] 我們希望他越做越好
[00:37:34] OK好
[00:37:35] 然後最好是
[00:37:38] 你根據過去的
[00:37:40] 你所收到的資料
[00:37:43] 你做過的行為
[00:37:44] 那我們現在也可以評估效益了吧
[00:37:47] 那我們就發現說
[00:37:50] 今天在下午三點的時候
[00:37:53] 我走某一條路
[00:37:55] 時數開多少
[00:37:59] 我上次是這麼開
[00:38:00] 效果不錯
[00:38:02] 那我下一次
[00:38:03] 在差不多三點的時候
[00:38:04] 又有同樣的客人
[00:38:06] 需要我做
[00:38:07] 去某一個目的地的時候
[00:38:09] 我是不是有
[00:38:11] 有那個能力知道說
[00:38:13] 我上次的那個很不錯
[00:38:15] 那我這一次呢
[00:38:17] 就繼續用這樣的模式來走
[00:38:19] 譬如說上次我走某一條路很不好
[00:38:22] 我是不是可以這一次
[00:38:23] 我就避免做這件事
[00:38:25] 這個就是Learning的一個agent
[00:38:28] 要做的事情
[00:38:29] 所以你看到這個設計圖就是說
[00:38:31] 資料進來之後
[00:38:33] 你可以去評估我的效益
[00:38:35] 然後
[00:38:37] 當然你可以做一些
[00:38:38] 比如說監督室的學習
[00:38:41] 那來給他一些評判
[00:38:44] OK
[00:38:45] 這個上次做的某些agent
[00:38:47] 好或不好
[00:38:48] 你給他一些監督的訊號
[00:38:51] 然後呢讓他
[00:38:52] 反覆不斷的去變動
[00:38:54] 他的這個agent program
[00:38:56] 然後呢
[00:38:57] 越做越好越做越好
[00:38:59] 好
[00:39:00] 這個就是Learning agent
[00:39:01] OK
[00:39:02] 好
[00:39:03] 這個講起來非常非常的虛幻
[00:39:06] 有沒有
[00:39:07] 講得非常high level
[00:39:08] 那講完了
[00:39:09] 大家好像也不太知道
[00:39:10] 這到底在幹嘛
[00:39:11] 但事實上你可以想像得到
[00:39:12] 這個Learning agent呢
[00:39:14] 其實就是
[00:39:15] 後來我們慢慢的從
[00:39:17] 機率推論變成Machine learning
[00:39:20] 到現在過去這十幾年的Deep learning
[00:39:23] 其實基本上就是Learning agent
[00:39:26] 這整個過程
[00:39:29] 那以上講到這邊
[00:39:30] 這個就是第二章
[00:39:32] 我們說過第一章跟第二章
[00:39:34] 都是聊聊天的
[00:39:36] 講得非常非常的high level
[00:39:38] 非常非常的high level
[00:39:40] 好
[00:39:41] 第二章講到這邊
[00:39:43] 有沒有什麼問題
[00:39:49] 在slido上面
[00:39:50] 他說PPT不定時會狂散
[00:39:53] 我不知道助教有看到嗎
[00:40:00] 會散嗎
[00:40:12] 可以去NTU Google討論板
[00:40:17] 分組表格在哪裡
[00:40:18] OK
[00:40:19] 我剛剛說了
[00:40:20] 請好好上課
[00:40:22] OK
[00:40:23] 來
[00:40:24] 那我們就先休息一下
[00:40:26] 再回來休息十分鐘
[00:40:28] 再回來進行下一章
[00:41:03] 你說要做
[00:41:05] 要偏向研究的方面
[00:41:07] 會比較偏向去做改善
[00:41:10] 去研究
[00:41:11] 會更好
[00:41:14] 會更好
[00:41:15] 對
[00:41:16] 如果除了這個
[00:41:17] 你是想做什麼
[00:41:18] 因為前陣子Google有那個
[00:41:20] 蒼蠅那個model
[00:41:22] 什麼
[00:41:23] 蒼蠅的那個
[00:41:24] 蒼蠅
[00:41:25] 蒼蠅那個model
[00:41:26] 對
[00:41:27] 它可以拿來跑一些environment
## 8. 寫作規則
(這是 `_筆記SOP.md` 第 3.1、4、5、6 節的濃縮版。兩者衝突時以 SOP 為準。)
讀者:碩士生,兩門課期末是英文考試。要只看筆記就能學會,講得比老師好懂。畫面要簡潔。
**最高原則:Notion 是主教材,不是輔助(2026-10-04 主理人)**。主理人看不懂老師的英文簡報、數學和底層內容,**不看影片、不看投影片,只讀這一章也要學得會**。寫完用這三題自我檢查,任一題答「否」就補:
1. **數學段**:每個收起來的數學段,預設看得到的地方有沒有一句白話說明「這段公式想解決什麼問題、算出來代表什麼」?(例:「這段推導的目的是找出走哪個方向分數上升最快,結果就是梯度。」)只寫「可跳過」不算。
2. **英文圖**:每張投影片圖,下面有沒有把圖上的英文重點翻成中文(2–5 點)並說明這張圖在講什麼?
3. **底層知識**:這章用到、但老師沒解釋的東西(數學名詞、程式名詞、前幾週的概念),有沒有用白話補上(一兩句或「要先懂什麼?」摺疊)?前幾週學過的概念,附一句提醒+連結。
**概念優先(2026-09-26 主理人)**:主理人只想懂概念,不想補數學、不想看程式碼和座標圖。兩門課的考試也都是問答題、不考算式(AI W1 1:16:52;NLP W3 1:47:41、2:48:36)。所以:
- 每段預設看得到的只有:白話摘要(2–4 句)+**一句生活比喻**(例:模擬退火像投資理財,年輕時敢冒險、越老越保守)+「考試可能怎麼問」一句。
- 數學推導、公式、手算、程式碼、座標圖,全部收進標題寫「(進階,可跳過)」的摺疊,例如「它到底怎麼運作?(進階,可跳過)」。每段最多一個進階摺疊,不要寫長篇計算。
- 演算法要能「用文字說出步驟」(考試可能要你描述),這一點放在預設看得到的地方,不用數字。
- **重心比例**:白話理論與概念模式(它在解決什麼問題、核心想法、跟別的方法差在哪、優缺點、生活比喻)占主要篇幅;數學與程式細節只用一兩句帶過,細節收進進階摺疊。
**圖文並茂(2026-09-26 主理人:不要只有文字)**:
- 每章至少 2–3 個圖,放在**預設看得到**的地方,每個圖前後各用一兩句白話說明「這張圖在看什麼」。
- 流程、步驟、因果、比較 → 用 mermaid 流程圖(```mermaid,flowchart LR 或 TD;節點文字用中文、加雙引號;一張圖不超過 10 個節點)。
- 投影片上的示意圖、架構圖 → 用 [[IMG: …]] 放投影片圖。
- 仍守「每個 ## 段落最多一種視覺元素」。
### 輸出兩個檔
1. `chNN.md`(Notion 寫法,不含頁面標題),結構固定:
- 第一行:章節包第 1 節那行,原樣照抄。
- 第二行起(有數學段才寫):**跳過提示**,每段一行,讓主理人看影片時知道從哪跳到哪。用章節包第 3b 節的候選當提示,對照第 7 節逐字稿確認(只標老師連續講公式、推導、矩陣、微積分、機率計算、程式細節超過約 1 分鐘的段落;概念講解和比喻不算):
`跳過提示:(1:31:02–1:35:40) 老師在推導梯度公式,聽不懂可以直接跳到 [1:35:40](YouTube 連結),接著講「步長 α 怎麼選」。`
- `## 重點`:三點中文,每點一到兩句。
- `## Exam-ready`:3–10 行英文,**從章節包的投影片文字逐字抄**,每行 `- **Term**: "原句"(Ch3 p.14)`。老師有明確證據才在行尾加 `【老師強調】(h:mm:ss)`。
**每一行下面一定要有一行縮排的中文解釋**(主理人英文不好,看不懂的英文等於沒用):
```
- **Hill climbing**: "It keeps track of one current state and on each iteration moves to the neighboring state with highest value."(Ch4 p.5)
- 中文:爬山法只記住「現在這一個狀態」,每一輪都移到分數最高的鄰居。白話:一直往比較高的地方走一步。
```
中文要先把句子意思講清楚,再補一句白話;最後用「英文(中文)」列出這句裡 1–3 個難字,例:sparse(稀疏)、distinct terms(不重複的字)。
**一行只放一句投影片原句**。同一頁有多句要考就拆成多行,每行各接一行中文;不要用分號串三句以上,不要把計算量 O(...) 塞進去。
- 章節包第 2 節的每一段:`## [h:mm:ss](連結) 標題`(照抄),下面 2–4 句白話摘要,其餘全部收進摺疊:
```
問句(例:用生活例子講,BFS 在做什麼?)
內容
```
摺疊種類(需要才放):用生活例子講?/它到底怎麼運作?/要先懂什麼?(老師假設你會的數學或概念,短版教學)/老師原話是什麼?(「原話」(h:mm:ss),只放重要的,最多 5 句)。
- 「它到底怎麼運作?」要用一組小數字把這段的演算法**真的跑 1–3 步**(例:算出梯度、更新一次、比較兩個 α),不是只示範定義的加減乘除。全章盡量沿用同一組數字,讓前一段的答案能在下一段被驗證。
- 每段正文要回答讀者最可能卡住的一個「為什麼」。投影片公式方向跟題目相反、或投影片說「解不出來」時,用一兩句講出原因,自己補的標(我補充)。
- 投影片句子停在公式前(公式在圖裡)時:Exam-ready 在粗體詞條上補公式、引號內保持原句;正文寫出同一條式子。公式圖看章節包第 6 節列出的 PNG。
- `## Self-check`:2–4 題英文考題,答案收摺疊。**至少一題考老師強調的內容**;只出 explain/why/compare 這類問答題,**不出要代數字計算的題目**(考試不考算式);不出「老師和投影片哪裡不同」這類不會考的題目。每題格式:
```
Q1. English question?(中文:中文題目)
**Answer**: English answer.
中文:把答案完整講一遍(不是只翻一句),讓看不懂英文的人也知道要怎麼答。
```
- **最後一行**:章節包第 1b 節那行(下一章連結),原樣照抄。讓讀完的人直接點下一章。
- 不要把章節包或這份規則裡的指示句寫進筆記(例如「寫筆記時照投影片寫」「已改正 ASR 錯字」)。
- 長度:全文不超過 16,000 字元(跟 check_note.py 同一個數字)。**不要為了壓字數反覆刪改**(實測一章最多花 12 輪在刪字);超過時只刪進階摺疊裡的第二組算例,比喻、比較表、圖說、「老師說不用背」的提醒都不刪。
- 預設看得到的正文不放計算量 O(...)、代號對照(例如 SMART 字母)、課本出處考據,一律移進進階摺疊。
2. `chNN.concepts.json`:JSON 陣列,4–12 個考試可能問的術語,每個物件:
`name`(英文)、`zh`、`type`(概念/演算法/公式/人物事件/前置知識/行政)、`signal`("老師說會考"/"老師強調"/"核心(我判斷)"/"")、`evidence`(有 signal 前兩種時必填:原句+時間)、`definition_en`(投影片原句;沒有就註明 (textbook)/(lecture)/(my wording))、`plain`(一句中文)、`a4`(≤150 字元英文,可夾極短中文;期末拼貼用的小方塊)、`time`、`slides`、`prereq`(英文名陣列)。
### 風格鐵律
- 不用 emoji 或裝飾符號(✓✗★⚠ 都不要;→ 可以)。不用 callout。不用 `$`。時間不要用 code 樣式。
- 每個 `##` 段落最多一種視覺元素:一張圖、或一個表格、或一個 mermaid。
- 摺疊標題是問句,前面不加符號。
- 圖片最多 3 張,只放文字取代不了的圖。放法:單獨一行 `[[IMG: | 中文圖說]]`,PNG 用 `slides_to_png.py <圖片資料夾> <頁> --dpi=110` 產生。
- 考試訊號只在老師明確說時標。老師只說「不用背」「不講」就寫「注意:……」。
- 老師口誤或跟投影片不同:照投影片寫,加「注意:老師口頭說的是……」。
- 引用老師的話時,ASR 錯字改成正確的字。
### 沒有投影片時
不要憑記憶逐字重現課本段落或數值表。英文定義用自己的話寫、句尾標 (my wording);Exam-ready 每行標「(自擬,投影片待補)」。例子只用老師講的。
### 寫完之後(只做一次)
跑檢查:
`C:\Users\user\.cache\meeting-record\venv\Scripts\python.exe C:\Users\user\.claude\scripts\check_note.py --transcript <逐字稿> --slides <投影片 txt …> --start <起> --end <訖> --vid <影片 ID>`
- STYLE/VISUAL/TIME/FORMAT:全部改掉。
- QUOTE:確認是不是你改正了 ASR 錯字(是就保留),不是就改成原文或拿掉引號。
- ENGLISH:確認是不是投影片斷行造成的(是就保留),不是就改成投影片原句。
**省額度守則**:章節包裡已經有你需要的全部資料。不要再去讀整份逐字稿、整份投影片、segments.json 或手冊。一次寫好整個檔(Write 一次),檢查後集中修改。