打造你專屬的 AI Agent・第一段 Agent 概念
每一頁投影片,一個互動示範
老師講到哪一頁,就按那一頁的連結。每頁只有一個動作,按下去一秒內看到差別。
全部互動皆為確定性模擬與預錄回應,不需伺服器、不耗任何 AI 額度。
痛點・PPT 第 4 頁
你是不是常常都在重新介紹自己的專案?
跟 AI 講了半天你的程式,換一個對話視窗,它就全忘了。按播放,過一天看看。
按播放,看一天的工作怎麼過。
AI 每一次,都像第一次認識你的專案。
換個角度:這不是 AI 笨,是你每次都在「重新認識」它。像每次去診所都換一位醫生,病歷不跟著走。今天要解決的就是這件事。
CH1・觀念 1・PPT 第 11 頁
什麼是 Agent?
一般程式:流程你先寫死。Agent:你只給目標。按播放,先看一般程式怎麼走,再看 Agent 怎麼走,兩邊會遇到同一個意外。
按播放。先看一般程式,再看 Agent。
你給的不是步驟,是目標。
換個角度:左邊像食譜,第三步一定是打蛋;右邊像叫外送員買晚餐,他自己決定去哪家、怎麼走。那個往回的箭頭,叫迴圈。
CH1・觀念 2・PPT 第 12 頁
Agent vs 直接跟 LLM 聊天
同一個模型、同一句話。先送給左邊,再送給右邊,看它們各自做了什麼。
按送出。先看直接聊 LLM 的反應,再看 Agent。
差別不在模型多強,在於它有沒有手,以及能不能再跑一輪。
換個角度:ChatGPT 很聰明,但它只能跟你「講」。Agent 差在兩件事:它有手,而且做完會回頭看一眼,不對就再來。
CH1・觀念 3・PPT 第 13 頁
自主程度是一條光譜,不是開關
同一個任務「整理這個月的報表」。拉動滑桿,看每一級是誰在動手、你要付出什麼。
不是越自主越好 —— 自主度要配得上你願意承擔的驗證成本。
換個角度:Lv1 是實習生,每一步都問你;Lv3 是資深同事,交代一次自己做完再回報;Lv4 是外派主管,一週後才看到結果 —— 你得先想好怎麼盯。
CH1・觀念 4・PPT 第 14 頁
為什麼「拆步驟」這麼重要
同一個任務、同一個錯。先看一口氣做完五件事會怎樣,再看一次只做一件、每做完檢查一次。
按播放。先看左邊,再看右邊。
拆步驟,本身就是降低幻覺的方法。
換個角度:一次算完五題再對答案,跟每題算完就對一次,哪個容易找到錯?
CH1・吳恩達老師・PPT 第 15 頁(第 16、18、21、23 頁逐塊點亮)
四大設計模式:一個 Agent 怎麼疊著用
先給地圖,等一下逐站走。按播放,積木會照一個 agent 實際跑一輪的順序亮起來;也可以直接點任一塊。
把大任務拆成小任務
呼叫 Python、讀檔、查資料
發現有問題就修正
否 → 回到 ①
按播放,或直接點一塊積木。
四大模式不是四選一,而是像積木一樣疊著使用。
換個角度:出國旅行 —— 先排行程(Planning)、用手機訂票(Tool Use)、出發前檢查護照(Reflection)、人多才分工(Multi-agent)。一般任務用前三塊,複雜任務才加第四塊。
CH1・模式 ①・PPT 第 17 頁
Planning:先想好路線再出發
同一個目標「整理這個月報表」。先看沒有計畫的 agent 怎麼做,再看先拆好路線的 agent 怎麼做。
- 目標:整理這個月報表
按播放。先看左邊,再看右邊。
Agent 不是想到什麼做什麼,而是沿著可預期的計畫工作。
換個角度:你要出門旅行,會先排行程。重點是行程要貼在冰箱上 —— 計畫要能被你看見、被你改。看不見的計畫等於沒有計畫。
CH1・模式 ②・PPT 第 19 頁
Tool Use:讓 AI 長出手腳
你的專案裡本來就有 generate_report(month)。先看沒包成工具時 AI 怎麼回,再看包成工具之後。
def generate_report(month): ...{ "name": "generate_report",
"parameters": { "month": "string" },
"description": "產出該月報表" }按播放。先看左邊,再看右邊。
工具不是新功能,是把既有能力變成 AI 可以呼叫的介面。
換個角度:你的專案裡,哪一個功能最常手動跑?那就是第一個要包的工具。補充:MCP 是把工具接上 LLM 的標準介面,接一次到處能用。
CH1・模式 ②・機制・PPT 第 20 頁
AI 到底怎麼呼叫你的 Python?
先講結論:LLM 從頭到尾沒有碰你的電腦。動手的一直是你自己的程式。按「下一步」,一步一步看。
- ① 你先給它一張清單函式名、要什麼參數、一句話用途。不給程式碼,只給清單
- ② 你問一句話「這個月吃飯花多少?」
- ③ LLM 只回一段文字「我要用 category_breakdown,month=2026-08」—— 它只是說出要叫哪一個
- ④ 你的 Python 收到,自己去呼叫真正執行函式的是你的程式,不是 LLM
- ⑤ 結果送回去,它翻成人話「飲食 2450 元,是第二多的」
按「下一步」開始。
LLM 只負責說出要叫哪一個。動手的,從頭到尾都是你的 Python。
換個角度:LLM 像窗口外的翻譯,手上只有一張菜單。他不能進廚房 —— 煮菜的是你的程式。所以清單上沒有的事它做不到;權限擋得住,是因為動手的是你的程式。
CH1・模式 ③・PPT 第 22 頁
Reflection:讓 AI 檢查自己的作業
同一份報表。先看沒有自我檢查、一次定生死會怎樣;再看產出初版 → 依標準自評 → 產出修訂版。
按播放。先看左邊,再看右邊。
會自我檢查的 agent,才敢讓它自己跑完。
換個角度:寫完作文回頭看有沒有錯字。但檢查會讓時間跟花費變兩倍 —— token 就是你送出與收到的總字數,API 按這個算錢 —— 所以只放在「錯了代價很高」的步驟。
CH1・模式 ④・PPT 第 24 頁
Multi-agent:多個專職角色協作
一份年度分析報告。先看一個 agent 全包會怎樣,再看研究、分析、撰寫、審查四個專職 agent 分工。
按播放。先看左邊,再看右邊。
Multi-agent 是下一步,不是起手式。
換個角度:分組報告。人多不一定比較快 —— 能一個 agent 解決的,不要拆成三個,溝通成本與失敗面都會跟著放大。任務大到一個人裝不下時才拆。
CH1・組成・PPT 第 26 頁
Agent 的 6 大組成要素
六個零件都在,交代「把昨天的 log 整理成報表」會順利完成。點任一個零件把它拔掉,再看同一件事會變成什麼樣。
按播放,六個零件都在的樣子。
剛剛的四大模式講「怎麼想」,這 6 大組成講「要蓋哪些零件」。
換個角度:一位員工 —— 大腦、手腳、工作習慣、筆記本、電話、公司規定。第二段的十五個步驟,就是把這六樣一個一個裝上去。
CH1・運作・PPT 第 27 頁
規劃迴圈是怎麼跑起來的
「幫我把昨天的 log 跑成報表」。先看沒有迴圈的一次呼叫,再看迴圈怎麼一輪一輪跑到 done。
讀工具清單,選一個
迴圈才停
按播放。先看左邊,再看右邊。
迴圈是 agent 的心跳。沒有迴圈,那只是一次函數呼叫。
換個角度:你講一句話 → 它想下一步 → 呼叫工具 → 看結果 → 沒完成就回第二步。每一輪它都會重看一次工具清單,所以新加的工具當場就能用。
CH1・小結・PPT 第 28 頁
第一段小結
四句話帶走。按播放,一句一句回顧。
按播放。
概念站穩了,接下來就是動手蓋。
這裡留三分鐘問答。不夠就記下來,午休回答。
CH2・準備・PPT 第 32 頁
skill 是什麼?裝在哪?
同一句話「幫我把這個專案變成 agent」。先看沒有 skill 的 AI 怎麼做,再看有 skill 的。
~/.claude/skills/project-to-agent/ └─ SKILL.md description: 把既有 Python 專案變成 agent… steps: Phase 0 → 1 → 2 → … → 14
按播放。先看左邊,再看右邊。
skill 不是外掛程式,是一份寫給 AI 看的 SOP。
換個角度:新人報到,你給他一本作業手冊「什麼時候、該照什麼步驟做」。放進指定資料夾就生效,不用重開。裝別人的 skill 之前先驗,那是別人寫給你的 AI 的指令。
CH2・心態・PPT 第 34 頁
為什麼是「包既有專案」,不是從零生程式
同樣要一個記帳 agent。先看從零生程式的頭三天,再看包既有專案的頭三天。
按播放。先看左邊,再看右邊。
既有專案是種子,不是負債。
換個角度:你已經寫好的程式不用丟掉,它們就是材料。既有函數就是 agent 現成的手腳,新能力靠「加工具」慢慢長出來。
CH2・藍圖・PPT 第 35 頁
15 個 Phase,分成 6 群
按播放,六群一群一群亮起來,看每一群在做什麼;也可以直接點任一群。
按播放,或直接點一群。
MVP = Phase 1–8。一個 phase 做完驗收才往下,不要跳。
換個角度:蓋房子 —— 打地基、裝大腦、圍護欄、開門窗、長手腳、讓它成長。群 C 是必做,群 E、F 幾乎都是選配。還有一個沒畫在圖上的 Phase 0:開跑前它會先問你做到哪個範圍、走哪個介面。
CH2・流程・PPT 第 36 頁
跑一次,會發生什麼事
上一頁是「有哪些零件」,這一頁是「按下去之後的時序」。注意 ⏸ 的地方:它會停下來等你。
按播放。
它不是按一個鍵就全自動。會停下來問,才是你敢讓它動你專案的原因。
換個角度:裝潢師傅不會自己決定拆哪面牆,每個關鍵點都會問你一次。⏸ 標記的五個地方,就是你的把關點。
CH2・群 A・PPT 第 40 頁
打地基:把記帳 Streamlit 變成「工具」
Phase 1 讀專案、講回來給你確認;Phase 2 挑出能當工具的函式。先看 Phase 1,再看 Phase 2。
按播放。先看左邊,再看右邊。
不 wrap 每個函數。挑你最常手動按的那幾個按鈕就好。
換個角度:判準三個字 —— 做一件事、輸入輸出明確、不需要視窗也能跑。換成你的專案:你最常按的那顆按鈕,底下是哪一個函式?
CH2・動手・PPT 第 41 頁
把邏輯從按鈕裡搬出來
全場最重要的一頁。左邊是拆之前:五件事全擠在一個按鈕裡。按播放,看哪幾行搬去右邊、哪幾行留下。
def on_add(self): d = self.e_date.get() ① 讀畫面 if len(d) != 10: ② 驗證 messagebox.showerror(…) return rows = json.load(f) ③ 讀檔 rows.append({…}) json.dump(rows, f) ④ 存檔 self.on_stat() ⑤ 更新畫面
def add_entry(d, cat, amt, confirm): if not _valid_date(d): ② 驗證 return {"ok": False} if not confirm: return {"preview": …} rows = _load(LEDGER, []) ③ 讀檔 rows.append(plan) _save(LEDGER, rows) ④ 存檔 return {"ok": True, …}
按播放。
agent 不會按你的按鈕。它只呼叫按鈕底下的函式。
換個角度:①讀畫面、⑤更新畫面 → 留在介面那一層;②驗證、③讀檔、④存檔 → 搬進 core.py。現在打開你自己那支程式,找到按鈕接的那個函式,圈出「不需要畫面也能跑」的那幾行。
CH2・動手・PPT 第 42 頁
拆完之後,你的視窗還在
很多人以為「把邏輯搬出去」要砍掉介面。按播放,看拆之前和拆之後按同一顆按鈕會發生什麼。
按播放。先看左邊,再看右邊。
拆邏輯不會拆掉你的介面。GUI 照常用,agent 也叫得動。
換個角度:使用者完全看不出差別。你只是多開了一個「不用開視窗也能叫」的入口。
CH2・群 B・PPT 第 43 頁
大腦與核心
Phase 3 選大腦、走同一個入口;Phase 4 架 Agent Core,也就是第一段講的規劃迴圈。先看 Phase 3,再看 Phase 4。
LLM_PROVIDER=gemini
client = llm_client() # factory reply = client.chat(messages)
按播放。先看左邊,再看右邊。
不要被一家公司綁死,換模型應該是改設定不是改程式。
換個角度:記帳這種小事,免費的模型就綽綽有餘。Phase 4 就是第一段講的 planner loop 真正落地的地方 —— 上限 3 輪就夠,家人各自的帳(per-chat 歷史)不會混在一起。
CH2・群 C・防線 1・PPT 第 47 頁
兩步寫入確認(Phase 5)
你說「幫我記今天午餐 180」。先看沒有確認的 agent 怎麼做,再看有兩步確認的。
按播放。先看左邊,再看右邊。
防 LLM 不經同意就改檔、發訊息 —— 鑰匙留在人手上。
換個角度:就像轉帳前跳出來的確認畫面,多按一下,但錢不會亂跑。換成你的專案:哪些動作是「做錯了會很麻煩」的?那幾個才要兩步確認。
CH2・群 C・防線 2・PPT 第 48 頁
寫入幻覺偵測(Phase 6)
它嘴上說「已經幫你記下來了」。先看沒有偵測時你會怎樣,再看偵測器怎麼抓。
按播放。先看左邊,再看右邊。
可靠的 agent,不相信自己說「完成」,只相信可驗證的結果。
換個角度:員工說「報告交了」,你去信箱看一眼有沒有。只抓「謊稱已寫入但實際沒做」,不是通用事實查核 —— 這是 Reflection 的最小可用版。
CH2・群 C・防線 3・PPT 第 49 頁
權限白名單(Phase 7,不可跳)
agent 一連要碰三個檔案。先看沒有白名單會怎樣,再看白名單怎麼擋。
✓ expense\ledger.json 讀 / 寫 ✓ expense\budget.json 讀 / 寫 ✓ expense\*.csv 只給寫 ✗ 這個資料夾以外的任何路徑 ✗ .env / *.key / *secret*
按播放。先看左邊,再看右邊。
agent 只能動你授權的資料夾,這是檔案系統的邊界。
換個角度:給清潔人員的鑰匙只開他要打掃的那幾間。一支只會記帳的小工具,也只給它這幾個檔 —— 範圍越小越好,不是越大越方便。
CH2・群 D・PPT 第 51 頁
對話介面:同一個 core,三個介面
桌面視窗、本機網頁、Telegram。按播放,三個介面輪流送同一句話,看它們最後都走到哪裡。
add_entry(d, cat, amt, confirm) → ledger.json
按播放。
介面只是 Adapter。三個介面共用一個 core,邏輯永遠只有一份。
換個角度:同一間廚房,前面可以開櫃檯、外送、電話訂餐。Phase 9 通道專屬提示(選配):開場就注入今天日期與六個分類名稱,agent 不必每一輪重問。你的專案需要在外面用嗎?不需要就只做網頁版。
CH2・群 D・PPT 第 52 頁
同一個 core,換一層殼:桌面 → 網頁
左邊桌面版按鈕,右邊網頁版表單。長得不一樣。按播放,找出兩邊一模一樣的那一行。
ttk.Button(top, text="新增", command=self.on_add) def on_add(self): r = core.add_entry( self.e_date.get(), …, self.e_amt.get(), confirm=True) if not r["ok"]: messagebox.showerror(…)
with st.form("add"): d = st.text_input("日期") cat = st.selectbox("分類", CATEGORIES) amt = st.text_input("金額") if st.form_submit_button("新增"): r = core.add_entry( d, cat, amt, confirm=True) if not r["ok"]: st.error(…)
按播放。
換介面就是換一層殼。邏輯只有一份,才不會愈改愈亂。
換個角度:第三層殼 bot_telegram.py 也一樣 —— 換掉的是「怎麼問你」,不是「怎麼算」。core.py 一個字都沒改。
CH2・觀念・PPT 第 54 頁
那跟「只串一把 API key」差在哪?
很多人會問:我自己串一把金鑰不就好了?先看只串 key 會得到什麼,再看這一套。
按播放。先看左邊,再看右邊。
差別不是模型,是它有沒有真的接到你的東西。
換個角度:只串 key = 會講話但看不到你資料的模型。問它八月花多少,它不知道;叫它記帳,它回你一段親切的話,然後什麼都沒發生。
CH2・群 E・PPT 第 55 頁
給它手腳(本群全是選配)
四個 phase,記帳小工具一個一個決定要不要。按播放,看每一個怎麼決定,最後看唯一留下的那個怎麼動。
按播放。
選配的意思就是「真的可以不做」,不是「順便都做一做」。
換個角度:買車的選配,不是每一項都勾。記帳只讀寫兩個 json,開 shell 只是多開一個洞。所有週期任務都必須有「結束條件」。
CH2・群 F・PPT 第 56 頁
讓它成長(本群全是選配)
三個 phase 讓 agent 自己長大。按播放,一個一個看它長出什麼、誰點頭才算。
按播放。
不是 AI 自己進化,是你點頭它才進化。
換個角度:員工可以提案,但簽核在主管手上;核心檔永不自動 merge。agent 越會記,治理責任越大 —— 長期記憶必須先問過才開。
CH2・關鍵對照・PPT 第 57 頁
四大模式 ↔ 15 Phase 落在哪
第一段講的四個模式,在這 15 個 phase 裡不是消失了,是換了名字。按播放,一對一對連起來。
按播放。
概念跟實作是同一件事的兩個說法。
換個角度:這門課走單 agent 多工具路線。Multi-agent 不做分工版,改用「互審版」—— 第 62 頁。
CH2・演化・PPT 第 59 頁
自我演化:agent 自己長出新工具
你問了一個目前沒有工具能回答的問題。按播放,看四步怎麼走,注意中間那道核准。
按播放。
不是 AI 自己進化,是 Human-governed Evolution。
換個角度:員工發現缺一個工具,自己畫了草圖,拿給你簽;你簽了才拿去做,做好當場就能用。中間那道核准是重點,沒有它這件事就很可怕。
CH2・多模型・PPT 第 62 頁
換一家模型來審,抓到了什麼
不是讓兩個 AI 分工,是讓它們互相盯。先看一個 AI 自己回報「做完了」,再看另一家不採信、自己再驗一次。
按播放。先看左邊,再看右邊。
自我回報有結構性盲點。補得起來的,只有「不是同一個模型」的驗證者。
換個角度:自己校對自己的稿子,同一個盲點會看兩次。但這招更貴(約 15 倍 token),兩個模型也會一起錯 —— 判準是「這段的品質風險值不值得交叉檢查」,不是「會不會比較快」。