現代實驗技術-物理

工作坊 1 — 實驗物理學家的 AI · 2026年9月11日(五)· 14:20–16:20 · 中研院原分所 311 室(R311)

工作坊 1 — 實驗物理學家的 AI

目標。今天結束時,你會知道如何用 AI 幫你做出我們實驗室用它做的那些東西:網站、影片與教學、PCB 設計、資料擷取與擬合、雷射鎖頻、硬體控制、軟體。你用一個 AI 程式代理(coding agent)來做——VS Code 裡的 Claude Code,直接在你的檔案上工作:它讀檔、寫程式、執行指令並回報——而你學會的是讓它的產出值得信賴的方法。

大綱。設備與課前準備檢查 → AI 與我們使用的工具簡介 → 我們的「AI 方法」五步驟 → 專案 1:做一個網頁應用程式(模擬器或遊戲) → 專案 2:用手機透過網路控制微控制器。

先想好你要做什麼!專案 1 的建議:貨運列車裝載遊戲 · 倒立擺模擬器 · 耦合擺的相位鎖定 · 不公平的高爾夫 · 撞球 · 一個跟你自己研究有關的計算器或模擬器。

先修條件:課前準備已完成——VS Code 裝好 Claude Code 擴充功能(extension)並登入、一個課程資料夾、已下載班級儲存庫(repository)、一個已連上 GitHub 的免費 Cloudflare 帳號。請帶筆電與一條 USB-C 線(授課教師有備用);ESP32 開發板(dev board)由課堂提供。

1 · 設備與課前準備檢查

每個人的筆電都準備好了、Claude 可以正常使用、家教儲存庫也已下載:班級儲存庫 class-board-2026(儲存庫是一個專案資料夾,其完整歷史由 git——版本紀錄工具——保存;在 GitHub 上它也有線上版)已在你的筆電上,並能在 VS Code 中開啟。在其中開啟 Claude Code,輸入 /tutor L1:Claude 家教(tutor)會用英文或中文向你打招呼,並和你一起檢查設定。若有任何缺漏,現在就和家教一起修好——今天接下來的一切都建立在這上面。檢查涵蓋兩個部署帳號:已登入 GitHub,以及一個已連上 GitHub 的 Cloudflare 帳號——今天你可能兩個都需要。

機械性的工作由家教來做,由你批准——建立專案資料夾與儲存庫、開啟 GitHub Pages、專案牆條目、機密檢查。屬於學習的部分由你來做:寫願景、審閱計畫、指定測試、回報你看到什麼,並在 Source Control 按下 Commit/Sync Changes。課堂上授課教師不是服務台;家教才是——只有家教也解決不了時,才去找授課教師。

2 · AI 與我們使用的工具簡介

一段簡短的入門,見投影片(PDF)。各主題與各自的經驗法則:

3 · 我們的「AI 方法」五步驟

整場演講最重要的一張投影片。

  1. 願景(Vision)。描述你想要什麼,越詳細越好。
  2. 規格/計畫(Specification/Plan)。讓 AI 產出一份詳細的規格——規劃這個專案!把專案拆成許多小任務,每個都有可測試的交付物。要求 AI 向你提問!
  3. 審查(Review)。審查計畫,並讓 AI 審查計畫以找出改進之處與缺陷——在一個沒看過這份工作的全新 Claude 工作階段裡進行,讓作者不必為自己的計畫打分數。
  4. 寫程式(Code)(使用代理群)。要 AI 平行執行一群代理來完成建置。
  5. 測試/除錯/驗證(Test/Debug/Verify)。確保你的計畫與規格包含測試程式碼的方法。問題一次修一個。

反覆迭代:第一版計畫永遠不是最後一版。 沒有測試與驗證,絕不信任 AI。

4 · 專案 1 — 做一個網頁應用程式(模擬器或遊戲)

你想做什麼?建議:貨運列車裝載遊戲 · 倒立擺模擬器 · 耦合擺的相位鎖定 · 不公平的高爾夫 · 撞球 · 一個跟你自己研究有關的計算器或模擬器。

  1. 決定要做什麼。給它一個自己的資料夾,以及你個人帳號下一個自己的公開 GitHub 儲存庫(儲存庫是一個專案資料夾,其完整歷史由 git 保存;在 GitHub 上它也有線上版)。家教會檢查它,並在每個里程碑提醒你推送(push)。
  2. 依照「AI 方法」做出一個能在本機執行的展示版。
  3. 部署到網路上(發布它,讓它在一個公開網址上線)。用哪個主機取決於你做了什麼,而且你可能兩個都需要:靜態網頁 → 直接從儲存庫用 GitHub Pages;任何有後端、機器人網頁掛鉤(webhook)或機密的東西 → Cloudflare Pages+Workers。
  4. 寫一份報告,詳細說明這個概念或遊戲。
  5. 做專案網站——這個儲存庫的 GitHub Pages 網站,網址 https://<user>.github.io/<repo>/:標題、它是什麼、為什麼有趣、如何運作、一張它運作中的照片、GIF 或短片、驗證了什麼,以及連到線上 App(…/app/)與儲存庫的連結。
  6. 改進呈現方式:Markdown → 投影片 → 網站 → YouTube 影片(可選的延伸)。
  7. 把它加到專案牆上——家教替你準備條目(一個 JSON 檔加一張圖片),由你推送。

每個專案=自己的資料夾+自己的公開儲存庫,並附一個公開的專案網站——不只是一份 README。GitHub Pages 託管專案網站與任何靜態 App;任何有後端、機器人網頁掛鉤或機密的東西放在 Cloudflare Pages+Workers——你可能兩個都需要,所以兩個帳號都要準備好。兩者都會在每次推送後自動重新部署。授課教師的 pendulum-example 與 csv-scope-example 是專案 1 類型作品的範例。

5 · 專案 2 — 用手機透過網路控制微控制器

目標:做一個手機應用程式,讓你能透過 WiFi 控制硬體並從硬體讀取量測值——這裡的硬體是 ESP32(一塊小型的 WiFi 微控制器(microcontroller)開發板;我們用的是 Jinhua ESP32-S3,NT$400,由課堂提供)。依照「AI 方法」進行。

  1. 步驟 1——硬體驗證基準線。把班級儲存庫的參考韌體(firmware:在微控制器上執行的程式)與手機應用程式燒錄到你自己的 ESP32-S3 上(燒錄(flash)=經 USB 把它寫進板子;新板子第一次燒錄要按一次 BOOT+RST)。板子會變成自己的 WiFi 存取點(access point)instrument-XXXX。用手機或筆電加入它(密碼 instrument),在瀏覽器輸入 http://192.168.4.1,控制 LED 並讀取即時數值。三個提示:手機警告「沒有網際網路」時保持連線 · Android 請關閉行動數據 · http:// 要自己打。從一個已知可用的硬體基準線出發,是任何實驗物理工作流程不可或缺的一部分——它把硬體問題和軟體問題分開。
  2. 步驟 2——用「AI 方法」做你自己的 App。和專案 1 一樣,自己的資料夾、自己的公開 GitHub 儲存庫。例如:一個控制 ESP32 上 LED 亮度與顏色的手機應用程式;然後量測某個東西,並在手機上即時顯示。班級韌體仍是你自己的版本卡住時的備案——也是專案 3 的基礎。
  3. 做專案網站(這個儲存庫的 GitHub Pages):標題、它是什麼、為什麼有趣、如何運作、一張它運作中的照片、GIF 或短片、驗證了什麼、連到儲存庫的連結——而且,因為在板子上執行的 App 沒有公開網址,就用一段它運作中的短片代替線上連結。
  4. 把它加到專案牆上——家教準備條目,由你推送。

相機。想試做相機 App 的人,有一台 ESP32-S3-N16R8-CAM 開發板 + OV3660 鏡頭(金華 #41395)可用。

6 · 課間

下一場工作坊之前:完成課前準備、改進你的 App、動手做、玩得開心。App 指的是你的專案 1 與專案 2——每個里程碑都推送,讓專案網站與專案牆保持最新。

工作坊 2 的準備:

你在班級板上負責的部分,會在工作坊 2 開始時分配。卡住了先問家教,再寫信給授課教師。

7 · 超越基準線

硬體是共同的基準線——由預算與時程決定。其餘一切都是開放的:軟體、韌體、應用程式,以及圍繞這台儀器的所有東西。每當你走在進度前面,就問:我實驗室裡有什麼問題,這能解決?用 LINE 或 Telegram 和你的儀器對話——我們最鼓勵的延伸:數值飄移或警報觸發時推播通知,以及能從手機讀取數值或切換一路模組輸出的機器人指令,隨時隨地。盡管做出很棒的東西。

8 · 教材