MBE 教育模块架构设计
📋 概述
本文档描述 MBE 教育模块的架构设计,该模块基于 MBE 核心能力(HOPE MOE、TITANS、MIRAS、嵌套学习)构建,实现自适应学习系统。
创建日期: 2026年2月1日
版本: 1.0.0
作者: MBE Team
🎯 设计目标
- 自适应学习: 根据学生状态动态调整教学内容
- 知识追踪: 精确追踪学生对每个知识点的掌握程度
- 智能复习: 基于遗忘曲线和惊讶度的间隔重复
- 能力均衡: 追踪和平衡各项学习能力的发展
- 个性化推荐: 根据学生情况推荐最合适的学习内容
🏗️ 系统架构
┌─────────────────────────────────────────────────────────────────────┐
│ MBE 教育模块架构 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────────────┐ │
│ │ API 层 (education.py) │ │
│ │ POST /learn | GET /review-plan | GET /progress | ... │ │
│ └───────────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ┌───────────────────────────────▼───────────────────────────────┐ │
│ │ 教育引擎 (EducationEngine) │ │
│ │ 统一协调所有教育组件,提供完整的学习流程 │ │
│ └───────────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ┌───────────┬───────────┬───────────┬───────────┬───────────┐ │
│ │ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ │ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ Student │ │Adaptive │ │ Review │ │Ability │ │ Course │ │ │
│ │ Tracker │ │ Tutor │ │Scheduler│ │Balancer │ │ Manager │ │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ └─────────┘ │ │
│ │ │ │ │ │ │
│ │ 基于 MBE 核心组件 │ │
│ ▼ ▼ ▼ ▼ │ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ HOPE │ │Surprise │ │ Memory │ │ Expert │ │ │
│ │Learning │ │ Router │ │Compress │ │Balancer │ │ │
│ │ MOE │ │ │ │ or │ │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │
│ │ │ │ │ │ │
│ └───────────┴───────────┴───────────┘ │ │
│ │ │ │
│ ┌────────────────────▼────────────────────────────────────┐ │ │
│ │ MBE 核心能力层 │ │ │
│ │ TITANS (记忆) | MIRAS (检索) | 嵌套学习 | LLM │ │ │
│ └─────────────────────────────────────────────────────────┘ │ │
│ │ │
└───────────────────────────────────────────────────────────────┘
📦 模块说明
1. StudentTracker (学生学习追踪器)
位置: src/education/student_tracker.py
依赖: HOPE Learning MOE (src/core/hope_moe.py)
功能:
- 追踪学生对每个知识点的惊讶度
- 计算知识掌握程度
- 记录学习历史
- 生成学习建议
核心原理:
惊讶度 → 掌握程度映射
高惊讶度 (> 0.7) → 新知识/未掌握 → 需要详细讲解
中惊讶度 (0.4-0.7) → 正在学习 → 需要练习巩固
低惊讶度 (< 0.4) → 已掌握 → 可以进阶/拓展
HOPE MOE 专家映射:
| HOPE 专家 | 教育用途 |
|---|---|
| FastAdaptationExpert | 快速引入新知识 |
| StableMemoryExpert | 巩固已有知识 |
| PatternRecognitionExpert | 发现规律和方法 |
| ForgetControlExpert | 防止遗忘 |
2. AdaptiveTutor (自适应教学模块)
位置: src/education/adaptive_tutor.py
依赖: SurpriseRouter (src/moe/nested_learning.py)
功能:
- 根据惊讶度选择教学策略
- 多专家协同生成教学内容
- 个性化内容推荐
教学专家:
| 专家 | 适用场景 | 惊讶度范围 |
|---|---|---|
| 详细讲解专家 | 新概念引入 | > 0.7 |
| 举例说明专家 | 通过例子理解 | > 0.7 |
| 规律总结专家 | 发现规律 | 0.4-0.7 |
| 练习巩固专家 | 通过练习加深 | 0.4-0.7 |
| 进阶挑战专家 | 提高难度 | < 0.4 |
| 拓展延伸专家 | 扩展知识面 | < 0.4 |
路由流程:
学生输入
↓
计算惊讶度
↓
SurpriseRouter 计算偏置
↓
选择 Top-K 专家 (默认 K=2)
↓
并行生成教学内容
↓
融合输出
3. ReviewScheduler (复习调度系统)
位置: src/education/review_scheduler.py
依赖: MemoryCompressor (src/moe/nested_learning.py)
功能:
- 基于艾宾浩斯遗忘曲线的间隔复习
- 根据惊讶度动态调整复习间隔
- 生成每日复习计划
间隔算法:
# 基础间隔(天)
intervals = [1, 3, 7, 14, 30, 60]
# 惊讶度调制
if surprise > 0.7:
interval *= 0.5 # 高惊讶度:缩短间隔
elif surprise < 0.3:
interval *= 2.0 # 低惊讶度:延长间隔
优先级计算:
优先级 = 惊讶度 × 0.4 + 重要性 × 0.3 + 逾期程度 × 0.3
4. AbilityBalancer (能力均衡模块)
位置: src/education/ability_balancer.py
依赖: ExpertBalancer (src/moe/nested_learning.py)
功能:
- 追踪各能力使用情况
- 检测能力短板
- 生成均衡发展建议
能力类型:
- mathematical: 数学计算
- logical: 逻辑推理
- linguistic: 语言表达
- creative: 创造思维
- memory: 记忆理解
短板检测:
# 使用率低于阈值 (默认 15%) 视为短板
if usage_rate < 0.15:
weaknesses.append(ability)
5. CourseManager (课程管理器)
位置: src/education/course_manager.py
功能:
- 课程和知识点的 CRUD
- 知识点依赖关系管理(知识图谱)
- 学习路径推荐
知识图谱:
课程
└── 知识点 A
├── 前置: []
└── 依赖: [B, C]
└── 知识点 B
├── 前置: [A]
└── 依赖: [D]
└── 知识点 C
├── 前置: [A]
└── 依赖: [E]
6. EducationEngine (教育引擎)
位置: src/education/education_engine.py
功能:
- 整合所有教育组件
- 提供统一的学习流程
- 协调各组件协同工作
完整学习流程:
1. 接收学习请求
↓
2. StudentTracker: 计算惊讶度,更新知识状态
↓
3. AdaptiveTutor: 生成个性化教学内容
↓
4. ReviewScheduler: 安排复习(如需要)
↓
5. AbilityBalancer: 更新能力画像
↓
6. 返回综合结果
🔌 API 接口
位置: src/api/education.py
核心接口
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /education/learn |
学生学习 |
| GET | /education/students/{id}/progress |
获取学习进度 |
| GET | /education/students/{id}/review-plan |
获取复习计划 |
| GET | /education/students/{id}/ability-report |
获取能力报告 |
| GET | /education/students/{id}/recommendations |
获取学习推荐 |
课程管理接口
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /education/courses |
创建课程 |
| GET | /education/courses |
列出课程 |
| POST | /education/knowledge-points |
创建知识点 |
| GET | /education/knowledge-points |
列出知识点 |
📊 数据模型
Student (学生)
@dataclass
class Student:
id: str
name: str
learning_style: str
difficulty_level: str
knowledge_states: Dict[str, StudentKnowledgeState]
ability_profile: AbilityProfile
KnowledgePoint (知识点)
@dataclass
class KnowledgePoint:
id: str
name: str
description: str
course_id: str
difficulty: float # 0-1
importance: float # 0-1
prerequisites: List[str] # 前置知识点ID
ability_types: List[str] # 涉及的能力类型
StudentKnowledgeState (学生知识状态)
@dataclass
class StudentKnowledgeState:
knowledge_point_id: str
mastery_level: int # 0-4 (未开始到精通)
current_surprise: float # 当前惊讶度
learning_count: int # 学习次数
accuracy: float # 正确率
last_learned_at: datetime
next_review_at: datetime
🚀 使用示例
基本使用
from src.education import EducationEngine, KnowledgePoint
# 创建引擎
engine = EducationEngine()
# 创建课程和知识点
course = engine.create_course(name="Python 基础")
kp = engine.create_knowledge_point(
name="递归",
course_id=course.id,
difficulty=0.7,
ability_types=["logical", "problem_solving"],
)
# 学生学习
result = await engine.learn(
student_id="student_001",
knowledge_point_id=kp.id,
content="什么是递归?",
)
print(f"惊讶度: {result['tracking'].surprise_score}")
print(f"教学策略: {result['teaching'].strategy}")
print(f"建议: {result['suggestions']}")
复习管理
# 获取复习计划
plan = engine.get_daily_review_plan("student_001")
print(f"今日需复习 {len(plan.items)} 个知识点")
# 完成复习
await engine.complete_review(
student_id="student_001",
knowledge_point_id="kp_001",
result="success",
score=0.85,
)
能力分析
# 获取能力报告
report = engine.get_ability_report("student_001")
print(f"短板: {report.weaknesses}")
print(f"建议: {report.suggestions}")
# 获取针对短板的推荐
recommendations = engine.get_weakness_recommendations("student_001")
📈 性能预期
| 指标 | 目标值 |
|---|---|
| 惊讶度计算延迟 | < 50ms |
| 教学内容生成延迟 | < 200ms |
| 复习计划生成延迟 | < 100ms |
| 知识追踪准确率 | > 85% |
| 复习效果提升 | +40% |
🔧 配置说明
基本配置
from src.education import EducationConfig
config = EducationConfig(
# 惊讶度阈值
surprise_thresholds=SurpriseThresholds(
high=0.7,
medium=0.4,
low=0.2,
),
# 复习配置
review=ReviewConfig(
intervals=[1, 3, 7, 14, 30, 60],
daily_review_limit=50,
),
# 教学配置
tutor=TutorConfig(
num_teaching_experts=6,
top_k=2,
),
)
engine = EducationEngine(config)
预设配置
# K12 教育
config = EducationConfig.for_k12()
# 职业培训
config = EducationConfig.for_professional()
📁 文件结构
src/education/
├── __init__.py # 模块入口
├── config.py # 配置定义
├── models.py # 数据模型
├── student_tracker.py # 学生学习追踪
├── adaptive_tutor.py # 自适应教学
├── review_scheduler.py # 复习调度
├── ability_balancer.py # 能力均衡
├── course_manager.py # 课程管理
└── education_engine.py # 教育引擎
src/api/
└── education.py # API 接口
docs/architecture/
└── EDUCATION_MODULE_DESIGN.md # 本文档
✅ 实施清单
Phase 1: 核心功能(已完成)
- 模块结构和配置
- 数据模型定义
- StudentTracker(基于 HOPE MOE)
- AdaptiveTutor(基于 SurpriseRouter)
- ReviewScheduler(基于 MemoryCompressor)
- AbilityBalancer(基于 ExpertBalancer)
- CourseManager
- EducationEngine
- API 接口
Phase 2: 增强功能(待实施)
- 学习分析仪表盘
- 自动出题系统
- 学习社区功能
- 移动端适配
Phase 3: 高级功能(规划中)
- 多模态教学内容
- AI 辅助批改
- 学习行为预测
- 个性化学习路径优化
📞 联系方式
如有问题,请联系 MBE 开发团队。
文档版本: v1.0.0
最后更新: 2026年2月1日