跳到主要內容

AI 202 · 模組 4

Search、Trees 與 MCTS

當下一步不只一個選項時,Agent 如何選?

開始第一節
已完成 0 / 7
同步我的進度加入梯次後,進度可跨裝置保存,講師也能看到

資訊

加入後,你已完成的模組編號會連同「學員代碼」傳送給講師,講師可以看到你的進度。請使用講師提供的代碼,不要輸入姓名、公司機密或其他個資。進度資料與該梯次的其他資料一起保存。

學習目標

  • 用白話說明 Search Space、Candidate Actions、Branching、Depth、Breadth 與 Planning Horizon
  • 用 Heuristic 與決策面向(預期結果、成本、風險、可逆性等)比較候選行動
  • 說明 Exploration 與 Exploitation 的差異
  • 把 MCTS 當成規劃概念:取樣可能的未來行動序列、估計結果,並把更多搜尋力氣放在有希望的分支
  • 完成活動 4,並產出 Search / Candidate Action Map

Search Space 與 Search Tree

9 分鐘

當下一步不只一個選項時

在單元 3,Agent 交替進行 Reasoning 與 Acting。實務上,某個時刻常有好幾個行動都可行。這個單元談的是 Agent 如何檢視這些選項、比較並選出一個,而不是變成演算法課。

核心問題

當 Agent 有多個可能行動時,如何搜尋並比較不同路徑?

關鍵詞彙
詞彙白話意思
Search SpaceAgent 從現在起可以做的所有事,以及之後可能發生的事
Candidate ActionsAgent 此刻正在考慮的具體行動
State SpaceAgent 可能走到的各種情境
Branching一個 State 分出多個可能的下一步行動
模擬範例

一個模擬的服務台 Agent 要處理員工詢問請假規定。Candidate Actions:搜尋規定文件、詢問釐清問題、憑印象草擬回覆,或轉給人資。每一個都是一個分支。

資訊

圖示的文字版:從目前的 State 出發,有多個 Action 可選。每個 Action 會導向一個或多個可能的 Result。把它們列出來,就是 Search 的第一步。

重點: Search 從列出目前 State 的 Candidate Actions 開始,而不是抓到第一個想法就做。

9 分鐘

Search Tree:Depth、Breadth 與 Horizon

Search Tree 把目前的 State 畫在最上方,Candidate Actions 是分支,每個分支下面是可能的 Result。看得更遠,就是在樹上走得更深。

一棵小型 Search Tree
  1. 目前 State:員工詢問請假規定
  2. Action A:搜尋規定。Result:A1 找到明確規則,A2 沒找到相關內容
  3. Action B:詢問釐清問題。Result:B1 員工回覆,B2 沒有回覆
  4. Action C:憑印象草擬回覆。Result:C1 一份未經查證的回覆
  5. 比較各分支,再選出下一個 Action

資訊

圖示的文字版:一個起始 State 有 A、B、C 三個分支。分支 A 與 B 各有兩個可能的 Result,分支 C 有一個。這棵樹的 Breadth 是 3,Depth 是 2。
如何讀一棵樹
概念意思取捨
Breadth每一步考慮幾個選項選項越多越可能找到好路徑,但也越花力氣
Depth往前看幾步看得越深越能看到後果,但也建立在更多猜測上
Planning HorizonAgent 願意往前規劃的上限太短會漏掉後果,太長則把力氣浪費在不確定的未來
自我檢測

Search Tree 的 Depth 描述的是什麼?

Search Tree 的 Depth 描述的是什麼?

重點: Breadth 是選項數,Depth 是往前幾步,Horizon 是你決定的上限。

比較與選擇分支

9 分鐘

Heuristic、Utility、Cost 與 Risk

Agent 不可能把每個分支都試一遍,需要一個快速判斷哪些分支值得看的方法。這種經驗法則就是 Heuristic。判斷一個結果有多好,則是它的 Utility(或稱 Value)。

比較候選路徑的決策面向
面向要問的問題
預期結果(Expected outcome)這條路徑離 Goal 有多近?
證據品質(Evidence quality)這個預期有多少證據支持?
成本(Cost)要花多少力氣、時間或金錢?
延遲(Latency)要多久才能拿到 Result?
可逆性(Reversibility)如果錯了,能不能復原?
風險(Risk)最糟的合理結果是什麼?誰會受影響?
Tool 可用性(Tool availability)需要的 Tool 或資料來源真的可用嗎?
信心(Confidence)我們有多確定?這份信心是否站得住腳?

注意

預期結果最好的路徑,不一定是最佳選擇。當證據薄弱或風險偏高時,成本較低且可逆的行動可能更明智。
自我檢測

兩個候選行動看起來同樣有希望,其中一個容易復原,另一個無法復原。哪個面向支持第一個?

兩個候選行動看起來同樣有希望,其中一個容易復原,另一個無法復原。哪個面向支持第一個?

重點: 用多個面向比較路徑,不要只看預期結果。成本、風險與可逆性同樣重要。

9 分鐘

Exploration 與 Exploitation

每次 Search 都在兩種衝動之間取得平衡。Exploitation 是把力氣花在目前看起來最好的分支。Exploration 是拿一部分力氣去試比較不熟悉的分支,以防更好的選項藏在那裡。

Exploration 與 Exploitation
做法好處過度使用的風險
Exploitation運用已相信有效的做法,效率高被平庸的選項鎖住,永遠不知道有更好的
Exploration找到原本沒想到的選項把力氣浪費在走不通的分支
模擬範例

服務台 Agent 一直靠搜尋同一個規定資料夾來回答請假問題。Exploitation 就是繼續用那個資料夾。Exploration 則是試一次另一個來源,例如最新公告頁,看看是否更好。

資訊

概念的文字版:好的 Search 多半沿著有希望的分支走,但保留一小部分力氣給比較陌生的分支。安全限制對 Exploration 依然有效:不要為了學習而去探索不安全或不可逆的行動。
自我檢測

只做 Exploitation、完全不做 Exploration 的風險是什麼?

只做 Exploitation、完全不做 Exploration 的風險是什麼?

重點: 多數力氣放在有希望的分支,留一點給未知,且絕不探索不安全的行動。

9 分鐘

把 MCTS 當成規劃概念

Monte Carlo Tree Search(MCTS)是搜尋大型樹狀空間的知名方法。本課程只把它當成思考規劃的方式,不需要公式,也不需要推導。

一句話說明

取樣可能的未來行動序列、估計它們的結果,並把更多搜尋力氣放在有希望的分支。

把 MCTS 概念看成一個迴圈
  1. Explore:選一個分支,想像之後可能的一串行動
  2. Evaluate:估計那串想像出來的行動最後會怎麼收場
  3. Update:記下對這個分支學到的事
  4. Explore again:把更多力氣送到有希望的分支,也留一些給不確定的分支

資訊

圖示的文字版:四個步驟反覆進行,Explore、Evaluate、Update,然後再次 Explore。經過多輪之後,有希望的分支得到更多關注,較弱的分支得到較少。

注意

想像出來的結果是估計,不是事實。靠想像未來來規劃的 Agent,遇到高影響的選擇仍然需要 Verification 與 Human Escalation。
自我檢測

哪一個描述符合本課程對 MCTS 的說法?

哪一個描述符合本課程對 MCTS 的說法?

重點: MCTS 是一種思考方式:想像未來、估計結果,把力氣放在最有回報的地方。

實作與成果

8 分鐘

活動 4:Search the Next Step

拿一個模擬情境,或你在單元 1 選的任務,來搜尋最佳的下一步行動。

  1. 列出 3 至 5 個 Candidate Actions
    寫下 Agent 從目前 State 可以採取的行動。
  2. 建立小型 Search Tree
    在每個行動下加上一到兩個可能的 Result。
  3. 排除不安全或無效的分支
    移除不安全、未經核准就無法復原,或以現有 Tool 無法完成的行動。
  4. 比較剩下的分支
    使用決策面向:預期結果、證據品質、成本、延遲、可逆性、風險、Tool 可用性與信心。
  5. 選擇並說明
    選出下一個行動,寫下簡短理由。

注意

隱私提醒:請使用模擬或已公開的情境。請勿輸入公司機密、客戶個資或未經授權的敏感資訊。
自我檢測

Search 時你發現有個分支會在沒有任何核准的情況下寄訊息給客戶。你應該怎麼做?

Search 時你發現有個分支會在沒有任何核准的情況下寄訊息給客戶。你應該怎麼做?

重點: 列出 Candidate Actions、建立小型樹、排除不安全分支、比較,然後選擇並說明。

7 分鐘

MCTS 小練習與 Candidate Action Map

在你的樹上做一次概念式模擬。不需要數字或公式,只需要你的判斷。

  1. Explore
    選一個分支,想像接下來會發生什麼。
  2. Evaluate
    判斷那條想像出來的路徑對 Goal 有多大幫助,並註記風險。
  3. Update
    把這個分支標記為有希望、較弱或不確定。
  4. Explore again
    再花一輪在一個有希望的分支和一個不確定的分支上。

資訊

成果:Search / Candidate Action Map。內容包括你的 Candidate Actions、含 Result 的樹、被排除的分支與原因、依決策面向所做的比較,以及選出的下一步行動與理由。請保留,稍後放進你的 Agent Planning & Reasoning Canvas。
自我檢測

在小練習中,Update 步驟的目的是什麼?

在小練習中,Update 步驟的目的是什麼?

重點: Explore、Evaluate、Update、再次 Explore,然後把結果記進你的 Search / Candidate Action Map。

接下來做什麼?