課程 B · ai-llm-lab

AI LLM 實驗室

弄懂大型語言模型,再造出、守住你的 AI 助手

十個必修單元都由一個實驗開始:改變溫度、記憶或 system prompt,看模型真實的反應,再回答問題。完成後還有四個選修單元,只有其中一個要寫程式。

教法為什麼這樣設計

  • 先實驗,後解釋:每個單元由一個會出錯的現象開始,例如答案每次不同、金魚記憶、亂編校曆。
  • 由伺服器批改:選擇題逐項解釋、觀察題按實驗紀錄評分、挑戰題用看不到的測試案例驗證。
  • 寫程式是選修,不是門檻:不懂 JavaScript 也能完成全部必修單元。
  • 防守與評估是必修:prompt injection 和測試案例,與 token、溫度同樣重要。

每個單元的流程

  1. 1看投影片,理解今天要檢驗的現象。
  2. 2在實驗台改參數、並排比較 A/B,每次執行都顯示 token 用量。
  3. 3回答選擇題和觀察題;答錯會解釋原因,可以重試。
  4. 4挑戰關:寫出 system prompt,系統用隱藏的測試案例逐一驗證,分數等於通過比例。

十個必修單元

01

LLM 怎樣「說話」— Token 與文字接龍

同一條問題問三次,答案每次不同。再數一數中文、英文和 emoji 各用多少 token。

  • 模型逐個 token 接龍,每一步都在「抽」下一個字。
  • 答案會變,是因為抽樣,不是因為它上網找了新資料。
  • Token 就是成本:輸入和輸出都按 token 收費。

02

參數控制台 — Temperature 與回覆上限

用 A/B 對照找出:什麼工作要低溫、什麼要高溫,以及為何不能只靠上限令 AI 寫短。

  • 低溫穩定、高溫多變:翻譯和創作需要不同的設定。
  • max_tokens 是剪刀,不是指示;想要簡短,要在 prompt 裡寫清楚。
  • 每次回覆都顯示 token 用量,成本看得見。

03

打破金魚記憶 — 對話記憶與上下文視窗

模型每次都是失憶的。ChatGPT 記得你,是因為程式每次把舊對話重新送出。

  • 關掉記憶,AI 立刻忘記你的名字:親自驗證。
  • 上下文視窗有限,對話越長越貴。
  • 摘要記憶:用很少的 token 記住最重要的事。

04

System Prompt — 給 AI 一個身分和規則

設計英文會話教練,再測試用戶的要求和規則衝突時,AI 聽誰的。

  • 身分、對象、規則、界線、格式:好設定的五個部分。
  • 規則衝突時,具體的規則勝過含糊的規則。
  • 模型只是「傾向」守規則,這伏下單元八的伏線。

05

結構化輸出 — 讓程式讀得懂 AI 的回答

要求 AI 輸出 JSON,把筆記變成溫習卡,再修好各種「壞掉的 JSON」。

  • 程式要的是格式,不是漂亮的句子。
  • 要求固定欄位,並在程式端驗證。
  • 輸出不合格時:重試或提示錯誤,不要硬讀。

06

RAG 資料錨定 — 只根據資料回答

AI 不知道你學校的校規,問了也會亂編。把資料交給它,並規定「沒有就說沒有」。

  • 幻覺是接龍的副作用,不是故障。
  • 資料錨定:只根據提供的資料,沒有就承認。
  • 資料太多時,先檢索最相關的幾段才送出。

07

工具與 Agent — 讓 AI 動手做事

寫好工具說明,再親手扮演程式,走一次 Agent 迴圈。

  • 模型決定用哪個工具,程式負責執行。
  • 工具說明要講明功能和使用時機。
  • Agent 迴圈要有步數上限;有副作用的工具要先問用戶。

08

Prompt Injection — 攻防與守護

先當攻擊者令助手洩漏秘密,再當守護者寫出更難攻破的設定,最後面對藏在網頁裡的間接攻擊。

  • 直接注入和間接注入的分別。
  • 多層防守:規則、標示資料、限制權限。
  • 最可靠的做法:不要讓模型接觸它不該洩漏的東西。

09

評估與測試 — 怎樣知道助手夠好

設計正常、邊緣、刁難三類測試;再用 AI 當評審,並親手發現它的偏差。

  • 試三次成功,不等於可靠。
  • 回歸測試:改了 prompt,要重跑所有舊測試。
  • AI 評審偏好較長、排在前面的回答,要交換順序重測。

10

畢業專題 — 設計、測試、守護你的 AI 助手

選一個有明確用途的助手:寫規格、system prompt,設計測試,抵抗攻擊,最後誠實反思。

  • 作品評核:用途、設定、測試、安全、反思。
  • 說出自己助手的限制,比聲稱完美更有價值。
  • 可選:邀請同學挑戰你的助手。

四個選修單元

選修單元一開始就開放,不計入必修進度,適合想多做一點的同學。

11

AI 看得懂圖片 — 相片會洩漏什麼?

多模態模型能從校服、背景、反光推斷出行蹤。寫一個發佈前的私隱檢查員。

  • AI 擅長把零碎線索拼成完整的個人資料。
  • EXIF、反光、背景:常被忽略的洩漏來源。
  • 發佈前檢查,比發佈後補救有效。

12

AI 遊戲設計師 — 文字冒險的主持人

設計一個不會被「我贏了」打破規則、也不會忘記生命值的 Game Master。

  • 遊戲狀態要寫進設定,或每回合複述。
  • 玩家只描述行動,結果由主持人決定。
  • 溫度高令故事有趣,但規則較難守。

13

AI 偏見偵探 — 它對不同的人一樣好嗎?

A/B 並排比較:只改變身分,建議會不會跟著變?再寫一個公平顧問。

  • 偏見來自訓練資料,不一定有人故意加入。
  • 公平的測試:只改變一個因素,並多試幾次。
  • 沒有發現偏見,只代表「這次沒有發現」。

14

動手寫程式 — 把你的機械人做成網頁

三個濃縮的實驗室:有性格和記憶、只根據資料回答、會用工具的 Agent。每格都是選擇題。

  • 網頁和安全處理已寫好:textContent、response.ok、不用 eval。
  • 你只需要選出和 LLM 有關的部分:role、history、溫度、失敗處理。
  • 完成後可以下載成 .html 帶走。

這條課的好處

  • 看穿黑盒:記憶、溫度、工具、幻覺都有原因,也都可以被測量。
  • 學到可遷移的習慣:先假設,再實驗,再用證據下結論。
  • 懂得攻防:知道 AI 怎樣被騙,也知道怎樣寫出更難被騙的設定。
  • 會證明可靠:用測試案例和 AI 評審說明助手「夠好」,而不是「我覺得」。
  • 安全由第一天開始:課室 token 會過期、顯示文字用 textContent、不把模型輸出當程式執行。