用 TRAE SOLO 3天独立搭建山村教育 AI 赋能平台「远山不远」
一、项目摘要
「远山不远」是一个专为偏远山区教师与学生量身打造的 AI 教育赋能平台。平台包含**三大模块、十项核心功能**,覆盖教师端(全周期教学助手、教师成长模块)与学生端(学生成长模块)。项目基于 \`FastAPI + PostgreSQL + SQLAlchemy\` 全栈落地,深度集成大语言模型(本地 Qwen 2.5 / GPT-4o-mini)、ASR 与 OCR 技术,实现前后端动态联动。
核心洞察与产品方向:
洞察 1:山区教师独自撑起一所学校。 面对复式教学(一人同时教多个年级)、缺乏同伴教研与成长反馈的困境,他们缺的不仅是教学资源,更是将资源转化为教学行动的能力和信心。
解决方案:全周期教学助手 + 教师成长档案
**洞察 2:山区孩子不缺梦想,缺的是通往梦想的路径地图。**孩子们的视野受限,即便有航天员、游戏设计师的梦想,也不知道如何将当下的学业与未来相连,更不知道具体的实现路径。
解决方案:梦想模拟器 + 动态学生档案
二、项目背景与核心理念
我并非教育从业者,但乡村教育的结构性困境长期触动着我。
大多数偏远山村教学点,教师日常使用的是为城市学校设计的标准化教学工具,完全无法适配“一个老师一堂课教两个年级”的真实场景;而山区的留守儿童,也极度缺乏个性化的职业启蒙与心理关怀。
因此,我希望打造一款真正“向下扎根”的产品:
1. 为教师减负增效:通过智能复式备课、自动批改作业,将教师从繁杂的重复劳动中解放出来。
2. 赋能教师成长:首创“微课克隆”功能,让乡村教师能跨越时空与网络名师“同课异构”,获取具体可操作的改进建议;并建立自动化的成就勋章与职称材料导出系统。
3. 点亮学生梦想:打造“梦想模拟器”与“我的成长档案”,帮助学生了解梦想的具体可实践路径,给出合理规划,自我赋能。并结合自动心理健康预警,帮助教师对不同学生进行差异化关怀。
产品核心理念:离线优先,极简操作。让每一位山村教师都被赋能,让每一个孩子的梦想不仅被看见,更能被实践。
三、实践过程与技术落地
3.1 总体架构与任务拆解
项目采用轻量且高效的全栈架构,确保在配置有限的环境下依然可用:
1.前端层:`yuanshan.html` 单页应用(Vanilla JS + CSS),基于 Token 的 API 联动。
2.后端层:FastAPI 提供高性能异步接口,PostgreSQL + SQLAlchemy 管理复杂的关系型数据。
3.AI 服务层:统一的 `LocalLLM` 调度模块,支持本地模型与云端 API 无缝切换;集成 Whisper(语音转写)与 PaddleOCR(图像识别)及优雅的降级策略。
4.异步与调度:基于 `BackgroundTasks` 处理耗时任务,`APScheduler` 执行定时统计与提醒。
3.2 核心功能+技术解析
① 复式课堂智能备课引擎(突破传统场景)
痛点:传统工具无法解决 40 分钟内同时教授三年级与五年级的注意力分配问题。
创新设计:
-
输入"我有三年级12人+五年级8人,今天语文40分钟"
-
AI自动生成分组轮转教学方案:A组自学任务单 → B组教师直教 → A/B交换,时序精确到分钟
-
内置自学任务单生成器:AI生成配套学生自学卡,教师讲另一组时,另一组有事可做
-
一键打印,低配打印机友好格式
技术栈:FastAPI 路由 + `lesson_plan_generator.py` 服务 + 结构化 JSON 解析
| 层级 | 技术选型 | 具体作用 |
|---|---|---|
| Web框架 | FastAPI | 高性能异步API,自动生成文档,支持WebSocket(后续实时生成) |
| AI编排 | LangChain + LangGraph | 构建复式备课的提示词链,处理多步骤生成(分组轮转、任务单等) |
| LLM | Qwen2.5-7B-Instruct(本地) / GPT-4o-mini(云端) | 生成方案文本;本地部署省钱且离线可用 |
| 数据库 | PostgreSQL + SQLAlchemy | 保存备课记录、用户关联、历史方案 |
| 缓存/队列 | Redis + Celery | 异步生成方案(避免超时),缓存常用模板 |
| 文件存储 | MinIO / 阿里云OSS | 存储生成的PDF任务单(供打印) |
| 向量检索 | Chroma / FAISS | 检索相似备课方案,作为Few-shot示例 |
| 认证 | JWT (之前已实现) | 识别教师用户,关联备课记录 |
【页面展示】
② 微课克隆与名师对标(跨越时空的教研)
痛点:好的网络名师课程,山区教师不知道怎么用到自己课堂
创新设计:
-
教师录制自己的10分钟课堂片段(用手机)
-
匹配网上公开同课段的名师课程资源,和教师录制视频进行对比分析
-
AI分析后给出具体、可操作的改进建议(不是"多互动"这种废话,而是"第3分钟你讲概念时没有停顿让学生思考,建议加一个’你们觉得呢?'的停顿",教学结构(引入-讲解-练习-总结))
-
可对比名师同课段,但用"你的优势"而非"你的不足"作为视角呈现
-
加入跳转按钮,可以一键跳转所匹配到的名师课程进行学习
技术栈:
| 组件 | 技术选型 | 说明 |
|---|---|---|
| Web框架 | FastAPI | 已有,继续扩展 |
| 语音转文字 | Whisper (tiny/base,本地) | 提取教师讲课内容 |
| 名师课程库 | PostgreSQL + pgvector | 存储课程嵌入向量,支持相似度检索 |
| 向量化 | Sentence-BERT (BGE-small-zh) | 将查询(学科+年级+课题)编码为向量 |
| 对比分析 | LangChain + 本地LLM (Qwen-1.8B) | 生成结构化改进建议 |
| 异步任务 | Celery + Redis | 处理耗时视频转码和LLM调用 |
| 对象存储 | MinIO / 本地临时文件 | 暂存上传视频 |
【页面展示】
③ 梦想模拟器(零门槛的职业探索引擎)
痛点:山区孩子视野窄,不知道有什么职业,不知道读书和未来的关系,更不知道实现梦想的具体路径
创新点:
-
职业世界探索——发掘孩子的兴趣与梦想
-
梦想模拟器——详细版附后
-
读书-梦想连接器——让孩子看到我现在学的和梦想什么关系
-
梦想成就任务系统——根据学生自身情况,规划真实成长路径,并突出日常学习与任务和梦想之间的关系
-
满足三大原则(低门槛、有趣、合理)
技术栈:本模块基于 FastAPI + 本地大模型 + 学生档案数据,实现个性化职业探索和路径规划。
| 组件 | 技术选型 | 说明 |
|---|---|---|
| 框架 | FastAPI | 已有,提供API |
| 大模型 | Qwen2.5-7B / GPT-4o-mini | 生成故事、路径规划 |
| 数据库 | PostgreSQL | 存储学生档案、职业模板、偏好 |
| 向量检索 | pgvector | 检索相似职业、知识地图 |
| 实时搜索 | 可选(接入互联网) | 生成路径时获取最新大学专业信息 |
【页面展示】
当完成探索时,会出现路径规划(如知识地图、本周可以做的事、可实现路径):
④ 心理健康关怀与自动预警(最有温度的防线)
痛点:山区留守儿童心理问题隐蔽,教师难以早期发现和干预
创新点:
-
多微信号采集,根据学生的作文、日记或者成绩变化曲线等,分析了解学生的心理健康状况,并采用分级预警机制,对于心理问题尽早且温和的干预。
-
同时做好差异化的关怀与鼓励。针对不同心理问题的学生,给出恰当的建议。
-
加入关怀提示与关怀清单,提醒教师。
技术栈:
| 组件 | 技术选型 | 说明 |
|---|---|---|
| Web框架 | FastAPI(已有) | 提供分析、清单管理等接口 |
| 大模型 | Qwen2.5-7B(本地) / GPT-4o-mini(云端) | 分析文本,输出结构化结果 |
| 数据库 | PostgreSQL + SQLAlchemy | 存储分析记录、预警学生、关怀清单 |
| 向量检索 | Chroma / pgvector | 可选:用于相似案例检索 |
| 定时任务 | APScheduler / Celery Beat | 每日自动生成今日提醒和本周清单 |
| 前端集成 | 现有心理关怀面板(panel-psychology) |
动态加载预警列表、关怀清单 |
【页面展示】
【其他功能,见下文4.2产品功能详细展示】
3.3 实践中的“踩坑”与优化
1. 大模型调用的稳定性与解耦:
早期直接硬编码调用 LLM 导致测试困难。后期将 API 配置独立抽离至 `llm_config.py`,实现 `LocalLLM` 包装类。即使本地没跑模型,系统也能回退到预设模板,保证业务流不中断(离线/降级优先策略)。
2. 多模态与异步处理:
微课视频处理极耗时,改用 `BackgroundTasks` 异步执行,前端轮询`/api/agent/microcourse_result`,避免了请求超时。
3. 数据库的复杂关联:
随着功能增加,表结构剧增。全面迁移至 PostgreSQL,利用 SQLAlchemy 处理外键与级联(如 `teacher_id` 与各业务表的严格隔离),确保不同教师登录看到独立的数据。
4.prompt优化(最重要的!!):
在项目实践的过程中,prompt优化是最耗时的部分,需要不断根据模型输出的内容调整prompt,约束输出结果。如在智能备课中加入“课件复合社会主义价值观,无不良倡导”,在梦想模拟器-故事生成中加入“路径生成强约束继续教育导向,避免负向建议”等等…
四、项目成果与结构
具体代码已在GitHub中开源,链接:https://github.com/SxingheL/yuanshan_agent.git
1.完整项目结构:
远山不远/
├── yuanshan.html # 前端单页应用(动态渲染,无缝联动后端)
├── PROJECT_DOCUMENTATION.md # 项目技术文档与启动指南
├── backend/
│ ├── main.py # FastAPI 启动入口与路由挂载
│ ├── requirements.txt # 完整依赖清单
│ ├── .env.example # 环境变量与 LLM 配置模板
│ └── app/
│ ├── db/ # PostgreSQL 数据库配置与 SQLAlchemy ORM 模型
│ ├── routes/ # RESTful API 路由模块(认证、备课、作业、心理等)
│ └── services/ # 核心业务逻辑与 AI 智能体(Agent)服务
```
4.2 产品功能详细展示
登录页:角色选择——表单输入——登录触发
(一)模块一:全周期教学助手
1.智能备课——加入复试课堂智能备课
解决:一人教3个年级,如何备课?
传统备课工具都是单年级设计的。山区最普遍的是"复式教学"(同一教室同时有2-4个年级)。
创新设计:
-
输入"我有三年级12人+五年级8人,今天语文40分钟"
-
AI自动生成分组轮转教学方案:A组自学任务单 → B组教师直教 → A/B交换,时序精确到分钟
-
内置自学任务单生成器:AI生成配套学生自学卡,教师讲另一组时,另一组有事可做
-
一键打印,低配打印机友好格式
2.作业批改 /成绩录入——记入学生档案
解决:批改作业耗时长,成绩录入繁琐,学情难以追踪
创新设计:
-
拍照上传后,AI自动识别题目类型并判断对错,教师可快速"确认/修改"AI判断,一键归档
-
成绩录入时自动关联"对应考查知识点”,错题自动打标签(如:三年级·数学·进位加法·连续进位)
-
形成全班"知识点掌握热力图",一眼看出班级薄弱点
-
作业数据自动流入学生成长档案,连续3次同一知识点出错 → 系统主动提醒教师进行个别辅导
3.离线知识库 + 轻量AI问答(支持语音输入)
解决:网络差/无网情况下,教师遇到不会的知识点怎么办?
创新设计:
-
预置K9全学科核心知识图谱,完全离线可用(类似离线地图)
-
教师用语音提问(方言适配):“五年级分数除法这一块,我不太会讲,给我解释一下,用农村孩子能懂的例子”
-
AI用本地化类比回答(用田地、农作物、赶集等场景举例)
-
周期性低流量同步更新
4.家校沟通
解决:山区家长文化程度低,沟通困难,微信群无效
创新设计:
-
教师语音输入反馈 → AI转化为简明、温暖、无教育术语的家长通知
-
支持一键生成图文版(家长看不懂文字也能理解的图示)
-
添加家访记录手册:以日历形式标注教师的家访记录,教师自己输入家访日期、同学姓名、并以日记形式记录家访内容和注意事项。
-
同时提出家访对象建议,和家访内容建议
5.班级管理
解决:班级未形成系统化管理,全靠简单搜索和教师经验
创新设计:
-
支持Excel一键导入学生的基本情况,基本信息含:姓名、年级、监护人、联系方式、家庭类型(留守/单亲/困难)、民族、健康状况
-
建立每个学生的四维成长档案库,并有个性化、差异化的可视化分析。
-
学习维度:各科成绩趋势 / 知识点掌握图谱 / 作业完成率
-
行为维度:出勤记录 / 课堂参与评价(教师快速打星)
-
心理维度:(联动模块二)情绪状态标记 / 心理健康预警
-
家庭维度:家访记录 / 家长沟通历史
-
-
档案跨年级传递,升级时,档案自动迁移至下一位老师,新老师一键查看"这个班每个孩子的背景和进步史”
(二)模块二:教师成长模块
1.微课克隆——AI对比名师课堂给出具体可操作性意见
解决:好的网络名师课程,山区教师不知道怎么用到自己课堂
创新设计:
-
教师录制自己的10分钟课堂片段(用手机)
-
匹配网上公开同课段的名师课程资源,和教师录制视频进行对比分析
-
AI分析后给出具体、可操作的改进建议(不是"多互动"这种废话,而是"第3分钟你讲概念时没有停顿让学生思考,建议加一个’你们觉得呢?'的停顿",教学结构(引入-讲解-练习-总结))
-
可对比名师同课段,但用"你的优势"而非"你的不足"作为视角呈现
-
加入跳转按钮,可以一键跳转所匹配到的名师课程进行学习
2.教师个人成长档案
解决:教师的努力不被看见,职称评定缺乏真实证明材料
-
每次使用APP,自动化积累内容,备课记录、微课报告、等数据自动归档。可积累、可分享,支持自动生成符合当地职称评定格式的"教师个人工作总结”
-
生成教师个人成长档案,生成“教学能力成长曲线”,并可以以看到能力雷达图的变化。
-
内置勋章系统(“连续30天备课达人”/“本月互助之星”/“学生进步推手”),勋章可生成精美图片,分享至朋友圈/同事群,可以在没有外部认可的环境中,为教师创造正反馈
3.学生心理健康和差异化关怀
解决:山区留守儿童心理问题隐蔽,教师难以早期发现和干预
创新点:
-
多微信号采集,根据学生的作文、日记或者成绩变化曲线等,分析了解学生的心理健康状况,并采用分级预警机制,对于心理问题尽早且温和的干预。
-
同时做好差异化的关怀与鼓励。(针对不同心理问题的学生,给出恰当的建议)。
-
加入关怀提示与关怀清单,提醒教师。
4.教师互助论坛(仅做展示,并未实现)
(三)模块三:学生成长模块
1.梦想模拟器——游戏中寻找实现路径
解决问题: 山区孩子视野窄,不知道有什么职业,不知道读书和未来的关系,更不知道实现梦想的具体路径
创新点:
-
职业世界探索——发掘孩子的兴趣与梦想
-
梦想模拟器——详细版附后
-
读书-梦想连接器——让孩子看到我现在学的和梦想什么关系
-
梦想成就任务系统——根据学生自身情况,规划真实成长路径,并突出日常学习与任务和梦想之间的关系
-
后续根据三大原则(低门槛、有趣、合理)加入以下功能:
-
低门槛 :新增故事朗读、语音选项识别(说“选项一/二/三”)、大按钮模式(更大字体与触控区),识字少也能玩。
-
有趣 :新增“成长经营条”(希望值/挑战值/能力标签),每次选择都会即时更新数值与能力点,并即时反馈。
-
合理 :每一步选择都显示“现实提示 + 希望提示”,明确“路不轻松,但有人走过”,避免过度美化。
-
当完成探索时,会出现路径规划(如知识地图、本周可以做的事、可实现路径):
2.学生成长档案
解决问题:*山区孩子缺乏持续的成长记录,好的进步转瞬即逝、无人看见
功能设计:
-
学生档案由四个维度构成:
-
学业成长(联动作业批改和录入成绩分析模块,生成成绩趋势图、知识点掌握雷达图、错题本等)
-
能力成长(由教师记录学生的兴趣爱好与相关能力参与的活动等)
-
情感与心理(除上述的心理健康记录的同时,增加“闪光时刻”正向成就积累和自我效能感)
-
阶段性任务规划(教师/AI协同为每个学生制定阶段目标,差异化,非统一模板)
-
学业成长:
能力成长:
闪光时刻:
阶段任务:
以上及为该产品的具体功能与实现。所有功能后端均可正常运行:
五、经验总结与展望
AI 赋能开发的方法论:先定义约束,再让 AI 生成
无论是复式课堂的严格时序约束,还是微课分析报告的“正向反馈”格式约束,先用代码或提示词明确系统的业务边界,再让 LLM 负责在边界内发挥推理与创意,输出质量和稳定性会提升一个数量级。
写在最后
「远山不远」绝不仅仅是一个 API 拼接的 Demo,它是我在思考“AI 能为教育公平做什么”之后,用代码认真敲下的一个答案。
山区教师不缺干瘪的资源,缺的是把资源转化为教学行动的能力和信心。这正是 AI 工具真正应该去的地方——不是替代人,而是将优质的教研指导、心理关怀分析和路径规划能力,带到每一个原本触达不到的角落。
**远山不远,让每一个梦想不止被看见,更被实践。**![]()




























