跳至文章內容

AI 協作教材開發實錄

用 AI 製作互動模擬

不是一次提示就得到完美成品,而是把需求、物理判斷與畫面問題拆成四輪修改;每一個版本都保留下來,讓你看見教材如何逐步成形。

AI 協作 摩擦力模擬 閱讀 12 分鐘
需求、修改、再修改與成果四階段的互動模擬製作流程
四個數字檔案是同一份教材的真實迭代歷程,保留每一輪成功與未完成的地方。

這篇不是「一鍵生成」教學

AI 可以協助寫出 HTML、CSS 與 JavaScript,但題目是否正確、互動是否適合教學,仍需要教師逐輪檢查與決定。

這次以摩擦力為主題,從一段口語構想開始,依序留下 1.html2.html3.html4.html。它們不是四個獨立模擬器,而是同一個作品的四個時間切片:每一次都先觀察目前結果,再只針對看得見的問題提出下一輪修改。

教師負責

定義教學目標

決定學生要觀察的物理關係、可調變因、關鍵提示與圖表意義。

AI 協助

產生與修改程式

依照明確需求建立單檔網頁,再根據回饋調整視覺、控制與邏輯。

每一輪都要做

操作、比對、記錄

實際拖動控制項、檢查臨界狀態,再保存版本,避免修改後無法回頭。

四個版本各自解決什麼問題

版本號的價值不是證明越新越好,而是讓你知道哪一輪改了什麼、是否真的改善。

1.html

先讓核心模型動起來

建立施力滑桿、木塊運動、四個力與 F–f 關係圖,確認基本物理流程能操作。

2.html

修正方向與臨界提示

調整手勢、向量與軌跡呈現,加入最大靜摩擦力提示,但仍留下需要再修改的細節。

3.html

加入質量這個可調變因

讓質量改變正向力與最大靜摩擦力,並在接近臨界時提前提示。

4.html

把向量與圖表放到更好讀的位置

固定箭頭端點、放大木塊,並補上動摩擦力標記,讓畫面更接近課堂需要。

步驟 1 · 需求

版本一:先把腦中的課堂畫面說出來

第一輪不用先寫出完美規格,但要交代主題、可操作的量、學生要看到的關係,以及希望呈現的物理標示。

最初的口語需求是:

查看第一輪整理後的完整提示規格

角色與產出:請扮演物理教育網頁開發者,製作完整的單一檔案 HTML/CSS/JavaScript 摩擦力互動模擬。

版面:左側是桌面、木塊與推動木塊的手;右側是外力 \(F\) 對摩擦力 \(f\) 的關係圖。

互動:使用滑桿或拖曳控制施力,並提供重置按鈕。

物理:設定 \(m\)、\(g\)、\(\mu_s\) 與 \(\mu_k\),且 \(\mu_s>\mu_k\)。靜止時 \(f=F\),直到 \(f_{s,\max}\);開始運動後改為動摩擦力 \(f_k\)。

視覺:畫出外力、摩擦力、正向力與重力向量,箭頭長度與數值對應,顏色清楚區分。

圖表:即時呈現靜摩擦區上升、達到最大靜摩擦力後下降至動摩擦力水平的典型關係。

技術與署名:使用 Canvas,程式集中在單一 HTML 檔,並在每次繪圖最後加入「© 阿偉的物理 x AI實驗室」浮水印。

操作施力滑桿,先確認核心模型是否能呈現靜摩擦與動摩擦的轉換;不要急著只看畫面是否漂亮。

步驟 2 · 修改

版本二:把「哪裡不對」改寫成具體任務

第一版已經能動,但手勢、力箭頭與圖表不符合預期。第二輪不重講全部需求,只列出可驗證的修改項目。

  1. 手應該朝右推動木塊,修正原本方向。
  2. 外力與摩擦力的向量必須清楚畫出來。
  3. 移除右側預先畫好的灰色關係線,只保留操作時逐步形成的紅色軌跡。
  4. 到達最大靜摩擦力時,在畫面與圖表上明確標記。

比較版本一與版本二:臨界提示變明顯了,但哪些畫面仍會讓學生誤讀力的作用位置?

步驟 3 · 再修改

版本三:增加質量,讓物理關係可以比較

第三輪不只修外觀,也加入新的可調變因,讓學生能觀察質量如何透過正向力影響最大靜摩擦力。

  1. 把外力紅色向量放在手的附近並指向木塊,摩擦力藍色向量靠近接觸面、方向相反。
  2. 移除圖表中不需要的 \(f_{s,\max}\) 與 \(f_k\) 預畫虛線,只在實際到達臨界點時標記。
  3. 到達臨界前先提示「快到最大靜摩擦力」,突破時再顯示更醒目的訊息。
  4. 新增質量滑桿,讓 \(N=mg\) 與 \(f_{s,\max}=\mu_sN\) 隨質量更新。

新增控制前要問

這個變因是否真的服務學習目標?質量滑桿的價值,是讓學生比較臨界摩擦力,不只是讓控制面板看起來更豐富。

新增控制後要測

改變質量後,正向力、最大靜摩擦力、圖表尺度與提示時機是否一起更新,不能只確認滑桿數字有變。

分別選擇較小與較大質量,再慢慢增加施力,觀察臨界提示與圖表標記的位置是否跟著改變。

步驟 4 · 成果前夕

版本四:把向量放到學生看得懂的位置

物理數值正確只是基本條件。箭頭從哪裡開始、往哪裡延伸、會不會壓住文字,都會影響學生如何解讀畫面。

  1. 外力箭頭尖端固定貼近木塊,力變大時向左延長,避免箭頭穿入木塊文字。
  2. 摩擦力箭頭移到木塊右下角,尖端固定在接觸處,向右延長並指回木塊。
  3. 除了最大靜摩擦力,也在實際進入運動後標記動摩擦力 \(f_k\)。
  4. 放大木塊與標示,改善投影時的辨識度。

比較版本三與版本四的向量端點、木塊大小,以及圖表是否同時標出最大靜摩擦力與動摩擦力。

把這次經驗變成可重複的製作流程

  1. 先寫學習目標,再寫畫面

    先決定學生要理解什麼關係,再選擇滑桿、動畫、向量或圖表;不要從「我要一個很炫的網頁」開始。

  2. 第一輪只求核心模型可操作

    先確認物理狀態、主要控制與數據更新,避免同時要求過多裝飾,讓真正的邏輯錯誤被畫面掩蓋。

  3. 一次修改一組相關問題

    把方向、位置、臨界提示或新增變因分組處理。需求越能具體觀察,越容易判斷 AI 是否真的完成。

  4. 每一輪另存版本並寫下差異

    保留可回復的檔案,不要永遠覆蓋同一份成品。若新修改破壞原本功能,才能快速比較與退回。

  5. 用極端值與臨界值測試

    不要只停在預設狀態。測試施力為 0、接近 \(f_{s,\max}\)、剛開始運動、質量最小與最大時的結果。

  6. 正式上課前再做裝置測試

    用投影幕、手機與窄螢幕檢查文字、滑桿、Canvas 尺寸、全螢幕與重新整理後的狀態。

常見問題

需要會寫程式才能開始嗎?

不一定需要從空白手寫程式,但至少要能操作檔案、辨認錯誤現象並保存版本。若要長期維護或處理複雜資料,理解基本 HTML、CSS 與 JavaScript 會大幅降低風險。

為什麼不直接請 AI 一次做到完整版?

需求越多,越難確認每一項是否完成,也更容易在修正新功能時破壞舊功能。分輪製作讓每次變化可比較、可測試、可退回。

1.html~4.html 是四個模擬器嗎?

不是。它們是同一個摩擦力教材在四個製作階段的存檔,刻意使用數字命名來呈現演進順序,因此不會改成 -sim

AI 沒有照指示修改完整,應該怎麼辦?

先指出哪一個可見結果仍不符合預期,描述目前狀態與目標狀態,再要求只修改相關區域。避免只說「還是不對」,也不要在同一輪加入一長串全新功能。

怎麼判斷一個版本可以拿去上課?

至少要確認物理正確、操作目的清楚、關鍵文字在投影上可讀、手機與桌機不溢出、重置有效,並用臨界值走過完整教學流程。

製作結論

AI 負責寫程式,你負責「教學設計」

看看我最後的成果吧!下方就是經過這些對話溝通後產出的最終互動模擬。

透過這次製作「摩擦力模擬」的過程,你可以發現:我一行程式碼都沒寫,我所做的僅僅是「精準地描述需求」與「用物理專業進行除錯」。

過去,我們因為不會寫 Code 而無法把腦中的想法具現化;現在,各種 AI 工具就像是隨時待命的工程師。只要你擁有足夠的學科知識與想像力,你就能創造出專屬於你的互動教材。

別讓技術限制了你的教學,現在就開始這場「與 AI 的對話」吧!

最後再以學生視角操作:文字是否清楚、控制是否好理解、臨界狀態是否能被看見,而不只是確認程式沒有報錯。

重點整理

AI 寫程式,教師掌握教材方向

  • 先描述學習目標、物理關係與可觀察結果,再要求 AI 實作介面。
  • 每一輪保存獨立版本,逐條操作驗證,不接受只有文字上的「已完成」。
  • 修改需求要具體到方向、端點、狀態與觸發條件。
  • 1.html~4.html 保留真實歷程;正式上線版則負責穩定的課堂使用。