M3-01 Learning Engine Module #29

Open
opened 2026-05-22 21:09:50 +08:00 by wangdl · 0 comments
Owner

目标

设计知习学习引擎模块,为 C 端用户提供基于知识点的主动回忆学习、AI 诊断分析和 FocusItem 生成能力。

本 Issue 只做模块架构设计,不直接实现代码。

背景说明

知习的核心理念是"让用户真正学会",而不是替用户总结。用户打开一个 KnowledgeItem 后,进入 LearningSession,进行主动回忆(用自己的话复述知识点),AI 对用户的回答进行诊断(正确点、遗漏点、误区),生成 FocusItem(需要重点关注的薄弱环节),并记录学习活动。

关键约束:Learning Engine 不直接操作 Review 表。它发布 AIAnalysisCompleted 事件,Review Engine 订阅此事件生成 ReviewCard。这保护了模块边界。

模块职责

  1. 本模块负责:

    • LearningSession 管理(创建、进行中、完成状态)
    • 主动回忆流程(展示知识点 → 用户输入回忆内容 → 提交)
    • AI 诊断(通过 AI Gateway 分析用户回答:正确点/遗漏点/误区/改进建议)
    • FocusItem 生成(基于 AI 诊断结果,生成需要重点关注的薄弱项)
    • 学习活动记录(Reading/Recalling/Analyzing 等活动类型)
    • 学习总结(SessionSummary)
    • 发布 AIAnalysisCompleted 事件(供 Review Engine 消费)
  2. 本模块不负责:

    • 直接操作 Review 表或生成 ReviewCard(由 Review Engine 通过事件订阅完成)
    • 知识点管理(走 Artifact & KnowledgeItem)
    • 复习调度(走 Review Engine)
    • 学习统计和趋势(走 Growth & Retention)

核心链路

READ_CONTENT → ACTIVE_RECALL → AI_ANALYSIS → GENERATE_FOCUS_ITEMS → RECORD_ACTIVITY

候选数据对象

  • LearningSession
  • LearningSessionItem(会话中涉及的 KnowledgeItem)
  • ActiveRecallAnswer(用户主动回忆内容)
  • AIAnalysisResult(AI 诊断结果:正确点/遗漏点/误区/改进建议)
  • FocusItem(薄弱环节,重点关注项)
  • LearningActivity(学习活动记录)
  • SessionSummary(学习总结)

基础设施依赖判断

  • MySQL:是
  • Redis:否
  • BullMQ:是(AI 分析异步执行)
  • Qdrant:否
  • AI Gateway:是(AI 诊断调用)
  • Content Safety:是(用户输入内容和 AI 输出)
  • Cost:是(AI 调用消耗)

API 设计

  1. CAPI:
    • 创建 LearningSession(基于 KnowledgeItem)
    • 提交主动回忆内容
    • 获取 AI 分析结果
    • 获取 FocusItem 列表
    • 完成 LearningSession
    • 学习历史列表

Domain Event 设计

  • LearningSessionStarted
  • ActiveRecallSubmitted
  • AIAnalysisCompleted(核心事件,触发 ReviewCard 生成)
  • FocusItemGenerated
  • LearningSessionCompleted

事件约束

AIAnalysisCompleted 事件是模块边界的关键:

  • Learning Engine 发布此事件,附带分析结果和关联的 KnowledgeItem ID
  • Review Engine 订阅此事件,生成或更新 ReviewCard
  • Learning Engine 不直接操作 Review 表

交付检查

  • 是否需要 Prisma migration:是
  • 是否需要 MySQL:是
  • 是否需要 BullMQ:是
  • 是否需要 AI Gateway:是
  • 是否需要 Content Safety:是
  • 是否需要 Cost 记录:是
  • 是否需要 Domain Event:是
  • 是否需要 Admin 视图:否(由 Knowledge Ops 和 Admin Data View 覆盖)
  • 是否需要 E2E/集成测试:是

验收标准

  1. LearningSession 状态机设计
  2. 主动回忆 + AI 诊断的完整交互流程
  3. AIAnalysisResult 数据结构设计(正确点/遗漏点/误区/改进建议)
  4. FocusItem 生成策略
  5. AIAnalysisCompleted 事件定义和 payload 设计
  6. 与 Review Engine 的事件对接方案
  7. 集成测试覆盖完整学习流程和事件发布

禁止事项

  • 禁止 Learning Engine 直接操作 Review 表
  • 禁止 AI 分析同步阻塞用户(应异步通过 BullMQ,前端轮询或 WebSocket 获取结果)
  • 禁止 AI 分析结果不经过 Content Safety
  • 禁止跳过 AIAnalysisCompleted 事件的发布

不建议当前阶段实现

  • 自适应学习路径
  • 学习风格检测
  • 多人协作学习
  • 语音输入主动回忆
## 目标 设计知习学习引擎模块,为 C 端用户提供基于知识点的主动回忆学习、AI 诊断分析和 FocusItem 生成能力。 本 Issue 只做模块架构设计,不直接实现代码。 ## 背景说明 知习的核心理念是"让用户真正学会",而不是替用户总结。用户打开一个 KnowledgeItem 后,进入 LearningSession,进行主动回忆(用自己的话复述知识点),AI 对用户的回答进行诊断(正确点、遗漏点、误区),生成 FocusItem(需要重点关注的薄弱环节),并记录学习活动。 关键约束:Learning Engine 不直接操作 Review 表。它发布 AIAnalysisCompleted 事件,Review Engine 订阅此事件生成 ReviewCard。这保护了模块边界。 ## 模块职责 1. 本模块负责: - LearningSession 管理(创建、进行中、完成状态) - 主动回忆流程(展示知识点 → 用户输入回忆内容 → 提交) - AI 诊断(通过 AI Gateway 分析用户回答:正确点/遗漏点/误区/改进建议) - FocusItem 生成(基于 AI 诊断结果,生成需要重点关注的薄弱项) - 学习活动记录(Reading/Recalling/Analyzing 等活动类型) - 学习总结(SessionSummary) - 发布 AIAnalysisCompleted 事件(供 Review Engine 消费) 2. 本模块不负责: - 直接操作 Review 表或生成 ReviewCard(由 Review Engine 通过事件订阅完成) - 知识点管理(走 Artifact & KnowledgeItem) - 复习调度(走 Review Engine) - 学习统计和趋势(走 Growth & Retention) ## 核心链路 READ_CONTENT → ACTIVE_RECALL → AI_ANALYSIS → GENERATE_FOCUS_ITEMS → RECORD_ACTIVITY ## 候选数据对象 - LearningSession - LearningSessionItem(会话中涉及的 KnowledgeItem) - ActiveRecallAnswer(用户主动回忆内容) - AIAnalysisResult(AI 诊断结果:正确点/遗漏点/误区/改进建议) - FocusItem(薄弱环节,重点关注项) - LearningActivity(学习活动记录) - SessionSummary(学习总结) ## 基础设施依赖判断 - MySQL:是 - Redis:否 - BullMQ:是(AI 分析异步执行) - Qdrant:否 - AI Gateway:是(AI 诊断调用) - Content Safety:是(用户输入内容和 AI 输出) - Cost:是(AI 调用消耗) ## API 设计 1. CAPI: - 创建 LearningSession(基于 KnowledgeItem) - 提交主动回忆内容 - 获取 AI 分析结果 - 获取 FocusItem 列表 - 完成 LearningSession - 学习历史列表 ## Domain Event 设计 - LearningSessionStarted - ActiveRecallSubmitted - AIAnalysisCompleted(核心事件,触发 ReviewCard 生成) - FocusItemGenerated - LearningSessionCompleted ## 事件约束 AIAnalysisCompleted 事件是模块边界的关键: - Learning Engine 发布此事件,附带分析结果和关联的 KnowledgeItem ID - Review Engine 订阅此事件,生成或更新 ReviewCard - Learning Engine 不直接操作 Review 表 ## 交付检查 - [ ] 是否需要 Prisma migration:是 - [ ] 是否需要 MySQL:是 - [ ] 是否需要 BullMQ:是 - [ ] 是否需要 AI Gateway:是 - [ ] 是否需要 Content Safety:是 - [ ] 是否需要 Cost 记录:是 - [ ] 是否需要 Domain Event:是 - [ ] 是否需要 Admin 视图:否(由 Knowledge Ops 和 Admin Data View 覆盖) - [ ] 是否需要 E2E/集成测试:是 ## 验收标准 1. LearningSession 状态机设计 2. 主动回忆 + AI 诊断的完整交互流程 3. AIAnalysisResult 数据结构设计(正确点/遗漏点/误区/改进建议) 4. FocusItem 生成策略 5. AIAnalysisCompleted 事件定义和 payload 设计 6. 与 Review Engine 的事件对接方案 7. 集成测试覆盖完整学习流程和事件发布 ## 禁止事项 - 禁止 Learning Engine 直接操作 Review 表 - 禁止 AI 分析同步阻塞用户(应异步通过 BullMQ,前端轮询或 WebSocket 获取结果) - 禁止 AI 分析结果不经过 Content Safety - 禁止跳过 AIAnalysisCompleted 事件的发布 ## 不建议当前阶段实现 - 自适应学习路径 - 学习风格检测 - 多人协作学习 - 语音输入主动回忆
wangdl added this to the M3:学习复习闭环(P2) milestone 2026-05-22 21:09:50 +08:00
wangdl self-assigned this 2026-05-22 21:09:50 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#29
No description provided.