問卷搜集分析教室 參與需求問卷

2007 → 2009 → AGENT NATIVE

當工作的人,
也能創造工作的工具。

從藥學教室、醫院簽核流程與 Google Sheets 的秘密實驗,走到能替教師開發軟體的 agent。

從故事開始
2007Sheets side project 2009Apps Script launch NOWAgent Native
CHAPTER 01起源

不是從工程師開始

起源:讓想做東西的人,少跨幾道技術欄杆

Apps Script 創造者 Mike Harm 曾在東北大學教非資訊科系學生電腦入門,學生中包括藥學系。課程最後不是考語法,而是用 HyperCard「做一個酷東西」。學生做出互動食譜、問答遊戲與選擇式故事;他看到的不是工具本身,而是當技術障礙被移開之後,人能創造什麼。

Google Workspace 於 2019 年刊出的 Apps Script 十週年回顧文章頁面。
官方史料 · 2019Google Workspace:Celebrating 10 years of Apps Script

後來,他在紐約一間醫院的資訊部門工作。院內以伺服器端 JavaScript 驅動簽核系統,業務分析人員能自己寫流程,不必每件事都等待 IT。2007 年加入 Google Sheets 團隊後,他把這兩段經驗帶進一個秘密 side project:如果試算表旁邊就有一個人人可學的 JavaScript 環境呢?

「我想要一種任何人都能寫的語言。」

Google 在 2009 年先行試驗,並於 8 月把 Apps Script 帶給 Google Apps Premier 與 Education Edition。當年的代表案例是費用報支:換匯、檢查缺漏、判斷簽核人、寄通知,一整串原本繁瑣的行政工作開始可以自行運作。

Google Cloud 官方部落格於 2009 年發布 Apps Script 的公告頁面。
官方史料 · 2009Google Cloud Blog:Launched! Google Apps Script
CHAPTER 02長出應用

SHEETS → WORKFLOW

應用如何長出來:一張 Sheet,逐漸成為整個工作流程

Apps Script 把資料、規則與 Google Workspace 服務放在同一個雲端環境。最初是試算表自動化,接著長出郵件、文件、行事曆、檔案收件、API、網頁後端,現在也能接上 AI。

01 · Gmail

個人化合併寄信

從資料列產生個別內容並留下寄送紀錄。

02 · Docs

自動產生 PDF

將試算表資料套入文件範本並輸出檔案。

03 · Calendar

休假同步日曆

把申請、審核與團隊行程接成同一流程。

04 · Reporting

行程彙整工時表

定期讀取 Calendar,整理成可分析的報表。

05 · Drive

網頁檔案收件

讓網頁表單安全地把檔案送進指定資料夾。

06 · Data

YouTube 資料追蹤

定期抓取公開資料,保存趨勢與變化。

07 · Web App

Forms API 後端

讓 Apps Script 接收請求、處理資料並回傳 JSON。

08 · AI

郵件分類與處理

由 AI 協助判斷,再保留人工覆核與安全界線。

這八個方向也是本教室需求問卷的題目。故事說明「可能做什麼」,問卷則請你告訴我們「最值得先做什麼」。

CHAPTER 03真正門檻

LOW CODE ≠ NO LEARNING

真正的學習門檻:不是停止學習,而是改變要學的東西

低程式碼降低語法與環境摩擦,卻沒有取消學習。非工程背景者仍要學會把目的說清楚、理解資料與權限、檢查工具的行為,以及在重要操作前停下來批准。

  1. 需求看見值得改善的重複工作
  2. 委派/建立把目的與限制交給工具或 agent
  3. 驗證檢查資料、權限與實際結果
  4. 使用讓流程進入真實工作
  5. 再學習從使用經驗長出下一個需求
教師置身學習循環中心,依序經歷需求、委派、驗證、使用與再學習。
AI 生成概念圖學習沒有消失,而是變成一個由人的判斷持續驅動的循環。

信任 agent,不等於盲信 agent。新的基本能力是:能委派,也能驗收。

CHAPTER 04第二次下降

FROM LOW CODE TO AGENT NATIVE

第二次門檻下降:Apps Script 消除環境,Agent 消除實作摩擦

Apps Script 原生於網路,不需要先處理 runtime、伺服器與部署環境。Agent 則把自然語言需求轉成程式、測試與修正。tmuh.ai 再承接最後一段:身分、資料邊界、頁面發布、驗證與後續治理。

01

Apps Script

降低環境摩擦

雲端執行、原生串接 Workspace,不必先搭完整後端。

02

Agent

降低實作摩擦

教師描述目的,agent 撰寫、測試並修正軟體。

03

tmuh.ai

降低交付治理摩擦

讓權限、資料、發布與驗收形成可追溯流程。

教師的紙本構想經過雲端腳本與 agent 協作,逐步形成可運作的網頁工具。
AI 生成概念圖從需求、雲端腳本到可驗證的工具,教師始終掌握目的與邊界。

教師沒有被移出開發,而是更接近開發的核心:決定要解決什麼、哪些界線不能跨越、什麼結果才算完成。

CHAPTER 05動手接上

TERMINAL → MCP → APPS SCRIPT

完整 clasp MCP 實作

clasp 讓 Apps Script 專案進入本機檔案、Git 與 CLI;它目前也提供實驗性的 MCP 模式,讓支援 stdio MCP 的 agent 能在相同憑證邊界內管理專案。

實驗性能力

截至 2026-08-25,clasp MCP 仍標示為 experimental,工具子集有限。以下教學會把授權、覆寫與部署設成人類批准點。

Google 維護的 clasp 開放原始碼專案頁面,README 包含實驗性 MCP 使用說明。
官方工具 · 持續更新google/clasp README:MCP (EXPERIMENTAL)
STEP 01 · SANDBOX

建立安全練習區

先使用沒有病人、學生或正式業務資料的 Google 帳號與測試資料夾。所有後續命令都在這個練習區執行。

STEP 02 · RUNTIME

確認環境並安裝

clasp 需要 Node.js 20 以上。先確認版本,再用 npm 安裝 Google 維護的 CLI。

node --version
npm install -g @google/clasp

完成標準:第一行顯示 v20 或更新版本,且 clasp --version 能回傳版本號。

STEP 03 · AUTHORIZE

啟用 API 與 OAuth

先在 Google 帳號的 Apps Script 使用者設定開啟 Apps Script API,接著登入。

clasp login
STEP 04 · STDIO MCP

連接任何支援 MCP 的 agent

直接啟動 MCP server,或把下方中立設定加入支援 stdio MCP 的 agent。設定只描述程序,不綁定特定產品。

clasp mcp
{
  "mcpServers": {
    "clasp": {
      "command": "clasp",
      "args": ["mcp"]
    }
  }
}

完成標準:agent 能列出 clasp 工具,但尚未修改任何專案。

STEP 05 · CREATE

建立第一個測試 Web App

請 agent 建立一個只回傳測試文字、沒有個資與外部副作用的 Web App,先閱讀它準備寫入的檔案差異。

clasp create-script --title "My First Agent App" --type webapp
clasp push
STEP 06 · RELEASE

版本化、部署與驗證

先建立不可變版本,再建立有清楚描述的 deployment;部署後以瀏覽器實際打開網址,核對內容與執行身分。

clasp create-version "first verified version"
clasp create-deployment --description "teaching smoke test"

完成標準:網址可開啟、內容符合預期、Apps Script 執行記錄沒有錯誤。

STEP 07 · RECOVER

復原、撤權與下一輪

Git 用來復原本機原始碼,Apps Script version 固定遠端程式版本,deployment 則決定目前對外版本。出錯時先停止外部入口,再回到已驗證版本。

clasp list-deployments
clasp undeploy DEPLOYMENT_ID

練習結束後,可在 Google 帳號的第三方連結設定撤銷 clasp 授權。下一輪再把一個真實、範圍清楚且可驗收的工作交給 agent。

CHAPTER 06TMUH.AI

A LOW-FRICTION, AGENT-NATIVE WEB

回到 tmuh.ai:讓教師專心開發目的,把程式工作交給 agent。

低摩擦不是少做一步,而是讓每一步都更接近人的意圖。教師提出教學、研究與行政上的真實問題;agent 負責把問題變成可測試、可部署、可維護的工具;平台則讓權限、資料與交付保持清楚。

下一步,不是先問「你會不會寫程式」,而是問:

你最想讓哪一件工作,開始自己運作?
告訴我們,你想自動完成什麼