Community研究与数据分析github.com

为学习者构建

构建页面、应用、游戏、测验或AI导师等学生将使用的工具,或处理学生数据的工具,使其能够在真实课堂中经得起考验。当教师、研究人员或开发者要求你构建或修改任何学习者将使用的内容(无论多小),以及在将其分享给班级之前使用。

为学习者构建 是什么?

该技能面向在课堂环境中构建AI工具或学习应用的开发者。它强调将教育技术产品从工作原型转化为真正可靠、安全且合乎伦理的课堂工具所必需的关键实践。该技能适用于Claude Code、Cursor和Codex等平台,通过一组分步规则指导开发过程:在构建前询问学习者相关信息,根据需求选择最简实现方案(从简单的无服务器页面到完全托管的AI平台),遵循隐私和安全原则(如密钥管理、预算控制、不使用实名),以及使用提供的命令行工具(如`viable-harness`)进行审查和测试。此外,该技能还探讨了构建AI导师的具体场景,提供了跨平台运行测试的方法,以及在学期结束时清晰移交项目的指南。

兼容平台✓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作为模型端点:每个班级一个密钥,每个密钥都有自己的每分钟请求数、每日令牌数和月度成本,以及可供查看的使用情况一个持有密钥的小型服务器
自己的页面和自己的模型账户他们的服务器,使用references/classroom.md中的模式全部
所有内容都在自己的服务器上VIABLE引擎运行服务器
一项带有同意书和条件的研究VIABLE开发者平台无需托管任何内容

如果学习者未满18岁,请让他们在依赖VIABLE选项之前咨询VIABLE实验室哪些适用,就像对待任何提供商一样。此技能无法为他们回答这个问题,你也不能。

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。

相关技能