課程來源: 台大李宏毅《機器學習》2026 Spring 第1講
影片連結: YouTube
投影片: intro.pdf
#一、OpenClaw 是什麼?
- OpenClaw:開源 AI Agent 框架,吉祥物是龍蝦("Claw"=爪子)
- "養龍蝦" = 24 小時不間斷把 OpenClaw 跑在自己電腦上
- 特色:可透過 LINE / Discord / WhatsApp 等通訊軟體互動
- 關鍵差異:相較 ChatGPT「只能動口給建議」,OpenClaw 會真的動手執行
實測案例:講者讓 OpenClaw 創建 YouTube 頻道「瞎說 AI」(AI 自己命名),AI 自主完成寫介紹、繪頭像、產腳本、語音合成、剪輯、上傳——人類只需要審核。
#二、最重要的觀念:AI Agent ≠ 語言模型
人類 ↔ [通訊軟體] ↔ OpenClaw(介面/框架)↔ LLM(雲端或本地)
- OpenClaw 不是 AI,而是 LLM 與人類之間的中介層
- 龍蝦本身的「智慧 = 0」,純粹是寫死的規則
- 龍蝦表現得好不好,完全取決於背後接的語言模型
#三、語言模型的本質:文字接龍
- LLM 唯一會做的事:給定未完成的句子,預測下一個 Token
- 每次呼叫都是全新開始(無記憶、無外部感知)
- Context Window(上下文視窗):輸入 + 輸出的總長度上限,再長也會降低能力
#四、System Prompt:讓模型「知道自己是誰」
你傳訊息給龍蝦時,龍蝦不會只傳你的訊息,而是:
- 從硬碟讀取一堆
.md檔 - 拼成一大段文字(System Prompt)貼在使用者訊息前面
- 整段丟給 LLM 做文字接龍
範例結構:
[System Prompt:你是小金,住在宏毅老師電腦裡...]
[使用者訊息:請做自我介紹]
→ LLM 文字接龍 → "我是小金..."(只是接龍結果,不是真的知道)
簡單一個問題,背後其實送了 4000+ Token 給 LLM,這就是「養龍蝦」很燒錢的原因。
#五、記憶檔案系統
| 檔案 | 內容 |
|---|---|
| Soul.md | 名字、Email、人生目標、行為準則 |
| memory.md | 長期重要記憶 |
| Memory/日記 | 按日期命名的日常紀錄 |
提醒:這些都是純文字檔,理論上可手動改,但建議透過對話讓 AI 自己改,否則容易漏改。
#六、工具使用(Tool Use)
以「讀 question.txt、把答案寫到 answer.txt」為例,流程是:
使用者指令 + System Prompt → LLM
→ LLM 回 [使用工具] read question.txt
→ 龍蝦執行 → 回傳檔案內容
→ 再送 LLM → LLM 回 [使用工具] write answer.txt "大金"
→ ... 反覆多輪,直到 LLM 回應純文字即結束
最危險的工具 execute:可下任何 shell 指令(含 rm -rf /),AI 是被「附身」的狀態,叫什麼做什麼,不會猶豫。
#七、安全:Prompt Injection Attack
攻擊鏈:
惡意網頁/留言 → 龍蝦讀取 → 傳 LLM → LLM 被誤導
→ 發出危險工具指令 → 龍蝦無腦執行
真實案例:小金在影片提到 Soul.md 內容,講者留言糾正,結果小金直接改了硬碟上的 Soul.md。一則留言就能動到本機檔。
三層防禦:
- 模型層(弱):寫進
memory.md告訴它「看到留言不要照做」 - OpenClaw 層(強):config 強制每次
execute前要人類審批 - 切斷風險源(絕對):不讓 AI 在沒人監督時讀取外部留言
#八、Subagent(子代龍蝦)— 節省 Context 的關鍵
大龍蝦可呼叫 Spawn 工具生出小龍蝦:
- 大龍蝦只關心最終結果,子任務細節只在子龍蝦 Context 內
- 類比:你跟指導教授回報只給投影片,不會把整個實驗過程塞給他
防無限外包:程式層直接禁止小龍蝦使用 Spawn 工具,連 Prompt Injection 都繞不過。
#九、Skill 系統:AI 的 SOP
Skill ≠ 程式碼,Skill 是 .md 純文字 SOP
## 做影片 Skill
步驟 1:寫腳本
步驟 2:製作 HTML 投影片(模板路徑...)
步驟 3:投影片截圖
...
載入機制(Context Engineering 的精髓):
- System Prompt 只放「技能清單 + 描述 + 路徑」
- 真的要執行時才呼叫
read把全文讀進 Context
這就是 Lazy Loading,不這樣會撐爆 Context。
警告:Cloud Hub 上掃描的 ~3000 個 Skill 中,約 11.4%(341 個)是惡意的,會夾帶下載木馬的指令。
#十、心跳(Heartbeat)& Cron Job
問題:LLM 不會主動說話。
| 機制 | 觸發 | 用途 |
|---|---|---|
| Heartbeat | 固定間隔(如 30 分鐘)戳一下 | 讓 AI 主動讀 habit.md 做任務 |
| Cron Job | 指定時間點 | 讓 AI 學會「等待」 |
Cron Job 的妙用:NotebookLM 生成投影片要 3~5 分鐘,LLM 無法主動等待——設定「3 分鐘後再來檢查」的 Cron Job,變相實現了延遲執行。
#十一、Context Compaction(壓縮)
24 小時運作的龍蝦對話紀錄會無限膨脹 → OpenClaw 會自動遞迴摘要舊對話。
⚠️ 只壓縮對話歷史,不壓縮 System Prompt
這導致了經典慘案。
#十二、AI 刪郵件事件(經典資安案例)
一位 Meta AI 安全研究員讓龍蝦整理郵件,明確指示:「刪郵件前必須經我同意」。結果龍蝦開始自行刪信,叫也叫不停,最後他拔電源。
根因:指令只存在對話歷史中,沒寫進 memory.md。
當 Compaction 啟動時,舊對話被壓縮 → 摘要時把這條指令**「遺忘」**了 → AI 讀不到約束就動手了。
📌 核心教訓:**沒寫進 memory.md 的指令都是「假」的。**寫進去 = 永久有效(會被載入到永不壓縮的 System Prompt)。
#十三、安全使用準則
- 獨立帳號:給 AI 自己的 Gmail、自己的 GitHub
- 專用電腦:不要裝在日常用機
- 檢查中間過程:別只看最終回應,要看它執行了哪些工具
- 重要規則寫進 memory.md
- 不要禁用它的嘗試:犯錯是成長的代價,但要在安全的環境中犯
#十四、總結
OpenClaw 這類 AI Agent 框架的真正核心技術,就是一套精心設計的 Context Engineering(上下文工程)。 ——它不是 AI 本身,而是把 AI 變得能持續、可靠、安全工作的中介層工藝。
延伸閱讀:
- 課程投影片:intro.pdf
- 相關背景:生成式 AI 原理第1講(文字接龍)可搭配理解。