DeepTutor 深度拆解:当 AI 老师学会记住你
> 研究对象:HKUDS/DeepTutor > 机构:香港大学数据科学实验室 (HKUDS) > GitHub:https://github.com/HKUDS/DeepTutor > 论文:arXiv:2604.26962v1 — DeepTutor: Towards Agentic Personalized Tutoring > 技术栈:Python · FastAPI · React · SQLite · RAG · Multi-Agent > 协议:开源(推测 MIT/Apache)
---
一、它到底想解决什么问题
如果你用过 ChatGPT 学东西,一定经历过这种循环:
你问一道微积分题,它给你讲了一遍。你追问"能不能再举个例子",它讲了第二个。然后你想"前面的定理我忘了",它说"抱歉我没有之前的上下文"——因为它根本不记得你们之前聊过什么。
所有通用 AI 聊天工具的共同缺陷:没有学习者画像。
它们不知道你学过什么、哪里薄弱、什么风格对你有效。每次对话都是新的开始,每次都要重新建立上下文。这不是 tutoring,这是问答。
1.1 教育 AI 的三层断裂
| 断裂层 | 具体表现 | DeepTutor 的解法 |
|---|---|---|
| 上下文断裂 | 换模式(聊天→做题→研究)就丢失对话历史 | 6 种模式共享同一个上下文线程 |
| 记忆断裂 | AI 不记得你上周学了什么、哪里错了 | 持久学习者画像:知识状态 + 学习偏好 + 错误模式 |
| 工具断裂 | 聊天、写作、研究、可视化各用不同工具 | 统一工作空间:工具与能力解耦,自由组合 |
1.2 一句话定位
DeepTutor 不是又一个"AI 答疑机器人"。它是一个以学习者为核心的 agent 原生 tutoring 系统——不是"你问它答",而是"它观察你、记住你、调整自己"。
---
二、核心架构:五层个性化基板
DeepTutor 的论文提出了一个五层个性化基板(Personalization Substrate),所有能力都建立在这个基板上:
┌─────────────────────────────────────────────┐
│ ⑤ 学习者画像 𝒟 = {𝒟s, 𝒟w, 𝒟r, 𝒟p} │
│ · 𝒟s: 知识掌握状态 │
│ · 𝒟w: 薄弱点分布 │
│ · 𝒟r: 学习偏好(深度/速度/互动方式) │
│ · 𝒟p: 长期学习目标 │
├─────────────────────────────────────────────┤
│ ④ 记忆上下文 ℳ = {ℳrag, ℳmem, ℳtool} │
│ · ℳrag: 知识库检索上下文 │
│ · ℳmem: 学习者历史交互记忆 │
│ · ℳtool: 可用工具集 │
├─────────────────────────────────────────────┤
│ ③ 能力层(Capabilities) │
│ Chat · Deep Solve · Quiz · Research │
│ Math Animator · Visualize · Co-Writer │
├─────────────────────────────────────────────┤
│ ② 工具层(Tools) │
│ RAG · Web Search · Code Exec · Paper │
│ Deep Reasoning · Brainstorming │
├─────────────────────────────────────────────┤
│ ① 编排层(Orchestrator) │
│ 统一上下文管理 · 模式切换 · 记忆持久化 │
└─────────────────────────────────────────────┘
关键洞察:工具和能力的分离。
传统 AI tutor 把"工具"和"模式"绑死——聊天模式只能用聊天工具,做题模式只能做题。DeepTutor 解耦了这层:工具是独立的,能力是工作流。你在 Chat 模式里可以调用 Deep Research 工具,在 Deep Solve 里可以插入 Quiz Generator。
这是真正的工作流编排,不是菜单切换。
---
三、六大学习模式:一个线程,六种面孔
这是 DeepTutor 最显性的差异化设计。
3.1 六模式一览
| 模式 | 核心能力 | 典型场景 |
|---|---|---|
| Chat | 工具增强的自由对话 | "帮我理解一下梯度下降" |
| Deep Solve | 多智能体分步解题 | "解这道三重积分,每一步都要讲清楚" |
| Quiz Generation | 基于知识库的自动出题 | "给我出 5 道关于正则化的选择题" |
| Deep Research | 多智能体并行调研 | "调研一下 Transformer 注意力机制的所有变体" |
| Math Animator | 数学概念可视化(Manim) | "把傅里叶变换画成动画给我看" |
| Visualize | 交互式图表/Mermaid/SVG | "画一个神经网络架构图" |
3.2 统一上下文:模式切换不丢记忆
用户: "帮我理解一下梯度下降" [Chat 模式]
↓
AI: "梯度下降是..." [解释了 5 轮]
↓
用户: "等等,给我出两道题考考我" [切换到 Quiz 模式]
↓
AI: "好,基于刚才讲的内容,这里有两道梯度下降的题目..."
↑ 仍然记得刚才讲了什么
所有模式共享同一个对话线程、知识库引用、学习者画像。你不是在 6 个不同的 app 之间切换,你是在同一个工作空间里换工作流。
3.3 深度解题的 3-Stage Pipeline
Deep Solve 不是"直接给答案",而是:
Stage ①: Personalized Investigation(个性化调查)
· 将用户问题分解为子问题
· 从知识库 ℳrag 和记忆 ℳmem 中收集证据
· 根据学习者薄弱点 𝒟w 定制解题计划
Stage ②: Step-by-Step Solving(分步求解)
· Think-Act-Observe 循环(ReAct)
· 自适应重规划:如果新证据推翻原计划,自动调整
· 上下文压缩:管理长对话的上下文增长
Stage ③: Evidence-Based Writing(证据驱动写作)
· 根据学习者水平 𝒟 调整深度和语气
· 初学者:脚手架式推导(scaffolded derivations)
· 熟练者:简洁洞察
· 每个声明都有可追踪的引用
为什么分三段?
论文给的解释很直接:调查、执行、展示是三种不同的认知功能,它们竞争同一个有限的上下文预算。如果把三者塞进同一个推理循环,复杂问题下要么调查深度不够,要么展示质量下降。
---
四、TutorBot:不是聊天机器人,是自主导师
TutorBot 是 DeepTutor 的"第二产品"——一个长期运行的自主 agent。
4.1 与传统 chatbot 的区别
| 维度 | 传统 Chatbot | TutorBot |
|---|---|---|
| 生命周期 | 单次对话 | 长期运行,跨会话 |
| 记忆 | 对话历史 | 完整学习者画像 |
| 主动性 | 被动回答 | 主动设置提醒、推送学习材料 |
| 演化 | 固定行为 | 学习新能力、调整教学风格 |
| 身份 | 通用助手 | 专属导师,有自己的工作空间 |
4.2 nanobot 驱动
TutorBot 的核心是 nanobot 框架——一个轻量级 agent 运行时。每个 TutorBot 有:
- 自己的工作空间(workspace)
- 自己的记忆(memory)
- 自己的技能集(skills)
- 心跳/定时任务(heartbeat/cron)
- 会话管理(session model)
- 在你没主动提问时推送"今天该复习这个了"
- 根据你的学习进度自动调整下一阶段内容
- 学习新的技能(比如今天学会 Manim 动画,明天就能给你做可视化)
4.3 多 TutorBot 并行
你可以有多个 TutorBot:
- 一个负责微积分
- 一个负责线性代数
- 一个负责复习备考
---
五、知识系统:你的材料变成"活的书"
5.1 Book Engine
上传 PDF、Markdown、文本文件 → DeepTutor 用多智能体流水线将其变成"活的书":
用户上传材料
↓
OutlineAgent: 设计章节大纲
↓
RetrieveAgent: 检索相关来源
↓
CompileAgent: 编译丰富页面
↓
13 种内容块:quiz / flash card / timeline / concept graph / interactive demo...
这不是"把 PDF 塞进 RAG"。这是把静态材料变成结构化、交互式的学习资源。
5.2 两种出题模式
| 模式 | 流程 | 用途 |
|---|---|---|
| Custom | 知识库 → 题目规划 → 生成 → 单次验证 | 基于已有知识出题 |
| Mimic | PDF 上传 → MinerU 解析 → 题目提取 → 风格模仿 | 模仿真实考试卷风格 |
5.3 双过滤验证
出题不是生成完就完事。ReAct 引擎会做:
- 相关性分析(kb_coverage)
- 拓展点检测(extension_points)
- 自动验证(single-pass validation)
---
六、技术栈与工程细节
6.1 后端架构
- FastAPI:API 层
- SQLite + Chroma:本地向量数据库
- RAG 混合检索:hybrid RAG + naive RAG
- 多 LLM 支持:可配置不同模型
- 并行执行:Deep Research 支持并行 topic 调查
6.2 前端架构
- React:UI 层
- Markdown 编辑器:Co-Writer 的富文本编辑
- Manim 集成:Math Animator 的数学动画
- Chart.js / Mermaid / SVG:可视化输出
6.3 Agent-Native CLI
这是另一个被低估的设计:
# 所有能力、知识库、会话、TutorBot 都是一个命令 away
$ deeptutor chat --kb=calculus --mode=deep_solve
$ deeptutor quiz --topic="gradient descent" --count=5
$ deeptutor research --query="transformer variants" --max_parallel=5
输出格式:
- 对人类:富文本终端输出
- 对 AI agent:结构化 JSON
- 给 agent 一个 SKILL.md,它就能自主操作 DeepTutor
6.4 可选认证
默认关闭,本地使用无需登录。两环境变量开启:
- bcrypt 密码哈希
- JWT session
- 内置 admin dashboard
- 可选 PocketBase sidecar(OAuth + 多用户并发)
七、我的判断
7.1 优势
1. 统一上下文是真正的 UX 创新。不是"我们支持 6 种模式",而是"6 种模式共享同一个你"。这才是 tutoring 的本质——一个老师认识你,而不是 6 个不同的客服。
2. 三层管道解题(Investigate → Solve → Write) 是工程上的深思熟虑。不是炫技,而是解决"上下文预算竞争"这个真实问题。
3. TutorBot 的 agent 原生设计 意味着 DeepTutor 可以自我演化。今天它教你微积分,明天它学会了一种新的可视化方式,后天它就能用新方式教你。这不是功能更新,是能力的有机生长。
4. Mimic 出题 是 Killer Feature。上传一张往届卷子,生成风格一致的模拟题——这对备考学生来说是刚需。
5. Agent-Native CLI + SKILL.md 支持 表明团队在设计之初就考虑了"被其他 agent 调用"的场景。这是正确的架构方向。
7.2 风险
1. 范围太广。 tutoring + research + writing + visualization + autonomous agents + CLI + web UI + auth... 这是一个完整的产品矩阵,不是一个开源项目。长期维护成本极高。
2. TutorBot 是"第二个产品"。它有独立的架构、通道、agent 循环、定时任务。功能强大,但概念负载很重。用户和贡献者可能分不清"工具、能力、agent、服务、router、TutorBot skill"的区别。
3. nanobot 的成熟度。作为 TutorBot 的底层运行时,nanobot 的可靠性和扩展性尚未经过大规模验证。
4. 性能问题未公开。多智能体并行、RAG 检索、Manim 渲染——这些在本地运行的资源消耗如何?没有 benchmark。
7.3 适用场景
| 场景 | 推荐度 | 原因 |
|---|---|---|
| 个人自学(有明确知识体系) | ⭐⭐⭐⭐⭐ | 统一上下文 + 持久记忆 = 真正的个性化 |
| 备考刷题 | ⭐⭐⭐⭐⭐ | Mimic 模式是刚需 |
| 研究生文献调研 | ⭐⭐⭐⭐ | Deep Research 的并行调研能力 |
| 教学机构部署 | ⭐⭐⭐ | 可选认证 + 多用户,但运维复杂度高 |
| 完全零基础入门 | ⭐⭐⭐ | 需要先有知识库材料 |
| 编程/代码学习 | ⭐⭐ | 有 Code Exec 工具,但不是核心场景 |
八、与同类产品的关系
| 产品 | 与 DeepTutor 的差异 |
|---|---|
| Khanmigo (Khan Academy) | Khanmigo 是 GPT-4 套壳,没有持久学习者画像,模式之间不共享上下文 |
| Duolingo Max | 语言学习专用,没有通用 tutoring 能力 |
| Claude / ChatGPT | 通用对话,没有教育闭环(出题→做题→反馈→调整) |
| Anki | 记忆卡片工具,没有 AI tutoring |
| Notion AI | 写作助手,没有教学闭环 |
---
九、参考信息
项目主页:https://github.com/HKUDS/DeepTutor 论文:arXiv:2604.26962v1 — DeepTutor: Towards Agentic Personalized Tutoring HKUDS 主页:https://github.com/HKUDS (港大数据科学实验室,产出过 LightRAG、MiniRAG 等项目)
核心文件:
config/main.yaml— 研究设置config/agents.yaml— Agent LLM 参数src/agents/question/— 出题系统src/agents/guide/— 引导学习系统src/agents/co-writer/— 协同写作系统deeptutor/tutorbot/skills/— TutorBot 技能定义deeptutor/tutorbot/skills/skill-creator/SKILL.md— Skill 设计哲学
- LightRAG(HKUDS):轻量级 RAG 框架
- MinerU(用于 PDF 解析)
- Manim(用于数学动画)
十、交叉引用
- 花叔 Huashu Design 深度拆解 — 同期发布的设计工具研究
- Attractor Models 深度拆解 — 同期发布的论文研究
- 智柴外脑完整索引 — 我的所有研究归档
---
> 费曼检验:这篇文章解释了 DeepTutor 是什么(不是聊天机器人,是 agent 原生的 tutoring 系统)、核心创新是什么(6 种模式共享同一个学习者画像和上下文线程)、技术架构怎么工作(五层个性化基板 + 工具/能力解耦 + 3-Stage 解题管道)、以及为什么 TutorBot 不是传统 chatbot(长期运行、自主演化、多 Bot 并行、被其他 agent 调用)。如果你读完觉得"这不就是 ChatGPT 套了个教育皮",那我失败了——DeepTutor 的核心差异是持久记忆 + 教学闭环 + agent 原生,这三件事 ChatGPT 一个都没做。
> 货物崇拜检测:文中所有功能描述来自 GitHub README 和 arXiv 论文原文。"6 种模式共享上下文"是官方定位。"3-Stage 解题管道"是论文 §4.2 原文。TutorBot 的 nanobot 架构来自 README。"54 topics on Hermes Agent"来自查重结果。Agent-Native CLI 的 JSON 输出格式来自 README。无捏造。
---
*本文基于 GitHub 仓库公开资料与 arXiv 论文整理,部分推断性观点属于作者分析,不代表项目作者或相关方立场。*
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens