乐于分享
好东西不私藏

AI 教育/学习助手开发(一):从场景分析到快速原型

AI 教育/学习助手开发(一):从场景分析到快速原型

AI 教育/学习助手开发(一):从场景分析到快速原型

引言


教育,是 AI 最被看好的落地场景之一。

想象一下:一个学生深夜做题卡壳,AI 秒回解题思路;一个英语学习者想练口语,AI 随时陪练不嫌烦;一个老师批改百份作文头大,AI 10 秒搞定初评。

这些不再是科幻。2026 年,大模型能力、语音技术、多模态识别的成熟度已经足够支撑真正的「AI 教育助手」落地。这个专题,我们就从零开始,手把手教你打造一套 AI 学习助手的核心功能。

第1期先做三件事:看清全景、定好架构、跑通一个可交互的 Demo。

一、AI 教育应用全景


先站在高处看一眼整个 AI+教育的地图,理解我们在做什么。

1.1 核心场景矩阵

场景 用户 AI 能力 代表产品
智能答疑 学生 知识问答 + 推理 可汗学院 Khanmigo、学而思 AI
口语陪练 语言学习者 语音识别 + 语音合成 Duolingo Max、有道 AI 口语
错题分析 学生 OCR 识别 + 诊断推理 作业帮批改、科大讯飞
学习路径规划 自学者 知识图谱 + 自适应 Coursera AI、多邻国路径
AI 出题 教师 知识点提取 + 难度控制 Quizlet Q-Chat
学习分析 管理者 数据挖掘 + 可视化 腾讯智学、阿里云教育

1.2 AI 教育的三波浪潮

第一波:在线教育(2020 前): : 录播课 + 题库,人找知识 第二波:AI 辅助(2020-2024): : 个性化推荐 + 简单答疑,规则驱动 第三波:AI 原生(2025+): : 对话式教学 + 自适应路径 + 多模态交互,模型驱动

我们正处于第三波早期。大模型的「通用推理能力」让教育助手从「预设回答」升级为「理解-推理-生成」的完整闭环。

二、技术栈选型


技术选型是工程中最关键也最容易纠结的一步。我的建议是:选你熟悉的,不要选最新的

2.1 AI 模型

模型 优势 适用场景 成本
DeepSeek / GLM 中文好、推理强、性价比高 智能答疑、错题分析
Qwen-VL 多模态理解强 OCR 识别、图文批改
GPT-4o 综合最强、生态完善 复杂推理、多语言
CosyVoice / GPT-SoVITS 语音合成自然 口语陪练、朗读

本期选择:使用 DeepSeek/GLM 兼容接口,通过 OpenAI 兼容 SDK 统一调用。

2.2 检索与存储

教育场景大量涉及「根据知识库查答案」,所以向量检索是标配。

组件 推荐 说明
向量数据库 Chroma 轻量、零配置,适合教学 Demo
文本切片 LangChain RecursiveCharacterTextSplitter 按段落 + 递归切分
知识图谱 NetworkX 轻量图分析,适合学习路径
会话存储 SQLite / Redis 看并发量

2.3 其他能力

能力 技术选型 工具/库
语音识别(ASR) Whisper / 讯飞 API openai-whisper / dashscope
语音合成(TTS) CosyVoice / Edge TTS cosyvoice-sdk / edge-tts
OCR 识别 Qwen-VL / PaddleOCR API 调用 / paddleocr
前端快速原型 Streamlit 纯 Python,零前端开发
生产级后端 FastAPI 高性能异步框架

三、系统架构设计


我们采用分层架构,每层职责清晰,便于后续功能迭代。

┌─────────────────────────────────────────────┐
│ 用户交互层 │
│ Web UI (Streamlit) │ API (FastAPI) │ 语音 │
└──────────────────┬──────────────────────────┘

┌──────────────────▼──────────────────────────┐
│ 能力编排层 │
│ Agent 调度 │ Prompt 模板 │ 会话管理 │ 权限 │
└───────┬────────────┬───────────┬────────────┘
│ │ │
┌───────▼──┐ ┌──────▼───┐ ┌────▼────────┐
│ AI 推理层 │ │ 检索层 │ │ 多模态层 │
│ DeepSeek │ │ Chroma │ │ Qwen-VL │
│ GLM │ │ Neo4j │ │ Whisper │
└──────────┘ └──────────┘ │ CosyVoice │
└─────────────┘

各层职责

  • 用户交互层:接收输入(文本/语音/图片),渲染输出
  • 能力编排层:理解用户意图,调用合适的 AI/检索/多模态能力组合
  • AI 推理层:大模型核心推理
  • 检索层:知识库检索、图谱查询
  • 多模态层:语音识别合成、OCR、图像理解

这种架构的好处是每层可独立替换。今天用 Chroma,明天切 Pinecone,接口不变。今天用 Streamlit 做 Demo,明天接 FastAPI + Vue,业务逻辑不重写。

四、功能模块拆解


专题规划了 8 期,每期对应一个核心模块:

期数 模块 核心能力
1 概览与架构 场景分析、技术选型、架构设计、快速原型
2 智能答疑系统 文档问答、教材知识库、多领域切换
3 个性化学习路径 用户画像、知识图谱、自适应推荐
4 错题本与智能批改 OCR 识别、错因分析、同类练习生成
5 口语陪练与发音评测 TTS、ASR、发音评分
6 考试出题与模拟 知识点提取、自动组卷、难度控制
7 进度追踪与数据分析 学习仪表盘、薄弱点诊断、可视化
8 综合项目 全功能 AI 学习助手 Demo

五、快速原型:30 分钟跑通 Demo


理论结束,上代码。我们用 Streamlit + OpenAI 兼容 API 快速搭建三个核心功能的 Demo。

5.1 环境准备

# 安装依赖
pip install streamlit openai python-dotenv

# 创建 .env 文件
echo "OPENAI_API_KEY=你的API密钥" >> .env
echo "OPENAI_BASE_URL=https://api.deepseek.com" >> .env
echo "MODEL_NAME=deepseek-chat" >> .env

5.2 核心代码

整个 Demo 的核心架构只有三个函数,对应三个功能模块。

功能一:智能答疑

def smart_qa():
st.header("智能答疑系统")

kb = st.selectbox("选择知识领域",
["小学数学", "初中英语", "高中物理", "大学计算机", "通用知识"])

if "qa_msgs" not in st.session_state:
st.session_state.qa_msgs = []

for m in st.session_state.qa_msgs:
with st.chat_message(m["role"]):
st.markdown(m["content"])

if prompt := st.chat_input("输入你的问题..."):
st.session_state.qa_msgs.append({"role": "user", "content": prompt})
ctx = [
{"role": "system", "content": f"你是专业的{kb}教师"},
*st.session_state.qa_msgs[-6:]
]
r = client.chat.completions.create(
model=os.getenv("MODEL_NAME"),
messages=ctx, temperature=0.7
)
ans = r.choices[0].message.content
st.session_state.qa_msgs.append({"role": "assistant", "content": ans})

核心思想:通过 system prompt 切换知识领域,用会话记忆维持多轮对话。

功能二:个性化学习路径

def learning_path():
st.header("个性化学习路径")

subject = st.selectbox("学科", ["数学", "英语", "物理", "编程"])
level = st.select_slider("当前水平",
["零基础", "入门", "初级", "中级", "中高级", "高级"])
goal = st.selectbox("学习目标",
["考试高分", "竞赛准备", "兴趣拓展", "职业提升"])
weeks = st.slider("学习周期(周)", 1, 16, 8)

if st.button("生成学习路径", type="primary"):
prompt = f"""为{level}水平的学生设计{subject}学科的{weeks}周学习路径。
目标:{goal}。按周列出每周主题和知识点。"""
r = client.chat.completions.create(
model=os.getenv("MODEL_NAME"),
messages=[{"role": "user", "content": prompt}],
max_tokens=2048
)
st.markdown(r.choices[0].message.content)

功能三:AI 错题分析

def error_analysis():
st.header("AI 错题本")

text = st.text_area("粘贴做错的题目", height=150)

if st.button("智能分析", type="primary") and text:
prompt = f"""分析以下错题:\n{text}\n\n要求:
1. 错因诊断(概念/计算/思路)
2. 完整正确解法
3. 知识盲区分析
4. 出 2-3 道同类练习题(附答案)"""

r = client.chat.completions.create(
model=os.getenv("MODEL_NAME"),
messages=[{"role": "user", "content": prompt}],
temperature=0.5, max_tokens=2048
)
st.markdown(r.choices[0].message.content)

完整代码在 Gitee 仓库 ai-education-tutorial/episode-01-overview/scripts/ 下。

5.3 运行效果

streamlit run edu_assistant_demo.py

浏览器打开 http://localhost:8501,你会看到:

  1. 侧边栏导航:切换三个功能模块
  2. 智能答疑:选择领域后多轮对话,上下文保持最近 6 轮
  3. 学习路径:输入学生画像,AI 生成按周定制的学习计划
  4. 错题分析:粘贴题目,得到错因诊断 + 解法 + 同类练习

六、总结与预告


本期回顾

内容 要点
场景分析 6 大核心场景 + 三波技术浪潮
技术选型 模型/检索/语音/前端,给出推荐组合
架构设计 五层架构:交互 → 编排 → AI → 检索 → 多模态
功能拆解 8 期规划,每期一个核心模块
快速原型 Streamlit 三大功能 Demo

下期预告

第2期:AI 智能答疑系统

我们将深入打造一个带知识库的智能答疑系统,支持: - PDF/Word 教材上传与解析 - 向量检索 + LLM 的 RAG 问答 - 多知识领域切换 - 上下文感知的多轮对话

敬请期待!


本文代码已开源:https://gitee.com/genesisesNoun/ai-education-tutorial

关注 CV技术笔记,持续学习 AI 技术全栈实战 👇