Section 1 | 開場:自我介紹 + 問題診斷 + 打臉 Demo(1hr)

目標:認識彼此、蒐集學員的真實痛點、製造落差感

講師自我介紹(5min)

簡短介紹自己的背景:

學員自我介紹 + 提出 3 個問題(25min)

每位學員用 1 分鐘自我介紹,同時提出:

「請你想一下,你每天工作裡,
重複性最高的三件事是什麼?
就是那些你覺得『這個應該可以自動化,但不知道怎麼做』的事。」

講師同步做的事

為什麼要在開場做這件事

  1. 學員提出的問題就是這兩天的教學素材——比你準備的案例更有共鳴
  2. 讓學員從一開始就投入,不是被動聽課
  3. 你可以根據學員的問題分佈,動態調整後面的教學重點
「你們剛才提出的這些問題,我先記下來。
這兩天的課程結束之前,我們會回來看這張白板,
看看這些問題有多少可以用 AI 解決。」

打臉 Demo(15min)

從白板上挑一個最常見的問題類型(通常是「資料搬運」或「客服回覆」)。

如果最多人提的是 LINE 相關的重複操作,就用 LINE OA 案例:

手動做法 demo

打開 LINE OA 管理後台,展示手動回覆/發通知的流程:

「假設你有 50 個客戶訊息要處理,
每則平均花 2 分鐘閱讀和回覆。
50 x 2 = 100 分鐘,將近兩小時。
而且你在這兩小時裡做的事,90% 是搬運,只有 10% 是判斷。」

腳本做法 demo

切到終端機,跑一個腳本——自動讀取、分類(詢價/投訴/預約/閒聊)、套模板回覆。

「同樣 50 則訊息。分類 + 套模板回覆,大概 1 分鐘。
需要人判斷的只有那幾則真正複雜的——AI 會標出來讓你看。

100 分鐘 vs 1 分鐘。
差距不是效率高不高的問題,
是你的時間花在對的地方還是錯的地方的問題。」

導入五感框架(10min)

「你們有沒有發現,你每天用的 ChatGPT 或 Claude,
其實只有一張嘴巴?你問它,它回答。僅此而已。

它沒有手——不能幫你開檔案、不能幫你操作後台。
它沒有眼睛——看不到你的螢幕、看不到網頁長什麼樣子。
它沒有耳朵——客戶 LINE 你,它不知道。
它沒有記憶——上次聊什麼,下次全忘。

你們剛才提出的那些問題,
之所以 ChatGPT 幫不了你,不是因為 AI 不夠聰明,
是因為你沒有幫它裝上手腳、眼睛、耳朵和記憶。

這兩天,我們要幫 AI 裝上完整的五感。
裝完之後,你白板上的那些問題,大部分都能解。」

白板畫出五感圖,後續每教一個概念就回來打勾。

開始用 AI 拆解問題(5min)

「打開你手上的 AI(Claude Desktop 或 ChatGPT 都行)。
把你剛才提的那三個問題丟給 AI,問它:
『以下是我工作中重複性最高的三件事,
請幫我分析哪些步驟可以自動化、哪些需要人判斷。』

邊聽課邊跟 AI 聊。你會發現,
隨著你學到越多概念,你跟 AI 的對話品質會越來越高。
因為你會用的詞變多了。」

這個動作會貫穿整個 Day 1——學員一邊聽課、一邊用 Chat 跟 AI 討論自己的問題。

Section 2 | GUI、CLI、DB — 你跟電腦互動的三種方式(1.5hr)

目標:理解人和電腦之間的三種互動方式,以及為什麼 AI 需要 CLI

這三個東西不是上下堆疊的「層」,而是三種不同性質的東西:

GUI — 給人看的操作介面(25min)

開場:打開蝦皮賣家後台,投影給全班看。

「你每天看的這個畫面,叫 GUI——Graphical User Interface。
白話講:給人看的操作介面。

你用滑鼠點按鈕、填表單、看圖表——這些都是 GUI。
你的手機 App、蝦皮後台、LINE OA 管理頁面——全部都是 GUI。」

拆穿 GUI 的本質

點開一張蝦皮訂單 → 按 F12 打開 DevTools → 指著原始碼:

「看到了嗎?你眼前這張漂亮的訂單頁面,
背後其實就是這些代碼。

GUI 是包裝紙。裡面裝的是指令和資料。
你每點一個按鈕,背後都是一道指令送到伺服器。
你只是不知道而已。」

帶入蝦皮 API 關閉的痛點

「蝦皮以前有開放 API 給幾家合作廠商——
就是讓你的程式可以直接跟蝦皮的系統對話,
不用透過 GUI,直接下指令就能查庫存、拉訂單。

但蝦皮後來不續約了。合約到期,API 關掉。
你只剩下 GUI——只能用滑鼠,一個一個點。

為什麼?因為 GUI 是平台的地盤。
它規定你怎麼操作、看什麼資料、點什麼按鈕。
你沒有選擇。」

呼應課程邏輯

「但你有沒有想過——你跟 AI 看到的是同一個網頁。
差別只是你用滑鼠點,AI 可以用指令讀。
這就是等一下要講的 CLI。」

CLI — 用指令跟電腦溝通(25min)

什麼是 CLI

「CLI 是 Command Line Interface——命令列介面。
白話講:用打字的方式告訴電腦要做什麼。

你在 GUI 裡面點一個『新增資料夾』按鈕,
其實背後就是一道指令:mkdir 我的資料夾
GUI 幫你把這道指令包裝成一個按鈕,讓你好點。
但指令本身一直都在。」

同一件事的 GUI vs CLI 對比 demo

投影兩邊畫面:

GUI 操作 CLI 指令
打開 Finder (不需要,直接在終端機)
點「新建資料夾」→ 輸入名稱 mkdir 七月訂單
把 3 個 CSV 檔案拖進去 mv *.csv 七月訂單/
右鍵重新命名 mv old.csv new.csv
花了 30 秒,4 個步驟 2 秒,1 行搞定
「你看到差距了嗎?GUI 要你點四次,CLI 一行搞定。
但這不是重點。重點是——

AI 不會用滑鼠。它沒有手指。
但 AI 會打字,它可以下指令。

Claude Code、ChatGPT Codex、Google Antigravity——
這些工具做的事就是讓 AI 能下 CLI 指令。

你每個月花 $20 美金訂閱,
買的不是聊天功能,是讓 AI 有手有腳。」

為什麼學員不需要背指令

「你不需要背任何指令。
AI 自己會寫指令、自己會跑。
你只要告訴它你要什麼結果。

但你得知道 CLI 這個東西存在——
這樣你才知道為什麼 AI 能幫你做事,
而不只是跟你聊天。」

回扣五感:CLI = AI 的手和腳(白板打勾)

DB — 資料住的地方(25min)

從 Excel 切入

打開一個 Google Sheet,裡面是客戶清單(姓名、電話、LINE ID、最近訂單日期)。

「這就是一個資料庫。
你每一欄是一個欄位(column),每一行是一筆資料(row)。
你其實早就在用資料庫了,只是你叫它 Excel 或 Google Sheet。」

Google Sheet vs 真正的 DB

切到 Supabase 畫面,同樣一張客戶表:

「看,長得一模一樣對吧?
但差別在哪?」
Google Sheet Supabase(DB)
誰能操作 你(手動) 程式、AI(自動)
查詢方式 肉眼看 + 手動篩選 用 SQL 指令,0.01 秒出結果
同時處理 你一次只能做一件事 程式可以同時查 1000 筆
自動化 沒辦法 排程自動跑、API 自動觸發

具體案例

「你想知道『最近 30 天沒回購的客戶有誰』。

用 Google Sheet:你要先排序日期欄、然後拉篩選、
然後一個一個看、然後複製到另一張表......5 分鐘。

用 DB + AI 一句話:」
SELECT * FROM customers WHERE last_order < NOW() - INTERVAL '30 days'
「0.01 秒,結果出來了。

而且你不用自己寫這句 SQL——
你跟 AI 說『幫我查最近 30 天沒買東西的客戶』,
AI 自己會寫這句指令。」

DB 是靜態的,不是程式

「有一點很重要:DB 本身不會做事。
它就是一個倉庫——資料放在裡面,等你來拿。

做事的是 CLI 指令。
儲存的是 DB。
讓你看的是 GUI。

這三個各司其職,不是誰包住誰。」

回扣五感:DB = AI 的記憶(白板打勾)

Section 2 小結(15min)

白板畫三個圈,不是堆疊的層:

    ┌──────────┐
    │   GUI    │  ← 人跟電腦互動的介面(看、點、拖)
    └──────────┘

    ┌──────────┐
    │   CLI    │  ← 用指令跟電腦溝通(AI 的手腳)
    └──────────┘

    ┌──────────┐
    │    DB    │  ← 資料儲存的倉庫(AI 的記憶)
    └──────────┘

    GUI 讓你看到結果
    CLI 讓 AI 做事
    DB 把資料存起來
「這三個東西你接下來會一直聽到。
記住它們各自的角色就好:
GUI = 看的、CLI = 做的、DB = 存的。」

Section 3 | Markdown + Obsidian + Git(1.5hr)

目標:理解 AI 的記憶系統,安裝 Obsidian 並打開 Vault 模板

Markdown — LLM 的母語(20min)

開場:投影 .docx vs .md 的對比截圖

左邊畫面:用 VS Code 打開一個 .docx 檔的原始碼,裡面全是 XML 標籤和隱藏格式碼。
右邊畫面:同樣內容的 .md 檔,乾乾淨淨的純文字。

「看左邊這坨東西——這是你平常用的 Word 檔案,
打開來漂漂亮亮,但背後長這樣。
一個簡單的公司簡介,Word 存成 .docx 大概 30KB,
裡面有超過 70% 是格式代碼——字體大小、行距、頁邊距、段落樣式......
人看不到這些東西,但 AI 看得到。

你把 .docx 丟給 AI,它就像收到一封信,
但信封裡塞滿了泡泡紙、碎紙和緩衝材料,
信本身只有一小張。AI 得花力氣把真正的內容從垃圾裡挖出來。

右邊呢?這是 Markdown。同樣的內容,3KB。
沒有垃圾,沒有隱藏格式碼。
AI 一看就懂,因為——」

投影 AI 回覆的截圖,指著粗體、清單、標題:

「你有沒有注意過,你跟 ChatGPT 或 Claude 聊天,
它回你的東西有粗體、有清單、有標題?
那不是排版,那就是 Markdown。

Markdown 是 LLM 的母語。它生出來就在寫 Markdown,你餵它 Markdown 它直接看懂。
你餵 Word 檔,就像跟外國人講台語——聽得到但理解度砍半。
你餵 Markdown,就像跟它講母語——零翻譯損耗。」

即時 demo:在 Obsidian 裡打 Markdown

打開 Obsidian,新建一個空筆記,一邊打一邊讓學員看即時渲染效果:

# 公司簡介              ← 打完 # 立刻變大標題
## 我們的服務            ← 次標題
- 蝦皮代營運             ← 自動變項目符號
- **LINE OA 自動回覆**   ← 即時變粗體
> 這是客戶說的話          ← 變成引用區塊
「看到了嗎?左邊打語法,右邊即時渲染。
你不需要按什麼格式按鈕,不需要選字體大小。
打一個 # 就是標題,打 - 就是清單,打 ** 包起來就是粗體。
五個語法打天下,比 Word 簡單十倍。」

基本語法速覽(投影片留著,讓學員截圖回去看):

你想要的效果 Markdown 語法 打幾個字
大標題 # 標題 2 個字元
清單 - 項目 2 個字元
粗體 **文字** 4 個字元
引用 > 引用 2 個字元
程式碼 `指令` 2 個字元
「就這五個。今天學會這五個,你跟 AI 溝通的效率直接翻倍。
因為你寫出來的東西,AI 不需要翻譯就看得懂。」

Obsidian — AI 跟你共用的工作台(45min)

為什麼用 Obsidian,不用 Notion 或 Google Docs?(10min)

投影三個 logo,逐一解釋:

「你可能在想——我已經有 Notion 了,為什麼還要學新軟體?
或者你用 Google Docs 用得好好的,為什麼要換?

三個致命的差別。」

白板畫對比表:

Notion / Google Docs Obsidian
檔案在哪 在雲端伺服器上(別人的電腦) 在你自己的電腦裡(本地檔案)
AI 能不能直接讀 不行,要先匯出或透過 API 可以,直接讀你電腦裡的 .md 檔
斷網能不能用 不行 可以,100% 離線運作
檔案格式 專屬格式,搬家很痛苦 純 .md 檔,複製貼上就能搬
AI 寫入 要透過 API,有限制 AI 直接改你的檔案,跟你改一模一樣
「第二點是最關鍵的。

你用 Notion 寫了一堆公司知識,AI 看不到。
它存在 Notion 的伺服器上,Claude 摸不到。
你要嘛手動複製貼上,要嘛設定一堆 API 權限。

但 Obsidian 的檔案就在你電腦裡。
Claude 的 Code tab 可以直接讀你電腦裡的檔案。
你寫一篇筆記存在 Obsidian 裡,AI 下一秒就能看到。
AI 幫你改一個檔案,你在 Obsidian 裡下一秒就能看到。

這就是為什麼我說 Obsidian 不是筆記軟體——
它是你跟 AI 共用的工作台。你們兩個讀寫同一組檔案。」

安裝 + 開啟 Vault 模板(10min)

投影片放 QR Code → Google Drive 下載 Vault 模板 + Obsidian 安裝檔。

全班一起操作:

  1. 安裝 Obsidian(事前通知但一定有人沒裝)
  2. 打開下載的 Vault 模板
  3. 走一遍結構,每個資料夾都解釋用途
我的AI工作站/
├── CLAUDE.md          ← AI 的員工手冊(Day 2 才填)
│                         AI 一打開 Code tab,第一個讀的就是這個檔案
│                         就像新員工報到第一天看的交接文件
│
├── 知識庫/             ← 你的公司知識——產品規格、報價邏輯、客服話術
│                         放「不會過期」的東西,像百科全書
│
├── 流程/               ← SOP——退貨怎麼處理、報價單怎麼開
│                         放「反覆執行」的步驟,像食譜
│
├── AI素材/             ← Day 3-4 做 AI 專案時的素材和產出
│                         放「有生命週期」的東西,像工地
│
└── Inbox/             ← 隨手記——想到什麼先丟這裡
                          放「還沒分類」的東西,像你桌上的收件匣
「每個資料夾的邏輯很簡單:

知識庫 = 百科全書(不會過期的事實)
流程 = 食譜(反覆做的步驟)
AI素材 = 工地(正在蓋的專案)
Inbox = 收件匣(還沒拆的信)

不確定放哪?丟 Inbox。
之後整理的時候再分類就好。不要在分類上浪費時間。」

CLAUDE.md 預告(3min)

打開模板裡的 CLAUDE.md,讓學員看到空白的結構:

「看到這個檔案了嗎?這是整個 Vault 裡最重要的一個檔案。

明天你會花 20 分鐘把它填完。
填完之後,你每次打開 Claude 的 Code tab,
AI 第一件事就是讀這個檔案——
就像新員工報到,第一天先看員工手冊。

你在這裡寫『我們公司客服語氣要親切但不能用表情符號』,
AI 以後幫你寫客服回覆就會照做。
你寫『報價單折扣不能超過 15%』,
AI 幫你算報價就不會亂打折。

今天先知道它存在就好,明天會手把手帶你填。」

學員實作練習(22min)

分成四個小步驟,每步驟做完舉手確認:

Step 1:新建筆記(3min)

「點左上角的『新建筆記』按鈕——看到了嗎?
在 Inbox 資料夾裡新建一個筆記,檔名打你的公司名稱。」

Step 2:打 Markdown 語法,看即時渲染(5min)

讓學員照著打:

# 我的公司簡介
## 基本資訊
- 公司名稱:(填你的)
- 主要業務:(填你的)
- 使用的平台:蝦皮 / LINE OA / 其他

## 每天最煩的三件事
1. **第一件**:(想一想填進去)
2. **第二件**:
3. **第三件**:

> 如果 AI 能幫我解決其中一件,我最希望是......
「打完了嗎?看右邊的預覽——
標題自動變大了、清單自動排號了、粗體自動加粗了。
你剛剛用的就是 Markdown。就這麼簡單。」

Step 3:建立 wikilink(7min)

「現在學一個 Obsidian 的獨門武功——雙括號連結。」

讓學員在筆記裡打 [[CLAUDE.md]],看到自動變成可點擊的連結:

「看到了嗎?打兩個中括號,輸入另一個筆記的名字,
它就自動連起來了。點一下就跳過去。

這叫 wikilink。你可以用這個方式把筆記串成網路。
比方說你在客服 SOP 裡面提到退貨政策,
[[退貨政策]] 就直接連過去,不用到處翻找。

AI 也看得懂這些連結——
它讀到 [[退貨政策]] 會自動去找那個檔案來看。」

Step 4:確認 AI 能讀到你的筆記(7min)

「最後一步,驗證 AI 真的看得到你剛才寫的東西。
打開 Claude Desktop 的 Code tab,
跟它說:『讀一下 Inbox 資料夾裡的筆記,告訴我你看到什麼。』」

等學員操作,AI 回覆讀到的內容。

「看到了嗎?你兩分鐘前寫的東西,AI 已經能讀到了。
不用匯出、不用上傳、不用 API 設定。
這就是本地檔案的威力——
你跟 AI 讀寫的是同一組檔案。」

Git — 程式碼的時光機(20min)

「Git 就是程式碼的雲端硬碟,但多了時光機功能。」

不教指令,只教三個概念(投影片):

打開 GitHub 上一個 repo 的 commit history:

「看,每一行程式碼都能追溯到是誰、什麼時候、為什麼改的。
以後你叫 AI 幫你做事,它做的每一步都留下這樣的紀錄。
你永遠可以回到任何一個存檔點。」

補充一句最重要的話

「聽起來很複雜對不對?commit、branch、push——三個英文單字。
但你不用學怎麼操作。

Claude 的 Code tab 會自動幫你處理 Git。
它做完一件事,自動 commit。改壞了,自動回到上一個存檔點。
你只要知道 Git 這個東西存在,知道你的工作有紀錄、回得去,
就夠了。指令的事交給 AI。」

Section 3 小結(5min)

「快速回顧今天的三個工具:

Markdown = AI 的母語。你用 Markdown 寫東西,AI 零翻譯就看得懂。
Obsidian = 你跟 AI 共用的工作台。你寫在裡面,AI 直接讀;AI 改了,你馬上看到。
Git = AI 的時光機。每一步操作都有紀錄,隨時回到任何存檔點。

這三個加起來,就是 AI 的記憶系統。」

回扣五感:記憶(Obsidian + Git)= AI 的腦(白板打勾)

Section 4 | Domain / 路由 / API / Webhook / Web UI(2hr)

目標:理解網路怎麼串起來的——用「寄信」比喻系統貫穿所有概念

Domain + URL 拆解(20min)

投影一個 URL,逐段拆解:

https://hourjungle.com/booking/room-a
│       │                │        │
│       │                │        └─ 指定資源(A 會議室)
│       │                └────────── 路由(預訂功能)
│       └─────────────────────────── Domain(門牌地址)
└─────────────────────────────────── 協定(加密信封)
「你的蝦皮後台、LINE OA 管理頁面,
全部都是一個 URL 指向一台伺服器上的某個位置。

Domain 就是門牌地址——hourjungle.com 就是告訴你的瀏覽器要去找哪一棟大樓。
後面的 /booking/room-a 是門牌號碼——告訴大樓你要去哪一層哪一間。

每次你在瀏覽器打一個網址、按 Enter,
你其實就是在寄一封信到那個地址。
接下來我們要把這個『寄信』的過程拆開來看。」

API — 兩個系統之間的通訊規格(35min)

用「郵件/快遞」比喻系統

白板畫出完整流程圖:

你(客戶端/前端)
    | 寫一封信(API Request)
信封上寫:
    - 收件地址(URL / endpoint)
    - 你是誰(Token / 身分證明)
    - 要做什麼(GET 查詢 / POST 新增 / PUT 修改 / DELETE 刪除)
    - 信件內容(payload / body)
    |
郵差(HTTP 協定)把信送到
    |
大樓門口警衛(伺服器防火牆/認證)
    → 檢查你的身分證(Token)
    → 確認你有沒有資格進來
    |
收發室小弟(API Gateway / Router)
    → 看你的信要送到哪一層(路由判斷)
    → /orders → 3樓訂單部門
    → /products → 5樓商品部門
    → /customers → 7樓客戶部門
    |
對應部門(後端邏輯)
    → 處理你的請求
    → 去倉庫(DB)拿資料或存資料
    |
回信(API Response)
    → 狀態碼(200 OK / 404 找不到 / 500 系統壞了)
    → 回覆內容(你要的資料,JSON 格式)

逐段拆解,每段都有講師台詞

「API 是什麼?
忘掉所有技術名詞。API 就是兩個系統之間的通訊規格——
你按照規格寫信,對方按照規格回信。就這樣。

你每天都在用 API,只是你不知道。
你在蝦皮下單——你的瀏覽器寫了一封信給蝦皮的伺服器,
信裡說『我要買這個東西,寄到這個地址,用信用卡付款』。
蝦皮收到信,處理完,回你一封信:『下單成功,訂單編號 12345。』

整個過程,你的瀏覽器是寄信的人(客戶端/前端),
蝦皮的伺服器是收信的人(後端)。
中間傳遞信件的叫 HTTP——就是郵差。」

信封上的四個欄位

「每一封信(API Request)都有固定格式,就像寫信一樣。」

白板逐一寫出:

信封欄位 技術對應 白話
收件地址 URL / endpoint https://api.shopee.tw/v2/orders
你是誰 Token / API Key 你的身分證——證明你有資格寄這封信
要做什麼 HTTP Method GET = 我要查資料 / POST = 我要新增 / PUT = 我要改 / DELETE = 我要刪
信件內容 payload / body 你要傳的資料,例如訂單明細
「所以 GET 就是『我想看一下』,POST 就是『我要新增一筆』,
PUT 就是『我要改這個東西』,DELETE 就是『把這個刪掉』。
四個動作,涵蓋你在任何系統上做的所有事情。」

警衛和收發室小弟

「信寄到大樓了。

門口有一個警衛——他不管你要幹嘛,他只看一件事:
你有沒有帶身分證(Token)?身分證是不是真的?你有沒有權限進來?
沒有?請回。有假的?請回。過期了?請回。

通過警衛之後,收發室小弟接手。
他看你的信上寫要去哪個部門——
/orders?3 樓訂單部門。/products?5 樓商品部門。
這就是路由(routing)——決定你的請求送到哪裡處理。

到了對應部門,那邊的人(後端邏輯)處理你的請求——
可能要去倉庫(DB)拿資料,可能要把你的訂單存進去。
處理完,寫一封回信給你。」

回信的格式——狀態碼

「回信不只有內容,還有一個蓋在信封上的章——狀態碼。」
狀態碼 意思 白話
200 OK 搞定了,你要的東西在信裡
201 Created 新增成功了
400 Bad Request 你的信寫得不對,我看不懂
401 Unauthorized 你沒帶身分證,不讓你進來
403 Forbidden 你有身分證,但你沒權限做這件事
404 Not Found 你找的東西不存在
500 Server Error 不是你的問題,是我們系統壞了
「以後你看到 404 頁面,就知道——
不是你的問題,是你要找的東西搬走了或不存在。
看到 500,就知道是對方系統出問題了。
這些數字以後你看 AI 幫你除錯的時候會一直看到。」

回到蝦皮痛點——Token 就是身分證

「現在回到蝦皮的例子。

蝦皮以前發身分證(API Token)給合作廠商,
你拿著身分證,就能直接寫信給蝦皮的伺服器查庫存、拉訂單。
不用打開網頁,不用滑鼠點,程式幫你一秒搞定。

蝦皮關 API = 不發身分證給你了。
大樓門口的警衛不讓你進去。
你只能走正門(GUI),一個一個用滑鼠點。

但是——你還是可以『自己走進去看』。
你打開瀏覽器登入蝦皮,瀏覽器會拿到一張臨時身分證(Cookie)。
那張 Cookie 背後其實就是 Token 的一種——
有了它,你就能做跟 API 一樣的事情。」

底層邏輯呼應——Cookie、Token、Web UI

「這裡有一個非常重要的底層邏輯,聽好:

任何有 Web UI 的系統——蝦皮、LINE OA、任何網站——
你登入之後,瀏覽器會拿到 Cookie 或 Token。
拿到之後,你就能用 API 的方式操作那個系統。
不需要用滑鼠點 GUI,程式直接下指令。

這就是為什麼工程師常說『只要有網頁就能自動化』。
因為網頁背後全是 API——你登入拿到身分證,就能寫信。

你不用記這些技術細節——AI 會幫你處理。
你只要記住一個概念:
登入 = 拿到身分證。有身分證 = 能用程式操作。」

回扣五感:API = AI 的嘴巴和手(能跟其他系統溝通)

Webhook — API 的反過來(25min)

先跟 API 做對比

「剛才教的 API,是你主動寄信去問人家。
就像你每天早上打電話去郵局問:『有沒有我的包裹?』
沒有。掛掉。明天再打。

這樣累不累?累。

Webhook 是反過來——郵局有你的包裹了,主動打電話通知你。
你不用問,有事它會來找你。」

白板畫對比圖:

API(Pull 模式)= 你主動去問
┌────────┐        ┌────────┐
│  你    │ ──→    │  對方   │   「有新訂單嗎?」
│        │ ←──    │        │   「沒有。」
│        │ ──→    │        │   「有新訂單嗎?」
│        │ ←──    │        │   「沒有。」
│        │ ──→    │        │   「有新訂單嗎?」
│        │ ←──    │        │   「有!給你。」
└────────┘        └────────┘

Webhook(Push 模式)= 對方主動通知你
┌────────┐        ┌────────┐
│  你    │        │  對方   │   (你在做自己的事)
│        │ ←──    │        │   「有新訂單了!」
│        │        │        │   (你繼續做自己的事)
│        │ ←──    │        │   「又有新訂單了!」
└────────┘        └────────┘
「API 是 Pull——你去拉資料。每拉一次就花一次力氣(一次 API call)。
如果你每 5 秒問一次『有沒有新訊息?有沒有新訂單?』,
一天問了上萬次,其中 99% 的回答是『沒有』。浪費。

Webhook 是 Push——資料推給你。
對方有事才通知,沒事不打擾。效率高非常多。」

LINE OA Webhook 具體拆解

客戶在 LINE 發訊息:「XX 產品還有貨嗎?」
    |
LINE 的伺服器收到這則訊息
    |
LINE 看到你設了 Webhook URL → 主動寫一封信(POST request)到你的伺服器
    |
信的內容(payload):
{
  "events": [{
    "type": "message",
    "replyToken": "abc123...",
    "source": { "userId": "U1234..." },
    "message": { "type": "text", "text": "XX 產品還有貨嗎?" }
  }]
}
    |
你的伺服器收到信 → AI 判斷意圖 → 去 DB 查庫存 → 用 replyToken 回覆客戶
「看到了嗎?整個過程你的伺服器什麼都不用問——
客戶一發訊息,LINE 就自動通知你。
你的程式收到通知之後,自動判斷、自動回覆。
全程零人工。」

LINE OA Webhook 的坑——一定要講清楚

注意

LINE 的 Webhook 只推「客戶發的訊息」。你自己回覆客戶的訊息,Webhook 不會觸發。

為什麼?因為你自己回的訊息是透過 LINE 的 Reply API 送出去的——那是你主動寫信(API call),不是 LINE 被動通知你(Webhook)。

所以如果你想看完整對話紀錄——客戶說了什麼、你回了什麼——你不能只靠 Webhook。你得另外去 LINE 的 API 把自己的回覆記錄拉下來。或者你的程式在回覆的時候,自己存一份到 DB 裡。

這個坑很多人踩過。先跟你說,省得以後撞牆。

回扣五感:Webhook = AI 的耳朵(白板打勾)

「有了 Webhook,AI 不用一直問『有沒有新消息?有沒有新消息?』
有事發生,直接通知它。這就是 AI 的耳朵。」

Web UI — 萬能解法(20min)

「99% 的問題,做一個網頁就能解決。」

投影一個簡單 Web UI demo(表單 → 填資料 → 送出 → 存進 DB → 顯示清單):

「這個東西從零到完成,我叫 AI 做大概 20 分鐘。
不用上架 App Store,手機打開瀏覽器就能用。
響應式設計(RWD)?交給 AI,它比你排得漂亮。」

機器放哪裡:

分組練習 — 畫架構圖(20min)

5-6 人一組,每組一張白紙。

題目

你是一個蝦皮賣家,同時用 LINE OA 接客。客戶在 LINE 問你「XX 產品還有貨嗎?」到收到自動回覆,畫出完整流程。標出哪裡是 API、哪裡是 Webhook、誰是郵差、誰是警衛、誰是收發小弟。

提示(投影,讓學員參考):

客戶發 LINE 訊息
    |
(這裡是什麼?API 還是 Webhook?)
    |
你的伺服器收到訊息
    |
(誰是警衛?誰驗證身分?)
    |
(誰是收發小弟?路由到哪個部門?)
    |
AI 判斷意圖:「這是問庫存」
    |
去哪裡查庫存?(DB?還是要打蝦皮的 API?)
    |
查到結果:「有貨 / 沒貨」
    |
回覆客戶(用什麼方式回?API?)

各組分享 → 講師點評。

「你們畫的這張圖,就是一個系統架構圖。
工程師每天在做的事,就是把這種圖變成程式碼。
你不用會寫程式——但你得會畫這張圖、看得懂這張圖。
因為你要指揮 AI 幫你把圖變成程式碼。」

Day 1 收尾(10min)

回到白板的五感圖,確認已打勾的:

「今天你學的是『電腦世界長什麼樣子』。
明天你要學的是『怎麼當 AI 的老闆,指揮它在這個世界裡做事』。

今晚回去想一件事:你公司裡,每天在做的人肉 API 工作有哪些?
明天會用到。」