【Hello AI 科技至善】远山不远 | 让每一个梦想都被实践,每一位教师都被赋能!

用 TRAE SOLO 3天独立搭建山村教育 AI 赋能平台「远山不远」

一、项目摘要

「远山不远」是一个专为偏远山区教师与学生量身打造的 AI 教育赋能平台。平台包含**三大模块、十项核心功能**,覆盖教师端(全周期教学助手、教师成长模块)与学生端(学生成长模块)。项目基于 \`FastAPI + PostgreSQL + SQLAlchemy\` 全栈落地,深度集成大语言模型(本地 Qwen 2.5 / GPT-4o-mini)、ASR 与 OCR 技术,实现前后端动态联动。

核心洞察与产品方向:

洞察 1:山区教师独自撑起一所学校。 面对复式教学(一人同时教多个年级)、缺乏同伴教研与成长反馈的困境,他们缺的不仅是教学资源,更是将资源转化为教学行动的能力和信心

:backhand_index_pointing_right: 解决方案:全周期教学助手 + 教师成长档案

**洞察 2:山区孩子不缺梦想,缺的是通往梦想的路径地图。**孩子们的视野受限,即便有航天员、游戏设计师的梦想,也不知道如何将当下的学业与未来相连,更不知道具体的实现路径。

:backhand_index_pointing_right: 解决方案:梦想模拟器 + 动态学生档案

二、项目背景与核心理念

我并非教育从业者,但乡村教育的结构性困境长期触动着我。

大多数偏远山村教学点,教师日常使用的是为城市学校设计的标准化教学工具,完全无法适配“一个老师一堂课教两个年级”的真实场景;而山区的留守儿童,也极度缺乏个性化的职业启蒙与心理关怀。

因此,我希望打造一款真正“向下扎根”的产品:

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 产品功能详细展示

登录页:角色选择——表单输入——登录触发

image

(一)模块一:全周期教学助手

1.智能备课——加入复试课堂智能备课

解决:一人教3个年级,如何备课?

传统备课工具都是单年级设计的。山区最普遍的是"复式教学"(同一教室同时有2-4个年级)。

创新设计:

  • 输入"我有三年级12人+五年级8人,今天语文40分钟"

  • AI自动生成分组轮转教学方案:A组自学任务单 → B组教师直教 → A/B交换,时序精确到分钟

  • 内置自学任务单生成器:AI生成配套学生自学卡,教师讲另一组时,另一组有事可做

  • 一键打印,低配打印机友好格式

image

2.作业批改 /成绩录入——记入学生档案

解决:批改作业耗时长,成绩录入繁琐,学情难以追踪

创新设计:

  • 拍照上传后,AI自动识别题目类型并判断对错,教师可快速"确认/修改"AI判断,一键归档

  • 成绩录入时自动关联"对应考查知识点”,错题自动打标签(如:三年级·数学·进位加法·连续进位)

  • 形成全班"知识点掌握热力图",一眼看出班级薄弱点

  • 作业数据自动流入学生成长档案,连续3次同一知识点出错 → 系统主动提醒教师进行个别辅导

image

3.离线知识库 + 轻量AI问答(支持语音输入)

解决:网络差/无网情况下,教师遇到不会的知识点怎么办?

创新设计:

  • 预置K9全学科核心知识图谱,完全离线可用(类似离线地图)

  • 教师用语音提问(方言适配):“五年级分数除法这一块,我不太会讲,给我解释一下,用农村孩子能懂的例子”

  • AI用本地化类比回答(用田地、农作物、赶集等场景举例)

  • 周期性低流量同步更新

image

4.家校沟通

解决:山区家长文化程度低,沟通困难,微信群无效

创新设计:

  • 教师语音输入反馈 → AI转化为简明、温暖、无教育术语的家长通知

  • 支持一键生成图文版(家长看不懂文字也能理解的图示)

  • 添加家访记录手册:以日历形式标注教师的家访记录,教师自己输入家访日期、同学姓名、并以日记形式记录家访内容和注意事项。

  • 同时提出家访对象建议,和家访内容建议

image

image

5.班级管理

解决:班级未形成系统化管理,全靠简单搜索和教师经验

创新设计:

  • 支持Excel一键导入学生的基本情况,基本信息含:姓名、年级、监护人、联系方式、家庭类型(留守/单亲/困难)、民族、健康状况

  • 建立每个学生的四维成长档案库,并有个性化、差异化的可视化分析。

    • 学习维度:各科成绩趋势 / 知识点掌握图谱 / 作业完成率

    • 行为维度:出勤记录 / 课堂参与评价(教师快速打星)

    • 心理维度:(联动模块二)情绪状态标记 / 心理健康预警

    • 家庭维度:家访记录 / 家长沟通历史

  • 档案跨年级传递,升级时,档案自动迁移至下一位老师,新老师一键查看"这个班每个孩子的背景和进步史”

image

(二)模块二:教师成长模块

1.微课克隆——AI对比名师课堂给出具体可操作性意见

解决:好的网络名师课程,山区教师不知道怎么用到自己课堂

创新设计:

  • 教师录制自己的10分钟课堂片段(用手机)

  • 匹配网上公开同课段的名师课程资源,和教师录制视频进行对比分析

  • AI分析后给出具体、可操作的改进建议(不是"多互动"这种废话,而是"第3分钟你讲概念时没有停顿让学生思考,建议加一个’你们觉得呢?'的停顿",教学结构(引入-讲解-练习-总结))

  • 可对比名师同课段,但用"你的优势"而非"你的不足"作为视角呈现

  • 加入跳转按钮,可以一键跳转所匹配到的名师课程进行学习

image

image

2.教师个人成长档案

解决:教师的努力不被看见,职称评定缺乏真实证明材料

  • 每次使用APP,自动化积累内容,备课记录、微课报告、等数据自动归档。可积累、可分享,支持自动生成符合当地职称评定格式的"教师个人工作总结”

  • 生成教师个人成长档案,生成“教学能力成长曲线”,并可以以看到能力雷达图的变化。

  • 内置勋章系统(“连续30天备课达人”/“本月互助之星”/“学生进步推手”),勋章可生成精美图片,分享至朋友圈/同事群,可以在没有外部认可的环境中,为教师创造正反馈

image

3.学生心理健康和差异化关怀

解决:山区留守儿童心理问题隐蔽,教师难以早期发现和干预

创新点:

  • 多微信号采集,根据学生的作文、日记或者成绩变化曲线等,分析了解学生的心理健康状况,并采用分级预警机制,对于心理问题尽早且温和的干预。

  • 同时做好差异化的关怀与鼓励。(针对不同心理问题的学生,给出恰当的建议)。

  • 加入关怀提示与关怀清单,提醒教师。

image

4.教师互助论坛(仅做展示,并未实现)

image

(三)模块三:学生成长模块

1.梦想模拟器——游戏中寻找实现路径

解决问题: 山区孩子视野窄,不知道有什么职业,不知道读书和未来的关系,更不知道实现梦想的具体路径

创新点:

  • 职业世界探索——发掘孩子的兴趣与梦想

  • 梦想模拟器——详细版附后

  • 读书-梦想连接器——让孩子看到我现在学的和梦想什么关系

  • 梦想成就任务系统——根据学生自身情况,规划真实成长路径,并突出日常学习与任务和梦想之间的关系

  • 后续根据三大原则(低门槛、有趣、合理)加入以下功能:

    • 低门槛 :新增故事朗读、语音选项识别(说“选项一/二/三”)、大按钮模式(更大字体与触控区),识字少也能玩。

    • 有趣 :新增“成长经营条”(希望值/挑战值/能力标签),每次选择都会即时更新数值与能力点,并即时反馈。

    • 合理 :每一步选择都显示“现实提示 + 希望提示”,明确“路不轻松,但有人走过”,避免过度美化。

image

image

image

当完成探索时,会出现路径规划(如知识地图、本周可以做的事、可实现路径):

image

2.学生成长档案

解决问题:*山区孩子缺乏持续的成长记录,好的进步转瞬即逝、无人看见

功能设计:

  • 学生档案由四个维度构成:

    • 学业成长(联动作业批改和录入成绩分析模块,生成成绩趋势图、知识点掌握雷达图、错题本等)

    • 能力成长(由教师记录学生的兴趣爱好与相关能力参与的活动等)

    • 情感与心理(除上述的心理健康记录的同时,增加“闪光时刻”正向成就积累和自我效能感)

    • 阶段性任务规划(教师/AI协同为每个学生制定阶段目标,差异化,非统一模板)

学业成长:

image

能力成长:

image

闪光时刻:

image

阶段任务:

image

以上及为该产品的具体功能与实现。所有功能后端均可正常运行:

image

五、经验总结与展望

AI 赋能开发的方法论:先定义约束,再让 AI 生成

无论是复式课堂的严格时序约束,还是微课分析报告的“正向反馈”格式约束,先用代码或提示词明确系统的业务边界,再让 LLM 负责在边界内发挥推理与创意,输出质量和稳定性会提升一个数量级。

写在最后

「远山不远」绝不仅仅是一个 API 拼接的 Demo,它是我在思考“AI 能为教育公平做什么”之后,用代码认真敲下的一个答案。

山区教师不缺干瘪的资源,缺的是把资源转化为教学行动的能力和信心。这正是 AI 工具真正应该去的地方——不是替代人,而是将优质的教研指导、心理关怀分析和路径规划能力,带到每一个原本触达不到的角落。

**远山不远,让每一个梦想不止被看见,更被实践。**:snow_capped_mountain: