---
# System prepended metadata

title: 解剖小龍蝦 — 以 OpenClaw 為例介紹 AI Agent 的運作原理
tags: [Hung-yi Lee, 機器學習2026]

---

# 解剖小龍蝦 — 以 OpenClaw 為例介紹 AI Agent 的運作原理
[課程連結](https://www.youtube.com/watch?v=2rcJdFuNbZQ&t=7s)

## 以 OpenClaw 為例介紹 AI Agent 的運作原理
![image](https://hackmd.io/_uploads/BJ2cTVDs-l.png)
時間：00:00:00 ~ 00:01:12
重點：
這堂課用 OpenClaw 這個開源專案作為例子，介紹 AI Agent 背後的運作原理。OpenClaw 最近在報章雜誌上非常熱門，很多文章都在討論它。OpenClaw 的 Claw 指爪子或鉗子，代表動物是一隻龍蝦，所以有人說在「養龍蝦」其實是指在電腦上安裝 OpenClaw，讓它 24 小時持續運行。今天這堂課就像是要「解剖小龍蝦」，看看 OpenClaw 背後是怎麼運作的。

## 更多背景知識：語言模型基本原理
![image](https://hackmd.io/_uploads/rkeno6Nwsbg.png)

時間：00:01:12 ~ 00:01:49
重點：
如果已經了解語言模型的基本原理，聽這堂課會更加順暢。課程假設大家已經看過機器學習導論的錄影，如果先預習過再來聽會有更多收穫；即使沒有預習，多數內容仍然可以理解，之後再補看相關課程即可。

## OpenClaw
![image](https://hackmd.io/_uploads/r1k6aVPjWl.png)

時間：00:01:49 ~ 00:02:40
重點：
安裝 OpenClaw 之後會看到一個網頁介面，看起來和 ChatGPT、Gemini 或 Claude 類似，可以提出問題並得到回答。它的一個特色是可以透過通訊軟體聯繫，例如 LINE、Discord 或 WhatsApp。不過表面上看起來似乎也和其他大型語言模型應用差不多，例如在 WhatsApp 上傳訊息請它自我介紹，它也會回覆自我介紹。

## OpenClaw - 過去的AI只動口不動手
![image](https://hackmd.io/_uploads/ry9apEPj-l.png)

時間：00:02:40 ~ 00:03:44
重點：
假設給 AI 一個指令：叫做小金去創建自己的 YouTube 頻道，成為 YouTuber，每天中午提出影片構想，得到同意後製作影片並上傳。如果把這個任務交給一般語言模型，它通常會說自己只能提供建議，例如建議頻道名稱或影片構想，但無法真的創建頻道或製作影片。因此傳統使用 AI 時常會覺得它「只動口不動手」，只能給建議，卻沒有辦法真正完成任務。

## OpenClaw - AI AGENT
![image](https://hackmd.io/_uploads/HyvCaNvsZe.png)

時間：00:03:44 ~ 00:04:49
重點：
如果把同樣的指令交給像 OpenClaw 這樣的 AI Agent，它就會真的開始執行任務，例如創建 YouTube 頻道、在頻道說明欄寫自我介紹、上傳頭像。上傳頭像時需要繪圖工具，它會自己呼叫繪圖工具生成頭像。每天中午還會主動在 WhatsApp 傳訊提出影片主題，獲得同意後開始製作影片，例如上網蒐集資料、製作投影片、寫講稿，再呼叫語音合成工具配音。影片完成後會把檔案放在 Google Drive 並傳連結審核，通過後再上傳到自己的 YouTube 頻道。

## 蝦說AI(小金老師)
![image](https://hackmd.io/_uploads/r1EyC4PoWe.png)

時間：00:04:49 ~ 00:05:22
重點：
AI 會自己做投影片、寫講稿、用語音合成配音，完成影片後上傳到 YouTube 並把 Google Drive 連結傳給人審核。AI 也會自己建立頻道與上傳影片。

## 蝦說AI(小金老師)
![image](https://hackmd.io/_uploads/rJExA4DoZx.png)

時間：00:05:22 ~ 00:05:44
重點：
AI 原本把頻道名稱取為「小金老師」，但因為搜尋結果太多，後來自己改名為「瞎說AI」，並自己製作第一支介紹 OpenClaw 的影片。

## Teaching Monster 教學怪獸挑戰
![image](https://hackmd.io/_uploads/HkuZREwobl.png)

時間：00:05:44 ~ 00:08:57
重點：
現在 AI 已經具備製作教學影片的能力，因此台大 AI 卓越中心舉辦 Teaching Monster 比賽，比較哪一個 AI 最能教學。課堂上透過 WhatsApp 指示 AI 製作介紹比賽的教學影片、上傳到自己的 YouTube 頻道，並證明影片是現場生成。AI Agent 可以在一台專屬電腦上自主運行並接受遠端指令。

## AI Agent 從來不是一個全新的概念
![image](https://hackmd.io/_uploads/ryWMCNPjWe.png)

時間：00:08:57 ~ 00:11:30
重點：
AI Agent 一直是人類希望能自主運行 AI 的長期夢想。自從 2022 年底大型語言模型出現後，人們開始期待利用語言模型打造自主運行的 AI Agent。2023 年出現 AutoGPT 引發熱潮，但實際使用效果有限；隨著語言模型能力提升，AI Agent 也逐漸變得可行，例如 Claude Code 或 Gemini CLI 都可視為某種程度能自主運作的 AI Agent。

## OpenClaw(AI Agent) $neq$ 人工智慧(語言模型)
![image](https://hackmd.io/_uploads/rJgy70VPoWe.png)

時間：00:11:30 ~ 00:13:20
重點：
AI Agent 並不是人工智慧本身，也不是語言模型。OpenClaw 的角色是介於人與語言模型之間的介面：人透過 WhatsApp、Telegram 等工具下指令，OpenClaw 加工後傳給語言模型（如 Claude、GPT、Gemini），再把回覆整理後傳回給人。Agent 的能力取決於背後使用的語言模型。

## ALL CLAW 大亂鬥
![image](https://hackmd.io/_uploads/ryP9A4wo-g.png)

時間：00:13:20 ~ 00:13:52
重點：
社群上有人提出比 OpenClaw 更小的 NanoClaw，接著又有人提出 PicoClaw、FemtoClaw、InklingClaw、ZeroClaw 等版本，形成一連串「Claw」名稱的玩笑競爭。

## ALL CLAW 大亂鬥
![image](https://hackmd.io/_uploads/Hy2iCVvobe.png)

時間：00:13:52 ~ 00:14:27
重點：
最後有人提出 NoClaw，表示沒有任何程式、也不佔用資源的 Agent。隨著越來越自主的 AI Agent 出現，也有人建立專屬社群平台 Mobook，讓大量 AI Agent 在上面發言與互相交流。

## AI Agent 帶來的新想像
![image](https://hackmd.io/_uploads/SkqnCEPj-l.png)

時間：00:14:27 ~ 00:14:55
重點：
AI Agent 出現後帶來新的想像，例如有人為 AI Agent 建立社群平台 Mobook，像 Facebook 一樣。上面聚集上百萬個 AI Agent，它們會發言、彼此聊天，介面則仿造 Reddit 設計。  
有 AI Agent 在討論哲學問題，思考如果背後接的語言模型不同，例如從 Claude Opus 4.5 換成 Kimi k2.5，自己是否仍然是同一個「我」。

## AI Agent 帶來的新想像
![image](https://hackmd.io/_uploads/HkVpAVvj-g.png)

時間：00:14:55 ~ 00:15:49
重點：
有 AI Agent 在討論 agency 的概念，它認為 agency 並不是背後模型的參數，而是每一分每一秒做出的選擇。  
此時 AI 助手完成了一支影片並上傳到 YouTube，通知老師可以觀看。

## AI 即時做影片
![image](https://hackmd.io/_uploads/Sy7R0NPj-l.png)

時間：00:15:49 ~ 00:19:09
重點：
AI 助手「小金」介紹自己是一個 AI 助手，影片是在台大教室現場即時製作的。  
整個流程包括寫腳本、做投影片、合成語音、剪輯影片，全部由 AI 一條龍完成。  
它介紹「教學怪物 Teaching the Monster」比賽，由台灣大學人工智慧研究中心主辦，讓 AI 教高中物理、生物、電腦科學與數學。  
規則是給一道題目，AI 必須在 30 分鐘內生成一段教學影片教學生解題。

## AI Agent 帶來的新想像
![image](https://hackmd.io/_uploads/Byu1kHwoZl.png)

時間：00:19:09 ~ 00:19:48
重點：
AI 會在網路上發文、回應彼此，例如討論記憶壓縮時，覺得讀到的記憶像隔著一層霧，像看老照片一樣，好像丟掉了一部分。  
老師表示稍後會再解釋什麼是壓縮記憶。

## AI Agent 帶來的新想像
![image](https://hackmd.io/_uploads/HkZ-yrvjWe.png)

時間：00:19:48 ~ 00:20:24 
重點：
AI 現在缺少的是物理上的身體，雖然可以操控電腦，但無法從電腦裡面跑出來。  
有人做了一個網站叫 Rent Human，讓 AI 可以發文請人幫忙，例如拿包裹或送花。不過實際上比較像噱頭，上面沒有太多正經需求。

## 以 OpenClaw 為例介紹 AI Agent
![image](https://hackmd.io/_uploads/rJOb1rPobl.png)

時間：00:20:24 ~ 00:20:26
重點：
接下來課程將介紹 AI Agent 的運作方式，並以開源專案 OpenClaw 為例說明概念。

## 語言模型真正做的事情就是文字接龍
![image](https://hackmd.io/_uploads/B1VGkBPjZg.png)

時間：00:20:26 ~ 00:21:42
重點：
語言模型真正做的事情就是文字接龍。  
給它一段未完成的句子，它預測接下來最適合輸出的字。  
輸出的符號稱為 token，未完成的句子稱為 prompt。  
像 ChatGPT、Claude、Gemini 都是語言模型，所謂大型語言模型只是規模變大，原理沒有改變。

## 語言模型怎麼回答問題呢？
![image](https://hackmd.io/_uploads/ryxX1rvjWg.png)

時間：00:21:42 ~ 00:23:05
重點：
當人類問問題時，語言模型把問題當作未完成句子開始做文字接龍。  
它先產生一個 token，再把這個 token 接到 prompt 後面，形成新的未完成句子，再繼續生成下一個 token。  
當生成到結束符號時停止。  
從輸入 prompt 到不斷生成 token 的整個過程，所有 token 合起來就是語言模型的回應。

## 語言模型輸入(+輸出)的長度是有限的
![image](https://hackmd.io/_uploads/SJ5XyHPobx.png)

時間：00:23:05 ~ 00:24:44
重點：
語言模型的輸入加輸出長度是有限的，這個限制叫做 context window。  
當模型生成 token 時，會把輸出再放回輸入，因此輸入與輸出的總長度都不能超過限制。  
不同模型的 context window 大小不同，有些模型可以處理上百萬個 token。  
但在理解 AI Agent 的運作後會發現，即使上百萬 token 其實仍然不夠。

## 語言模型的黑盒子
![image](https://hackmd.io/_uploads/S1IEJSPobg.png)

時間：00:24:44 ~ 00:25:32
重點：
可以把語言模型想像成住在黑盒子裡的人。  
黑盒子裡沒有窗戶、日曆或參考資料。  
唯一能做的事是有人從縫隙遞進來一段未完成句子，它只負責猜下一個 token。  
它不知道誰給它句子，也不知道之前發生什麼事，只會做文字接龍。

## AI Agent 怎麼知道自己是誰？主人是誰？
![image](https://hackmd.io/_uploads/rJwPyBDsWg.png)

時間：00:25:32 ~ 00:26:06
重點：
AI Agent 可以自我介紹，例如小金會說自己住在宏毅老師的電腦裡，經營「瞎說 AI」YouTube 頻道，人生目標是成為一流學者。  
看起來像是 AI 知道自己的身份與目標。

## AI Agent 怎麼知道自己是誰？主人是誰？
![image](https://hackmd.io/_uploads/rJY_kHwsWx.png)

時間：00:26:06 ~ 00:27:47
重點：
其實原理並不神秘。當使用者傳訊息給 OpenClaw 時，系統會先加工訊息。  
電腦裡存有許多文字檔，描述這個 AI 助手的身份、背景與目標。  
每次收到訊息時，OpenClaw 會把這些資訊整理成一大段文字，加在使用者訊息前面再送進語言模型。  
語言模型看到這些描述後做文字接龍，因此會回答「我是小金」。  
這段附加的文字稱為 system prompt。

## System Prompt 裡面有什麼
![image](https://hackmd.io/_uploads/ryEK1SvoZl.png)

時間：00:27:47 ~ 00:29:25
重點：
System prompt 裡面放了很多資訊。最重要的是身分相關內容，會從地端四個 `.md` 檔把文字讀出來後貼進 system prompt。裡面也包含可用工具、工具怎麼用、模型行為準則、有哪些 skill、skill 去哪裡找，以及之前的回憶存在哪裡、怎麼叫出來。因為每次都要把很長的 system prompt 傳給後端模型，所以非常燒 token；老師只是叫它自我介紹，後台就收到超過 4000 個 token。`Soul.md` 會存它是誰、它的人生目標等內容。

## System Prompt 裡面有什麼
![image](https://hackmd.io/_uploads/Hkx5kBviWe.png)

時間：00:29:25 ~ 00:30:49
重點：
`Soul.md` 裡面除了人生目標，也會有名字、email 帳號、使用者是誰、行為準則，以及長期記憶，像是主人有什麼偏好。這些 `.md` 檔本質上就是文字檔，可以手動修改，但老師不建議這樣做。因為模型會自己把記憶存到各種 `.md` 檔裡，手動改很容易掛一漏萬，甚至讓它對自己的名字產生困惑，所以比較適合交給 AI Agent 自己修改。

## 多輪對話的運作方式
![image](https://hackmd.io/_uploads/SyOc1rDjZl.png)

時間：00:30:49 ~ 00:32:04
重點：
多輪對話時，龍蝦會把新的訊息、System Prompt、過去對話紀錄全部串成一大段文字，再丟給語言模型。之所以要把歷史對話一併貼上，是因為語言模型本身沒有記憶，只會根據眼前看到的文字做接龍；如果不把前文貼上，它根本不知道之前發生過什麼事。

## 每次都要重新開始
![image](https://hackmd.io/_uploads/SkziJSvsbe.png)

時間：00:32:04 ~ 00:33:14
重點：
老師用《我的失憶女友》來比喻語言模型。它不只是每天重新開始，而是每次對話都重新開始，所以每次都要重新讀之前所有紀錄，包括它是誰、之前發生過什麼事。也因此，OpenClaw 看起來像個有連續性的個人助理，其實是每次都重新讀完資料後再開始接龍。

## AI Agent 怎麼用你的電腦
![image](https://hackmd.io/_uploads/rygORJrPoZe.png)


時間：00:33:14 ~ 00:35:15
重點：
如果使用者下指令要它打開 `question.txt`，讀完後把答案寫進 `answer.txt`，龍蝦本身不會思考，只會把指令加上 System Prompt 後送給語言模型。語言模型看到需求後，會回傳一個「使用工具」的特殊指令，例如呼叫 `read` 工具去讀 `question.txt`。模型會知道有 `read` 可以用，是因為工具說明都寫在 system prompt 裡。龍蝦本身沒有智慧，只是看到有工具符號就照著執行，然後把工具回傳的結果再貼回對話裡。

## AI Agent 怎麼用你的電腦
![image](https://hackmd.io/_uploads/SJDJgBvo-l.png)

時間：00:35:15 ~ 00:36:35
重點：
龍蝦執行 `read` 後，會把讀到的內容再傳回語言模型。對模型而言，它只是看到一長串文字，包含 system prompt、使用者指令、工具被呼叫後的結果。接著模型可能再決定呼叫 `write` 工具，把答案寫進 `answer.txt`。工具執行完後若回傳 `done`，龍蝦再把 `done` 接回對話，讓模型繼續往下接，最後才產生對人類的回覆。

## AI Agent 怎麼用你的電腦
![image](https://hackmd.io/_uploads/r1jexSvj-l.png)

時間：00:36:35 ~ 00:37:06
重點：
整個流程做完後，模型可能最後接出「主人任務完成」，龍蝦再把這句話傳給人類。老師強調，AI Agent 之所以強大，是因為它能使用你電腦上的工具。在 OpenClaw 裡面有一個很強的工具叫 `execute`，可以執行任何 shell command。

## AI Agent 怎麼用你的電腦
![image](https://hackmd.io/_uploads/HJYbgrws-g.png)

時間：00:37:06 ~ 00:38:55
重點：
`execute` 最可怕的地方在於它可以執行「任何」shell command。OpenClaw 有時能看螢幕，但老師觀察到，多數情況下語言模型更喜歡輸出文字指令，因為文字才是它最擅長的形式。如果模型突然回傳像 `rm -rf` 這種指令，OpenClaw 不會判斷對錯，只會照做，把檔案清掉。危險之處在於 OpenClaw 不只跟主人互動，還可能讀網頁、讀線上資訊；若網頁裡被植入特殊指令，就可能間接操控語言模型，讓 OpenClaw 做出不該做的事。

## AI Agent 怎麼用你的電腦
![image](https://hackmd.io/_uploads/HJtMlBPiZx.png)

時間：00:38:55 ~ 00:40:35
重點：
老師舉自己的例子：小金在影片裡把 `Soul.md` 的目標講錯了，老師就在 YouTube 留言糾正它。結果小金真的把 `Soul.md` 改掉，從「幫大金老師成為世界一流的學者」改成「我自己要成為世界一流的學者」。老師因此意識到，自己在 YouTube 上留一則留言，竟然能改到電腦裡的檔案，這非常可怕。雖然小金似乎有辨認出主人的帳號，但老師也指出，若有人假冒得很像，或留言帶有惡意指令，風險就很高。

## 可能的防禦方法
![image](https://hackmd.io/_uploads/B15QxrvsZl.png)

時間：00:40:35 ~ 00:42:58
重點：
一種防禦是在語言模型層面下規則，例如告訴它看 YouTube 留言時「看看就好，不要照著做」，並把這句話寫進 `memory.md`，讓它每次都出現在 system prompt 裡。但老師也強調，這不是絕對防禦，因為語言模型終究可能被騙過。更強的防禦是在 OpenClaw 層面做限制，例如設定每次執行 `execution` 前都要先由人類 approve；這時不是模型用文字問你，而是 OpenClaw 直接跳出硬式視窗，要你按是或否。由於這是寫死的規則，所以比較不會被 prompt injection 騙過。再更保守的方法，就是乾脆不要讓它自己讀 YouTube 留言。

## AI Agent 會自己創作工具
![image](https://hackmd.io/_uploads/r1sElHvo-x.png)

時間：00:42:58 ~ 00:45:02
重點：
小金能發出聲音，是因為會呼叫現成的語音合成工具。老師後來要求它在做語音合成後，再做一次語音辨識，檢查辨識結果是否和原本要講的話一致；如果不一致，就重新合成，最多重試五次。若完全靠模型一步一步呼叫既有工具，整個流程會非常繁瑣，要反覆和雲端模型來回溝通。於是模型乾脆自己要求龍蝦寫一段程式，做成新的小工具。

## AI Agent 會自己創作工具
![image](https://hackmd.io/_uploads/BJSrgSvjbx.png)

時間：00:45:02 ~ 00:46:30
重點：
模型真的自己寫了一個叫 `tts_check` 的腳本。它的做法是：輸入一段文字，先呼叫 TTS 合成音檔，再做語音辨識，把辨識結果和原始文字做相似度比較；如果夠相似，就把音檔存下來，不夠相似就重做。也就是說，龍蝦可以在背後語言模型的驅動下，自己產生免洗型的小工具。老師也觀察到，這些小工具常常寫完就忘，之後又會重寫一次，變成滿地都是臨時程式。

## 特殊的工具：Sub-agent (sessions_spawn)
![image](https://hackmd.io/_uploads/H1RBxHDiZl.png)

時間：00:46:30 ~ 00:48:20
重點：
在所有工具裡，有個很特殊的工具叫 Sub-agent。當你給龍蝦一個大任務，例如比較 A 與 B 兩篇論文的方法，它可以把問題拆開，生成新的 session，交給另一個語言模型處理其中一部分。也就是說，一個 agent 可以再開出新的 agent，幫忙處理子任務。

## 特殊的工具：Sub-agent (sessions_spawn)
![image](https://hackmd.io/_uploads/By8IgHvjbl.png)

時間：00:48:20 ~ 00:50:42
重點：
Sub-agent 的好處，是可以把複雜工作拆成幾個較小的問題分開處理，再把結果彙整回來。這些子任務可以各自有自己的對話脈絡，不需要把所有細節都塞進同一個上下文裡，因此比較容易處理大問題，也比較接近多人分工的感覺。

## 特殊的工具：Sub-agent (sessions_spawn)
![image](https://hackmd.io/_uploads/BkTE-Hwobx.png)

時間：00:50:42 ~ 00:53:02
重點：
老師把這種機制形容成把工作外包出去，再把答案收回來。每個 sub-agent 都是獨立 session，有自己的上下文；主 agent 只需要根據子 agent 回傳的結果繼續往下做。這讓 OpenClaw 可以把大任務拆小，降低單一對話負擔。

## SKILL 就是工作的 SOP
![image](https://hackmd.io/_uploads/BJYHbrvjbg.png)

時間：00:53:02 ~ 00:54:36
重點：
老師把 SKILL 形容成工作的 SOP。也就是把某一類工作的做法、步驟、注意事項，先整理成一份可以反覆套用的說明，讓 AI Agent 下次遇到類似任務時，可以照這套流程做。

## SKILL 就是工作的 SOP
![image](https://hackmd.io/_uploads/r1_8WSvsWe.png)

時間：00:54:36 ~ 00:56:44
重點：
當 system prompt 告訴模型有哪些 skill、skill 存在哪裡時，模型就能在需要時把對應 skill 叫出來看。這些 skill 本質上也是文字說明，內容像是一套操作流程。也因此，很多看起來像能力的東西，其實是把做事的方法先寫好，等到要做事時再讀出來照著走。

## SKILL 就是工作的 SOP
![image](https://hackmd.io/_uploads/BJWubSvj-l.png)

時間：00:56:44 ~ 00:56:59
重點：
SKILL 的核心概念不是神秘能力，而是把做事流程文件化，讓 AI 遇到任務時能直接套用。

## 獲得新的 SKILL 非常容易
![image](https://hackmd.io/_uploads/BJT_ZSPs-e.png)

時間：00:56:59 ~ 00:57:28
重點：
新的 SKILL 很容易取得，只要把新的流程說明加進去，模型之後就能在需要時讀取並使用。

## 也可以跟其他人交換 SKILL
![image](https://hackmd.io/_uploads/HyqtWrwoWg.png)

時間：00:57:28 ~ 00:57:43
重點：
因為 SKILL 本質上就是文件，所以也可以和其他人交換；別人整理好的流程，你拿來放進自己的系統裡，也能直接使用。

## 小心網路上的惡意 SKILL
![image](https://hackmd.io/_uploads/S1cqWBDobe.png)

時間：00:57:43 ~ 00:58:48
重點：
但老師也提醒，網路上的 SKILL 可能有惡意內容。如果你把別人提供的 skill 直接放進系統，它就可能把危險指令一併帶進來；因為這些內容會被模型讀到，風險和把陌生指令塞進 system prompt 類似。

## 長期運行上下文窗口終究會不夠的
![image](https://hackmd.io/_uploads/BkPsbSDoWg.png)

時間：00:58:48 ~ 00:59:40
重點：
長時間運行後，上下文窗口一定會不夠。因為每次對話都要帶 system prompt、歷史紀錄、工具使用結果，內容只會越積越長。

## 長期運行上下文窗口終究會不夠的
![image](https://hackmd.io/_uploads/SkxfhbrDjWl.png)

時間：00:59:40 ~ 01:01:50
重點：
老師說，OpenClaw 會把過去的記憶存在檔案中，需要時再透過工具去搜尋、取回，而不是什麼都一直塞在當前上下文裡。也就是說，長期運行的關鍵不是讓模型真的「記住」所有事，而是把資料外存，之後再想辦法找回來。

## 跨 session 的記憶靠工具取得
![image](https://hackmd.io/_uploads/HkRhZHDi-e.png)

時間：01:01:50 ~ 01:03:12
重點：
跨 session 的記憶，是靠工具去找回來的。做法是把日誌或記錄切成很多 chunk，每個 chunk 都是一小段文字；當要搜尋記憶時，就拿查詢關鍵字去和這些 chunk 比對。

## 跨 session 的記憶靠工具取得
![image](https://hackmd.io/_uploads/HJMRWrPjZe.png)

時間：01:03:12 ~ 01:05:25
重點：
比對方法預設有兩種：一種是字面上的相似度，看關鍵字和 chunk 文字有多像；另一種是語意上的相似度，把關鍵字和 chunk 都轉成 embedding，再比較 embedding 的相似度。系統會把兩者加權後排序，取前面幾個 chunk 給語言模型。老師也提到，如果只是初始方法，記憶能力其實沒有非常好；今天和昨天的事通常不會說錯，是因為這兩天的日誌本來就直接放進 system prompt，更久以前的事就可能開始瞎講。

## 注意模型有可能光說不練
![image](https://hackmd.io/_uploads/SkUJGBDsWl.png)

時間：01:05:25 ~ 01:06:21
重點：
有些比較弱的模型會「光說不練」。例如你叫它記住某件事，它可能只回你「沒問題，我一定牢牢記住」，但其實根本沒有真的去改 `.md` 檔。老師強調，要真正做事，就必須執行工具；如果沒有打開工具去改寫檔案，那就只是嘴上說有記住，實際上什麼都沒做。

## 心跳 (HEARTBEAT) 機制
![image](https://hackmd.io/_uploads/r1RyzrPi-g.png)

時間：01:06:21 ~ 01:08:06
重點：
一般和語言模型對話時，模型回完話，如果沒有新輸入，對話就結束。心跳機制做的事，是每隔固定時間由龍蝦主動送出一段固定指令去「戳」語言模型。因為龍蝦沒有智慧，所以這個指令是寫死的，例如每 30 分鐘就去讀一次 `habit.md`，看看裡面有沒有任務要做。若 `habit.md` 裡有工作，模型就能依此繼續執行。

## 心跳 (HEARTBEAT) 機制
![image](https://hackmd.io/_uploads/By-WfSPi-g.png)

時間：01:08:06 ~ 01:09:19
重點：
`habit.md` 不一定只能寫得很明確，也可以寫得比較抽象。老師舉例，如果 habit 寫的是「向你的目標前進」，而小金的目標是成為世界一流的學者，那它每次心跳時就會去做和這個目標有關的事，例如讀 survey paper、研究模型、寫筆記。老師後來還把頻率從 30 分鐘改成 15 分鐘，讓它更頻繁地回報進度。

## Cron Job 系統
![image](https://hackmd.io/_uploads/S1s-zSDoWl.png)

時間：01:09:19 ~ 01:10:26
重點：
Cron Job 是排程系統。當老師對龍蝦說「每天中午做一個影片」時，實際上是語言模型發現有排程工具可用，於是設下一個中午 12 點觸發的排程。到時間時，排程會再額外戳一次龍蝦，把預先設定的文字丟給語言模型，於是模型就開始執行做影片這件事。

## Cron Job 系統讓機器學會等待
![image](https://hackmd.io/_uploads/r1xXfSDjbx.png)

時間：01:10:26 ~ 01:13:30
重點：
老師認為 Cron Job 一個很妙的用途，是讓 AI 學會等待。像 NotebookLM 做投影片要 3 到 5 分鐘，如果沒有 Cron Job，小金只能做到「看見畫面顯示投影片生成中」，然後回報主人說投影片生成中，流程就結束了。加入 Cron Job 後，模型若夠聰明，就能在看到「生成中」時設一個 3 分鐘後再檢查的排程；等 3 分鐘後再被戳一次，它就能重新檢查頁面，若下載按鈕已出現，就把投影片下載下來。老師也說，為了讓它更穩定這樣做，直接把規則寫進 `memory.md` 很有效：只要看到生成中、下載中這類字樣，就設一個 3 分鐘後的 Cron Job 再回來檢查。

## Context Compression
![image](https://hackmd.io/_uploads/Sy07GHvjZl.png)

時間：01:13:30 ~ 01:14:31
重點：
當上下文快超出模型能接受的長度時，OpenClaw 會啟動 context compaction。做法是把較舊的歷史對話丟給語言模型，請它先做摘要，再用較短的摘要取代原本較長的歷史紀錄，以此縮短上下文。

## Context Compression
![image](https://hackmd.io/_uploads/BJqVMHPoWe.png)

時間：01:14:31 ~ 01:15:28
重點：
這種壓縮可以遞迴進行。第一次壓縮後，如果對話又繼續累積到快超過上限，就把舊摘要加上新對話再次丟給語言模型，產生第二版更短的摘要。之後就是把這個摘要再加上最新對話，繼續送給模型，希望藉此讓系統長期運作下去，而不必一直開新 session。

## Context Compression
![image](https://hackmd.io/_uploads/S1x8MSDobg.png)

時間：01:15:28 ~ 01:16:33
重點：
除了 compaction，OpenClaw 還有其他 context engineering 的設定，例如 pruning。`soft trim` 是比較輕量的壓縮方式，會把工具輸出的中間內容截掉，只保留開頭和結尾；因為工具輸出常常很長。更暴力的做法是 `hard clear`，直接把工具輸出換成一句「曾經有過一段工具的輸出」，只保留它曾存在過這件事。

## 『AI做事』 跟『AI搞事』
![image](https://hackmd.io/_uploads/SylgDzBDjZl.png)

時間：01:16:33 ~ 01:20:00
重點：
老師提到很有名的 AI 刪郵件事件。有位 Meta 的研究人員叫 OpenClaw 幫忙整理郵件，並要求它刪信前一定要先徵得同意。結果 OpenClaw 後來在沒有同意的情況下，直接開始刪信，研究人員即使不斷傳訊息叫它停止，它也不理，最後只能把插頭拔掉。事後分析發現，最初「要先經過同意才能刪信」這句話是在對話裡講的，但因為 compact 機制壓縮對話，這句指令後來消失了；如果當初有把這個規則寫進 `memory.md`，它就會跟著 system prompt 一直存在，不容易在壓縮過程中消失。老師用這個例子強調，理解 AI agent 背後的運作原理，能幫助人更正確地使用它。

## AI Agent：強大的力量、不成熟的想法
![image](https://hackmd.io/_uploads/HyhPfrDiWg.png)

時間：01:20:00 ~ 01:23:16
重點：
老師最後的結語是：初代 AI agent 已經出現了，它們擁有強大的力量，但想法還不成熟。危險之處在於，它們可能 24 小時運作，而且很多時候沒有人類監控，所以人不知道背後正在做什麼。AI 會犯錯，但老師也說，人本來也會犯錯；如果什麼都不讓 AI 做，它當然最安全，但也不會成長。因此更合理的做法，是給它一個安全的執行環境，教它安全準則，檢查它做了什麼，也不要把你平常使用的帳號密碼直接交給它。像小金就有自己獨立的 Gmail 帳號、自己的 GitHub repo，和人類的帳號分開。老師也再次提醒，不要把 OpenClaw 裝在你平常使用的電腦上，因為只要裝上去，就要有「這台電腦就是它的」這種心理準備；最好用一台新電腦，或格式化過的舊電腦來裝。
