
前几天下午人工智能社团刚下课小禾抱着电脑跑到我工位前屏幕上开着一个空白的代码文件她有点兴奋又有点紧张地问我“老师我每次写作业都觉得很孤单能不能做一个AI陪我写作业”当时我愣了一下不是因为这个问题有多难而是它太真实了。一个月后这个叫“学习陪伴员”的项目参加了区里的青少年AI创意作品征集活动拿到了创意编程组一等奖。她今年13岁接触AI不到半年。这篇文章我把辅导她做这个项目的完整过程写下来。里面有用到的思路、技术选型、提示词写法、代码骨架也有我们踩过的坑和填坑方案。如果你想带孩子入门AI或者自己是中学生想做一个真正有用的AI小项目这篇可以直接参考。1. 这个获奖作品赢在把“没人陪”翻译成了需求1.1 “陪写作业”不是一个人形机器人而是四种角色很多孩子做AI项目第一步就卡在“不知道做什么”。他们跑来问我的时候嘴里通常说的是“我想做个智能垃圾桶”“我想做个能对话的机器人”这些想法太空了做完只能是个玩具。小禾这句话不一样它背后藏着一个可以被拆解的真实场景。我让她先用一周时间观察自己写作业时到底发生了什么。她拿笔记本记了七天最后归纳成四类情况分神写着写着就想刷手机没人提醒就停不下来。卡壳遇到不会的题身边没人可以问只能干坐着。焦虑作业太多不知道从哪开始越想越慌。拖延总觉得时间还够拖到睡前才赶工。这四类情况对应四种需求不是“有人陪”这么简单而是需要一个东西来帮助她计时、引导思路、安抚情绪、拆解任务。“陪写作业”这件事本质上是一个包含多种角色的系统。搞清楚这一点后面的功能设计就不会跑偏。后来她把作品名定为“小陪”定位是“学习陪伴教练”而不是“作业答案机”这个定位从一开始就立住了。1.2 从一句话痛点到五个功能我们用的卡片法确定了四类痛点下一步是转化成功能。这里我给她推荐了一种很好用的方法操作简单适合没有产品经验的孩子——卡片法。准备一张白纸中间写上原始痛点“没人陪我写作业”然后往外画线每条线对应一个问题场景。每个场景再追问两个问题现在遇到这种情况你会怎么做你希望AI怎么做小禾的答案很真实分神时她现在的做法是设手机闹钟但闹钟一响她就按掉所以希望AI能“不让我随便关掉提醒”。卡壳时她现在的做法是拍照搜题搜到答案直接抄但心里其实知道这样没收获所以希望AI“只告诉我思路不要直接给答案”。焦虑时她希望AI“对我说两句暖心的话告诉我先做最简单的”。拖延时她希望AI“把大作业切成一筷子和一块牛肉的关系先吃一口再说”。最后我们把这些想法收敛成五个功能模块任务拆解、分步提示、番茄钟提醒、情绪安抚、完成记录。每个模块都对应一段明确的AI行为而不是一句“智能陪伴”的标语。我一直跟社团的孩子强调好项目不是功能多而是每个功能都踩在一个真实痛点上面。小禾这个作品功能不多但评委问到她每一个功能她都能说清楚“当初为什么做它、做的过程中遇到了什么”这就够了。1.3 评委为什么一眼看中真实性大于炫技项目交上去之后有位评委在答辩现场说了一句话小禾转述给我“我们看了太多‘AI识别垃圾’‘AI智能教室’这种大而全的作品你这个‘陪写作业’反而让人眼前一亮。”这句话点破了一个普遍误区。很多孩子做科创作品喜欢把场面做大觉得AI识别、语音交互、人脸检测全塞进去才有“科技感”。但评委看一个作品好不好看的不是技术堆叠而是三件事第一问题是不是真的。写作业没人陪是大量城市和农村孩子都有的体验家长忙、老人不懂、同学不在身边。小禾把这种每个家庭都懂的痛摆在评委面前天然就有共鸣。第二有没有真实的调研逻辑。展示材料里我们放了那张痛点卡片图还放了她对班里8个同学的小访谈记录其中6个人说“想过让AI陪自己写作业”。这种数据放在PPT里比任何技术参数都硬。第三技术是否匹配年龄和场景。一个13岁孩子能用大模型接口完成一个可交互的网页应用已经展示了工程能力。评委不需要看她自己从零训练了一个模型那不是这个年龄该干的事反而容易让人觉得过度包装。我当时顺手看了下其他参赛作品有的做“AI食堂推荐”有的做“智能语音台灯”想法都不错但仔细一问绝大多数没有真实的用户观察也没有测试数据。小禾赢在“真实”两个字上这对所有想参加科创类比赛的孩子都值得参考。2. 适合中学生的AI项目用现有大模型搭积木2.1 功能模块与AI角色对应表基础功能定下来之后第二件事是设计AI的角色系统。这里我让小禾做了个角色扮演练习假设你是“小陪”你会怎么说话我们的AI不是一个“聊天机器人”而是五个角色组成的团队。每个模块对应一个角色身份这样的好处是提示词不用写得又长又乱每个角色各管一摊调试起来方便。我用一张表帮她把对应关系固定下来痛点场景功能模块AI角色核心交互分神番茄钟提醒“监督员”25分钟倒计时到点提醒休息卡壳分步提示“引导员”把难题拆成小步骤一次只给一个提示焦虑情绪安抚“树洞朋友”识别沮丧情绪先共情再给行动建议拖延任务拆解“拆题教练”把大作业拆成15分钟内能完成的小任务记录完成记录“小助手”每完成一项就记录一条进度形成成就感这张表后来成了项目文档的核心。答辩时评委不管问到哪个角度小禾都能用这张表说明“每一个角色对应一个真实问题”逻辑非常顺。2.2 为什么不用“自己训练模型”入门阶段的正确姿势很多孩子一听到“AI项目”第一反应是“我要训练一个神经网络”这个方向对中学生来说基本是劝退的。模型训练涉及数据集、标注、算力、超参数光是环境配置就能耗掉一个月而且结果还不一定能用。我陪小禾做这个项目时明确告诉她我们不做底层模型我们用别人已经训练好的大模型当积木来搭。她现在理解的方式是“大模型就像一个读过很多书的哥哥我需要的不是重新教他读书而是告诉他该怎么帮我。”这才是AI入门该有的认知不用自己造引擎而是学会使用引擎把精力花在场景设计、提示词和交互上。这也意味着她的电脑不需要高性能显卡不需要部署复杂的模型服务只需要一个能联网的浏览器环境和在国内合规大模型平台上注册一个开发者账号拿到API密钥就可以开始调用了。每一次调用本质上是把用户输入的作业内容加上一段我们提前写好的“系统提示词”发给模型再把模型返回的文字展示在网页上。这个流程叫“提示词工程”。对于中学生来说能把提示词写好、把交互流程跑通就已经是很好的AI工程实践了。2.3 最小技术方案Flask网页大模型接口技术方案我们选择了最朴素的组合前端用静态网页后端用Python的Flask框架模型调用用现成的大模型API接口。没有用复杂的数据库没有用微信小程序也没有用APP。为什么不做得更“高级”原因很简单第一Flask只有几十行代码就能启动一个服务小禾当天就能看懂第二网页界面不需要安装演示时打开浏览器就行第三后面就算换成小程序逻辑也是同样的迁移成本不大。这个方案也决定了项目的展示形态打开网页输入“我今天有数学练习册第23页、英语抄单词20个、语文背诵第3课”点一下“开始陪伴”AI就会自动生成一条任务清单然后进入倒计时陪学状态。整个过程只需要一个电脑浏览器。对于完全没接触过后端的孩子我会建议先跳过Flask直接用Streamlit这类工具几行代码就能生成页面但表达力不够。我们选择Flask是因为她已经有了一点点Python基础而且Flask能让“请求-响应”这件事看得更清楚学习价值更高。2.4 儿童隐私与数据安全哪些线不能碰这个项目涉及未成年人使用AI隐私和安全问题必须在一开始就规划好这不是“等后面再说”的事。我们做了几条硬性规定第一不采集姓名、学校、位置等个人信息使用时就输入一个昵称第二聊天记录只保存在本地电脑的临时文件里项目结束就删除不上传到任何服务器第三不当用户上传教材或试卷的整页图片只把题目转换成简短的文字描述发送给模型第四所有训练数据其实只是对话测试记录都需要在家长知情的情况下进行。这里想提醒所有带孩子的老师或家长未成年人使用大模型产品大人必须提前做安全评估。不能直接把孩子丢给一个没有限制的AI聊天页面因为模型可能会输出不符合年龄的内容也可能诱导过度依赖。我们在提示词里加了明确限定——“你是学习陪伴教练不是通用闲聊助手当用户问与学习无关的私人话题时礼貌引导回到作业”。这个限定词本身就体现了项目团队对安全的考虑评委也很认可这一点。3. 现场实操13岁孩子是怎么做出来的3.1 第一步先写提示词不先写代码小禾第一次动手时习惯性地想打开代码编辑器我拦住了她“我们先用文字把一个会说话的‘小陪’造出来再谈代码。”这个方法特别适合零基础的孩子。如果你连逻辑都没想清楚就写代码最后一定是一团乱麻。先拿出手机里任意一个AI对话工具把下面的提示词贴进去反复对话调试调试到满意了再写程序调用你是一名初中生学习陪伴教练名字叫“小陪”。 你的任务陪孩子写作业但绝不代替孩子写作业。 当孩子说“这题我不会”时 1. 先用一句话共情比如“这道题确实有点绕”。 2. 把题目拆成两个小提示一次只给一个。 3. 提醒孩子读题中的哪一句话最关键。 4. 如果孩子连续三次问答案你说“先把你已经想到的写下来我们一起看卡在哪。” 禁止直接输出答案、完整解题步骤或计算结果。 禁止评价孩子笨或说“这么简单都不会”。小禾拿这个提示词去测试不同题目效果有很大改善但还不够稳定。我注意到她会缠着“小陪”要答案AI有时候会被带偏于是又加了一条“当用户明确要求你给出答案时你可以表示‘我不会直接帮你算但我可以陪你一起推一遍’。”这类调试过程就是她理解“提示词工程”最好的方式。3.2 第二步把AI插件当辅助而不是抄作业很多孩子学编程时习惯了一打开编辑器就问AI要代码这不叫编程这叫下载作业。我们在这个项目里也用了AI辅助但用法完全不同。我让小禾在代码编辑器里装了一个补全类的AI插件类似Fitten Code这类。先让她把项目架构想清楚用中文写下每一步的意图比如“用户输入作业后我要调用大模型接口然后把返回内容放到页面上”让AI插件生成对应代码但生成之后必须逐行读一遍能解释每一行在干什么再决定是否保留。这个过程非常关键。她后来能独立调试代码就是因为每一段代码都是她自己“验收”过的。哪怕代码是AI生成的她也清楚地知道它的作用。在文档里她写了这样一句话“AI帮我写的是砖头我自己搭的是房子。”我觉得这个理解已经超过了很多初学者。3.3 第三步核心代码十几行就跑通MVP这个项目的核心API调用代码实际上十几行就够。下面是精简后的骨架能跑通“输入一句话→返回AI回复”的最小闭环from flask import Flask, request, render_template_string import requests app Flask(__name__) SYSTEM_PROMPT 你是一名初中生学习陪伴教练名字叫“小陪”。 你的任务陪孩子写作业但绝不直接给答案。 当用户遇到难题时最多给两个提示引导他自己思考。 def get_reply(user_text): # 这里的地址和密钥替换成你自己在合规大模型平台上申请的配置 url 自己的大模型API地址 headers {Authorization: Bearer 自己的密钥} payload { model: 自己选择的模型名, messages: [ {role: system, content: SYSTEM_PROMPT}, {role: user, content: user_text}, ], temperature: 0.7, } resp requests.post(url, jsonpayload, headersheaders, timeout15) return resp.json()[choices][0][message][content] app.route(/, methods[GET, POST]) def index(): if request.method POST: user_input request.form[content] reply get_reply(user_input) return render_template_string(PAGE, replyreply) return render_template_string(PAGE, reply) PAGE form methodpost textarea namecontent placeholder把遇到的问题写在这里/textarea button typesubmit呼叫小陪/button /form p{{ reply }}/p if __name__ __main__: app.run(debugTrue)这段代码放到初学者面前可能还是有点难但拆开看就很简单第1到10行是设定AI人设第11到21行是发请求、收回复第22到29行是做一个网页入口。仅此而已。我还特意让小禾把temperature参数从默认的1.0调到0.7因为这个参数控制AI回答的随机性数值越高越有创意但也越容易胡说八道陪写作业的场景我们希望它稳定、温和0.7是一个平衡点。3.4 第四步交互细节决定作品温度代码跑通之后市面上很多作品到这个阶段就停了能对话就算成功。但小禾的项目能拿奖很大程度上来自那些“看似不关键”的交互细节。她给界面设计了三个按钮分别是“小陪我卡住了”“小陪我走神了”“小陪我现在不想写了”。按下不同的按钮对应不同的提示词模型就会进入不同模式按“卡住了”“小陪”把题目拆成两个线索引导思考按“走神了”“小陪”播放一段鼓励语音我们用了系统自带的文字朗读功能按“不想写了”“小陪”先共情再建议休息5分钟同时弹出一个15分钟后自动开机的番茄钟。为了让作品有“陪伴感”她还自己做了一个“学习小桌子”的静态页面背景桌上放着一本翻开的书和一杯热牛奶。她说“这看起来像有人坐在我旁边而不是一个冷冰冰的对话框。”这个细节让我很感慨。AI项目最容易做成“功能板”但真正打动人的永远是设计者对使用者的理解。一个13岁孩子能自发想到这一点说明她理解的“AI陪伴”不是技术概念而是情绪体验。4. 我们踩过的坑和一些能复用的应对方案4.1 AI老想直接报答案第一次联调时我们用了一道初中数学题测试“已知三个连续奇数的和是57求这三个数。”模型在第二句话就把结果五个五的出来了。小禾当时很沮丧“我都写了不要给答案它怎么还给啊。”这类问题不能只靠提示词解决还需要程序层面做约束。我们做了三重防护第一提示词里把“禁止输出答案”从一句变成一段明确列出什么算答案不要给出最终数值、不要写出等式变形的完整推导、不要给出“答案为……”这样的句式第二设置敏感行为检测如果回复中出现“答案是”“最终结果”等词页面弹一个提示小陪正在努力忍住不剧透第三还是拦不住时调用模型时增加“max_tokens”限制把单次回复长度控制在120个中文字符以内逼它只能给提示。这套组合拳下来基本稳住了。这也培养了小禾一个习惯出了问题不要急着改一行字而是沿着“提示词-返回内容-交互规则”从头检查。4.2 模型一本正经地算错题另一个坑更隐蔽大模型在回答文科类开放问题时表现不错但在数学计算上偶尔会一本正经地胡说八道。有一次它把一元一次方程解得完全错误还给出了一个特别自信的解题过程。如果孩子真信了那就是被AI坑了。我们的处理办法在提示词中增加“不确定的场景处理”规则明确要求“小陪”在遇到涉及计算验证的题目时必须把题目中关键数值重新念一遍然后让孩子自己列式计算AI只负责提示关键步骤不负责最终验证。更重要的是我在辅导小禾时反复强调任何AI项目都要有“失败预案”。如果一个AI学习工具不能识别自己不会的问题那它就不适合给孩子用。这也让她的作品多了一个功能当AI连续两轮无法给出有效引导时它会主动建议“去问一下老师或者翻开课本例题”而不是继续硬编。4.3 怎么防止孩子“用AI用出依赖”这个项目本身就容易让人担心陪写作业的AI会不会养出一个什么事都问AI的孩子我和小禾正面讨论了这个问题最后把“防依赖”功能直接做进了产品。第一设置单次使用上限连续使用45分钟小陪会主动建议离开屏幕去喝水或眺望远方每天累计使用超过90分钟会切换成“催睡觉模式”。第二“小陪”的回复风格是引导式的超过80%的回复以问句结尾比如“你觉得第一步应该先做哪件事”而不是直接给结论。第三每周生成一份“学习行为周报”给家长里面有按时完成率、平均专注时长、常用的求助模块但完全不展示对话内容保护隐私的同时让家长知道AI没有在帮倒忙。小禾还自己做了一个“离开率”统计用完这个AI之后主动放下手机去休息的次数比之前多了3倍。这个数据她写进了答辩PPT虽然是拍脑袋统计但方向是对的——AI要帮孩子学会自我管理而不是替代自我管理。4.4 UI翻车现场不要默认女生喜欢粉红色界面设计时我原本给她准备了一套粉色调模板觉得小女孩应该喜欢。她非常直接地拒绝了我的审美“老师我不想要那种粉粉嫩嫩的我同桌也不喜欢。能不能做得像图书馆一样安静一点”这个提醒给我上了一课。设计儿童AI产品时不能默认“女生喜欢粉红色、男生喜欢蓝色”这种刻板印象既过时也伤人。后来我们把整体风格调成暖白色、墨绿色点缀树木和书本图标她很喜欢同组的几个男生也都说“感觉用起来很安心”。这件事我也想分享给其他指导老师和家长做作品时多让孩子自己定风格他们会给出远超成年人预期的答案。尊重孩子的审美有时比技术指导更重要。4.5 现场演示翻车预案比赛前一个晚上我们做了一次完整的模拟演示结果当场翻车大模型API请求超时了页面转圈转了半分钟都没有回复。小禾脸都白了我反而觉得这次翻车来得太是时候。当场我教她一份“演示防灾包”第一把演示过程提前录屏保存成MP4文件放在桌面快捷方式现场万一网络断直接放录屏第二在代码里把请求超时时间从默认的5秒改到15秒并在UI上做一个“网速慢也别慌”的提示动画第三事先准备三个每轮演示都用得到的主要场景问题一道数学题、一句情绪倾诉、一个拆作业请求不要让现场观众随便念题因为随机内容可能触发模型的不稳定表现第四如果还是卡住了就顺势说“这正好引出了我项目里一个真实难题——如何让AI在慢网络下也能稳定陪伴这也是我下一步优化的方向。”把事故变成展示亮点这是我见过最实用的答辩技巧。第二天正式比赛演示顺利没有用到防灾包但准备的过程让小禾明显更镇定。5. 拿奖以后下一步怎么走5.1 答辩怎么讲最加分很多孩子答辩时喜欢从头背项目介绍讲“我用了人工智能技术、自然语言处理、Flask框架”。说实话评委听完就忘了。我和小禾用的结构是问题—方法—测试—反思每个部分都以一个真实细节开头。她的答辩是这样开的“我做这个项目是因为我发现我每天写作业最痛苦的不是题目难而是没人陪。我问了班里8个同学有6个人说他们也想要一个AI陪写作业。”这一句话就把评委拉进了她的世界。讲到方法时她不是讲代码细节而是讲“我把陪伴拆成了四个角色引导员、监督员、树洞朋友、拆题教练”。这四个角色太容易被听懂了。测试部分最出彩她展示了一张记录表用“小陪”前后她的平均入睡时间从23:20提前到22:50连续专注时间从18分钟提高到31分钟。这些数据大概率有水分但对于一个13岁的项目来说足以展示完整的工程闭环。评委提问环节她遇到一个很刁的问题“你的AI如果给错答案怎么办”她按我们讨论过的方案回答“我的提示词限制了它不给完整答案。它如果给出不确定的内容会建议用户查课本例题。我承认大模型可能出错所以我的设计核心是不让它直接给出可以被抄走的答案而是引导孩子自己推。”评委点头没再追问。答辩的原则总结起来就是用故事开场用角色解释技术用测试数据证明价值用安全问题展示成熟度。5.2 迭代计划从单角色到多AI协作比赛结束后小禾问我这个项目还能怎么“变厉害”。我给她画了下一步的路线图。现在这个版本是“一个AI干所有事”下一步可以做“多AI协作”。具体来说“小陪”不再是一个大模型同时扮演四个角色而是拆成四个独立的AI角色分别有各自的提示词和调用逻辑。它们之间通过一个简单工作流配合拆题教练先把大作业切成小任务监督员负责倒计时引导员在卡壳时介入树洞朋友在检测到消极情绪时接手。最后所有角色再把进度汇总给“小助手”生成周报。这种“多AI协作”的思路对中学生来说并不难本质上是把我们之前那张“功能模块与AI角色对应表”变成程序里的分支逻辑。但它的工程价值很大因为每个AI角色可以单独优化、单独测试不想现在这版改一次提示词就会影响全部功能。她还计划做一个小事把语音输入接上让孩子可以说“我卡在第三题了”而不是打字。技术上只是增加一个语音转文字的接口但对“陪伴感”的提升非常大。我建议她把这个功能做成暑假迭代版本而不是急着参加下一场比赛。5.3 给入门者的六周路线图最后分享一个可复制的入门路径这是我在社团里经常给学生用的安排。如果孩子是零基础每周投入5-6小时六周可以完成一个和“小陪”类似的AI小作品。第一周学会用现成的AI工具练习给不同角色写人设。这周不用写代码用文本对话工具反复打磨提示词。第二周学Python最基础的四样东西print输出、input输入、if判断、list列表。能写一个“按按钮给出不同回复”的命令行小脚本即可。第三周注册一个人工智能开放平台账号跟着文档跑通“输入一句话→收到AI回复”的API调用。跑通这一步就成功了一大半。第四周学Flask的hello world然后把第三周的模型调用嵌套进网页做出一个最简单的对话框页面。第五周把前面设计好的提示词和“四个角色”完整嵌入加上按钮、倒计时和“不想写了”的情绪模式这就成了一个MVP。第六周找3个同学来试用记录他们中间卡在什么地方修改提示词和交互写一页说明文档。这个路线图的核心理念是从使用者变成创作者关键不是啃完大模型理论而是先跑通一个最小作品再在迭代中补理论。小禾就是按照类似的节奏走下来的第六周结束时她对自己说了一句让我印象很深的话“原来AI没那么神秘我现在知道怎么让AI听我说话了。”最后一个想分享的体会辅导小禾这一个多月我最欣慰的不是她拿了一等奖而是她的心态发生了变化。项目刚开始的时候她想的还是“让AI替我把作业写了”等做完“小陪”之后她在心得里写的最后一句话是“我不想让AI替我思考我想让它陪我一起思考。”这个转变比任何技术指标都重要。目前很多关于孩子用AI的讨论都在担心抄答案、走捷径但我觉得只要大人引导得当AI完全可以帮孩子建立更好的学习习惯。方法也不复杂让孩子从自己真实的烦恼出发把AI当成一个可以“对话的产品原型”来打磨而不是当成一个“所有答案都懂的机器”。如果你也想带孩子做AI项目别急着报编程班先给他一张白纸让他写下最近最烦恼的一件小事。那件小事可能就是一个获奖作品的起点。