不是從工程師開始
起源:讓想做東西的人,少跨幾道技術欄杆
Apps Script 創造者 Mike Harm 曾在東北大學教非資訊科系學生電腦入門,學生中包括藥學系。課程最後不是考語法,而是用 HyperCard「做一個酷東西」。學生做出互動食譜、問答遊戲與選擇式故事;他看到的不是工具本身,而是當技術障礙被移開之後,人能創造什麼。
後來,他在紐約一間醫院的資訊部門工作。院內以伺服器端 JavaScript 驅動簽核系統,業務分析人員能自己寫流程,不必每件事都等待 IT。2007 年加入 Google Sheets 團隊後,他把這兩段經驗帶進一個秘密 side project:如果試算表旁邊就有一個人人可學的 JavaScript 環境呢?
「我想要一種任何人都能寫的語言。」
Google 在 2009 年先行試驗,並於 8 月把 Apps Script 帶給 Google Apps Premier 與 Education Edition。當年的代表案例是費用報支:換匯、檢查缺漏、判斷簽核人、寄通知,一整串原本繁瑣的行政工作開始可以自行運作。
SHEETS → WORKFLOW
應用如何長出來:一張 Sheet,逐漸成為整個工作流程
Apps Script 把資料、規則與 Google Workspace 服務放在同一個雲端環境。最初是試算表自動化,接著長出郵件、文件、行事曆、檔案收件、API、網頁後端,現在也能接上 AI。
個人化合併寄信
從資料列產生個別內容並留下寄送紀錄。
自動產生 PDF
將試算表資料套入文件範本並輸出檔案。
休假同步日曆
把申請、審核與團隊行程接成同一流程。
行程彙整工時表
定期讀取 Calendar,整理成可分析的報表。
網頁檔案收件
讓網頁表單安全地把檔案送進指定資料夾。
YouTube 資料追蹤
定期抓取公開資料,保存趨勢與變化。
Forms API 後端
讓 Apps Script 接收請求、處理資料並回傳 JSON。
郵件分類與處理
由 AI 協助判斷,再保留人工覆核與安全界線。
這八個方向也是本教室需求問卷的題目。故事說明「可能做什麼」,問卷則請你告訴我們「最值得先做什麼」。
LOW CODE ≠ NO LEARNING
真正的學習門檻:不是停止學習,而是改變要學的東西
低程式碼降低語法與環境摩擦,卻沒有取消學習。非工程背景者仍要學會把目的說清楚、理解資料與權限、檢查工具的行為,以及在重要操作前停下來批准。
- 需求看見值得改善的重複工作
- 委派/建立把目的與限制交給工具或 agent
- 驗證檢查資料、權限與實際結果
- 使用讓流程進入真實工作
- 再學習從使用經驗長出下一個需求
信任 agent,不等於盲信 agent。新的基本能力是:能委派,也能驗收。
FROM LOW CODE TO AGENT NATIVE
第二次門檻下降:Apps Script 消除環境,Agent 消除實作摩擦
Apps Script 原生於網路,不需要先處理 runtime、伺服器與部署環境。Agent 則把自然語言需求轉成程式、測試與修正。tmuh.ai 再承接最後一段:身分、資料邊界、頁面發布、驗證與後續治理。
Apps Script
降低環境摩擦雲端執行、原生串接 Workspace,不必先搭完整後端。
Agent
降低實作摩擦教師描述目的,agent 撰寫、測試並修正軟體。
tmuh.ai
降低交付治理摩擦讓權限、資料、發布與驗收形成可追溯流程。
教師沒有被移出開發,而是更接近開發的核心:決定要解決什麼、哪些界線不能跨越、什麼結果才算完成。
TERMINAL → MCP → APPS SCRIPT
完整 clasp MCP 實作
clasp 讓 Apps Script 專案進入本機檔案、Git 與 CLI;它目前也提供實驗性的 MCP 模式,讓支援 stdio MCP 的 agent 能在相同憑證邊界內管理專案。
截至 2026-08-25,clasp MCP 仍標示為 experimental,工具子集有限。以下教學會把授權、覆寫與部署設成人類批准點。
建立安全練習區
先使用沒有病人、學生或正式業務資料的 Google 帳號與測試資料夾。所有後續命令都在這個練習區執行。
確認環境並安裝
clasp 需要 Node.js 20 以上。先確認版本,再用 npm 安裝 Google 維護的 CLI。
node --versionnpm install -g @google/clasp完成標準:第一行顯示 v20 或更新版本,且 clasp --version 能回傳版本號。
啟用 API 與 OAuth
先在 Google 帳號的 Apps Script 使用者設定開啟 Apps Script API,接著登入。
clasp login連接任何支援 MCP 的 agent
直接啟動 MCP server,或把下方中立設定加入支援 stdio MCP 的 agent。設定只描述程序,不綁定特定產品。
clasp mcp{
"mcpServers": {
"clasp": {
"command": "clasp",
"args": ["mcp"]
}
}
}完成標準:agent 能列出 clasp 工具,但尚未修改任何專案。
建立第一個測試 Web App
請 agent 建立一個只回傳測試文字、沒有個資與外部副作用的 Web App,先閱讀它準備寫入的檔案差異。
clasp create-script --title "My First Agent App" --type webappclasp push版本化、部署與驗證
先建立不可變版本,再建立有清楚描述的 deployment;部署後以瀏覽器實際打開網址,核對內容與執行身分。
clasp create-version "first verified version"clasp create-deployment --description "teaching smoke test"完成標準:網址可開啟、內容符合預期、Apps Script 執行記錄沒有錯誤。
復原、撤權與下一輪
Git 用來復原本機原始碼,Apps Script version 固定遠端程式版本,deployment 則決定目前對外版本。出錯時先停止外部入口,再回到已驗證版本。
clasp list-deploymentsclasp undeploy DEPLOYMENT_ID練習結束後,可在 Google 帳號的第三方連結設定撤銷 clasp 授權。下一輪再把一個真實、範圍清楚且可驗收的工作交給 agent。
A LOW-FRICTION, AGENT-NATIVE WEB
回到 tmuh.ai:讓教師專心開發目的,把程式工作交給 agent。
低摩擦不是少做一步,而是讓每一步都更接近人的意圖。教師提出教學、研究與行政上的真實問題;agent 負責把問題變成可測試、可部署、可維護的工具;平台則讓權限、資料與交付保持清楚。
下一步,不是先問「你會不會寫程式」,而是問:
你最想讓哪一件工作,開始自己運作?告訴我們,你想自動完成什麼