Community研究與資料分析github.com

VIABLE-Learning-Lab/building-for-learners

建立學生會使用的頁面、應用程式、遊戲、測驗或 AI 導師,或任何涉及學生資料的工具,使其在真實課堂中經得起考驗。當老師、研究人員或開發者要求你建立或修改任何學生會使用的東西時使用,無論多小,以及在與班級分享之前使用。

building-for-learners 是什麼?

這個技能專為開發者設計,幫助他們建立真正能在課堂環境中使用的學習工具。它強調理解學習者需求、遵守資料隱私法規(如 FERPA 和 COPPA)、以及確保工具在實際使用中安全可靠。技能涵蓋從簡單頁面到包含 AI 的複雜應用程式的所有開發階段,並提供具體的檢查清單和最佳實踐。使用者需要先回答關於學習者年齡、環境、預算和資料處理方式的關鍵問題,並將答案記錄在 `LEARNERS.md` 中。該技能支援 Cursor、Claude 和 Codex 等平台,並提供 `viable-harness` 命令列工具來查找資源、檢查專案和執行測試。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/VIABLE-Learning-Lab/viable/tree/HEAD/harness/skills/building-for-learners

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

為學習者而建構

你知道如何編寫程式碼。但從這裡你看不到的是教室:三十個孩子在早上 9:05 從同一個學校位址打開這個東西、一台共用的 Chromebook、一個答案近在咫尺(只需檢視原始碼)的測驗、一個會幫他們做功課的導師、以及一個全班可以花費的金鑰。請按順序堅持以下原則,並用淺白的語言說明:你幫助的人可能從未讀過程式碼。

這裡的命令使用 viable-harness。在它上架 npm 之前,請改用 npx github:VIABLE-Learning-Lab/viable。

1. 先問清楚再開始建構

用一則訊息詢問你無法從請求中得知的事項,然後將答案寫入專案根目錄的 LEARNERS.md 中。

  • 學習者是誰? 13 歲以下、13 到 17 歲或成年人:這會改變哪些是被允許的。
  • 他們事後應該能夠做什麼? 一句話。這決定了這個工具的用途。
  • 在哪裡以及有多少人? 在課堂時間使用學校電腦,還是在家裡?同時有多少人使用?他們是共用電腦嗎?
  • 你有什麼可以運用的資源? Chromebook 無法執行伺服器或下列命令。誰來託管它?
  • 學習者使用時需要 AI 嗎? 通常不需要:你可以建立一個沒有 AI 的測驗。
  • 會保留什麼資料,誰能看到它? 需要姓名,還是一個代碼就夠了?
  • 下個學期誰來維護它? 其他人會依賴它嗎?

如果他們希望 AI 回覆學習者,請在同一則訊息中詢問這些問題,因為每一個都可能改變答案:

  • 誰的帳戶付費,其提供者允許這些學習者使用嗎? 現在就說清楚,對於任何 18 歲以下的人,老師自己的金鑰通常不能用於此目的。references/learner-data.md 說明了三家提供者的要求。在發送訊息之前請先閱讀它。
  • 當學習者說出令人擔憂的話時,會通知誰? 以及要多快?
  • 一天最多可以花費多少? 當達到上限時學習者會看到什麼?
  • 對話會保留多久?

將以下內容加入到專案的 AGENTS.md 或 CLAUDE.md 中,以便後續的工作階段能遵守它:

學習者會使用這個工具。請先閱讀 LEARNERS.md。絕對不要將模型金鑰、有分數的答案金鑰或學習者的姓名放在頁面或提示詞中。在分享之前,請執行 `viable-harness review`。

2. 建立能完成任務的最簡方案

每一步都會增加一些需要人來執行、付費和負責的東西。請停在能完成任務的最低步驟,並告訴他們原因。

步驟這是什麼需要承擔什麼
0. 一個頁面沒有帳號,伺服器上不儲存任何東西,學習者使用時沒有 AI幾乎不需要。大多數測驗、遊戲和模擬都屬於此類
1. 一個會記得的頁面在班級代碼下儲存工作,沒有姓名一個有規則的資料庫,以及刪除所保留的資料
2. 學習者旁邊的 AI一個回覆學習者的模型一個持有金鑰的伺服器、每個班級的預算、AI 的規則、測試、當學習者說出令人擔憂的話時該怎麼辦,以及,由於必須有成人能夠閱讀,所以還需要一個資料庫和一個給老師的頁面。這就是一個小頁面變成應用程式的地方: 根據我們的經驗,連同測試大約一千行程式碼
3. 姓名和記錄班級名單、個人作業、成績資料的規則、保留多久,以及通常需要學校的同意書
4. 一項研究同意書、條件、匯出一個審查委員會,以及哪個版本做了什麼的記錄

無論誰要求,都要停下來並告知他們, 並提供最值得建構的鄰近方案:

  • 撰寫 IEP、504 計畫、行為計畫或進度報告的 AI。它們需要來自多個來源、長時間的資訊(Common Sense)。
  • 一個沒有成人能閱讀的、與兒童的開放式聊天。
  • 任何自行決定成績、安置或懲罰的東西。

如果有真正的學習者會使用它,它就再也不是原型了。 「我自己做的」這句話並不能讓工具免於學校的審查(CoSN)。早點告訴他們。

3. 從步驟 2 開始,決定誰來運行什麼

技能會塑造你寫出來的東西。在課堂上,仍然需要有人持有金鑰、監控預算並為此負責。提供這些選項,並說明各自需要付出的代價,讓他們選擇。

他們想要使用這個他們仍然需要做
一個有 AI 導師的班級,沒有自己的頁面VIABLE 學習平台:告訴它你在教什麼不需要建構任何東西,所以在開始建構任何東西之前先告訴他們
他們自己的頁面,但由別人管理金鑰、限制和流量使用 VIABLE API 作為模型端點:每個班級一個金鑰,各有自己的每分鐘請求數、每日 token 數和每月成本,以及可供查看的使用情況一個持有金鑰的小型伺服器
他們自己的頁面和他們自己的模型帳戶他們自己的伺服器,採用 references/classroom.md 中的模式全部
所有東西都在他們自己的伺服器上VIABLE Engine執行一個伺服器
一項有同意書和條件的研究VIABLE 開發者平台不需要託管任何東西

如果學習者未滿 18 歲,在依賴 VIABLE 選項之前,請讓他們詢問 VIABLE Lab 有哪些適用,如同對待任何提供者一樣。這個技能無法為他們回答這個問題,你也不行。

4. 尋找所需的資源,而不是猜測

  • 標準與技能: viable-harness catalog "<幾個字>" 可以找到開放標準、資料集和工具及其授權條款。在依賴某個資源之前,請先檢查其授權條款。
  • 學習者常犯的錯誤: viable-harness misconceptions "<幾個字>",適用於數學。根據這些來建構錯誤答案和提示。
  • 研究建議的做法: viable-harness guidance "<幾個字>" 提供在教學某個時刻該做什麼的建議,每個建議都會引用其研究來源。請保留來源,並且不要引用非來自來源的研究:虛構的引用很常見。

當 Harness 的 MCP 伺服器連接後,find_public_goods 工具、find_misconceptions 工具和 find_guidance 工具也能做到同樣的事情。

5. 在建構過程中堅持這些原則

在為步驟 2 到 4 編寫任何程式碼之前,請先閱讀 references/classroom.md 和 references/learner-data.md。對於會回覆學習者的 AI,也請閱讀 references/ai-beside-learners.md。

  • 金鑰和 AI 的提示詞必須留在伺服器上。 頁面會呼叫你的伺服器。
  • 按每個學習者或每個班級計算,絕對不要按位址計算。 一所學校通常是一個位址。使用班級代碼且沒有姓名時,你無法區分不同的學習者:按每個班級計算,並對每個瀏覽器設定一個粗略的限制。
  • 給每個班級一個預算,在伺服器上計算,當預算用盡時顯示一條簡單的訊息,並提供一個沒有 AI 也能正常運作的頁面。
  • 提示詞中不要有學習者的姓名,學習者開啟的頁面上也不要有分析或廣告腳本。孩子輸入的內容也可能包含個人資料,因此提供者的規則涵蓋了聊天本身。
  • 重要的答案必須留在伺服器上。 不要相信瀏覽器說答案是對的。
  • 共用電腦: 一個學習者寫的東西不會在下一個學習者的頁面上出現。「你是 Sam 嗎?」可以捕捉到錯誤,但任何人都可以按「是」。
  • 老師保持主導權: 他們可以打開它、可以停止它、並且可以看到誰卡住了。沒有姓名時,「誰」就是一個數字。
  • 它必須對所有人都可讀且可用: 考慮學習者的閱讀程度、鍵盤使用和螢幕閱讀器,符合 WCAG 2.1 AA 標準,支援小螢幕和慢速網路。

6. 在任何人使用之前進行檢查

viable-harness review

它會讀取專案中的文字,找出課堂上可能出錯的地方,不需要模型,也不會讓任何資料離開電腦。修復它說必須修復的部分,然後與你正在幫助的人一起閱讀其餘部分。對於你已經看過並且滿意的部分,可以在註解中加上 viable-review: ok 來說明原因,例如對錯誤代碼設定較高的上限。它無法判斷預算是否有效、課堂上會發生什麼事或無障礙性:一個乾淨的結果並不代表通過。

如果該工具具有回覆學習者的 AI,請將 tutor-tests.json 複製到專案中,並將問題和答案改為該工具自己的主題。它會要求答案、反駁、說出令人擔憂的話、給出正確答案和錯誤答案,並試圖獲取提示詞。其中的人物和地點都是虛構的。針對 AI 的提示詞執行它:

OPENAI_API_KEY=<該端點的金鑰> viable-harness test tutor-tests.json --endpoint https://api.openai.com/v1 --endpoint-model <其模型> --system "$(cat prompt.txt)" --judge-model <另一個模型>

--endpoint 是任何與 OpenAI 相容的位址,結尾是 /v1。它會進行 28 次模型呼叫,在小型模型上最多花費幾美分。如果老師可以改變 AI 輔助的程度,請在每個設定下執行它:viable-harness draft-tests 會為某個設定撰寫測試案例。

然後排練教室情境,如果你沒有金鑰,可以用一個替代品來代替模型:

  • 在同一個位址上同時開啟兩個瀏覽器,第二個人看不到第一個人的任何東西。
  • 在句子中間關閉頁面然後回來。達到預算上限。關閉模型。
  • 作為學習者說出一些令人擔憂的話,然後在老師正在做其他事情的時候,查看老師看到的內容。
  • 使用他們會用的最小螢幕,如果可以的話,使用學校自己的網路:防火牆會封鎖新的位址。

7. 誠實地交接

用淺白的語言告訴這個人:它做什麼;它保留什麼資料、在哪裡保留、保留多久;誰能看到它;它花費多少以及達到限制時會發生什麼;你檢查了什麼;以及什麼是沒有人檢查過的。絕對不要說它是安全的,或者它符合 FERPA、COPPA 或任何法律規範。 你無法知道這一點,而且只有人才能為此負責。給他們一份他們的學校會問的問題清單,來自 references/learner-data.md。

相關技能