2025年之前,教育 AI 经历了两个阶段:
第一阶段:问答机器人时代。ChatGPT、Claude 等通用大模型可以回答任何问题,但它们没有「记忆」——每次对话都是全新开始,你昨天学了什么、今天该复习什么,它一无所知。
第二阶段:RAG 增强时代。各种「知识库问答」系统涌现,可以基于上传的 PDF 教材进行检索。但它们仍然是「被动工具」——你问它答,没有主动性,没有教学策略,更不会「教」你。
2026年4月,香港大学数据科学研究所(HKUDS)开源的 DeepTutor v1.0.0 标志着教育 AI 正式进入第三阶段:Agent-Native 时代。这不是一个简单的升级,而是从底层架构的彻底重构——DeepTutor 不再是一个「带知识库的问答工具」,而是一个拥有持久记忆、主动教学策略、多实例人格、Agent 原生 CLI 的「智能体导师生态系统」。
14,678 个 Star,39 天破万,这是开源社区对这个范式转变的投票。
传统的「教育 AI」通常是这样的架构:
用户输入 → LLM → [可选 RAG 检索] → 输出回答
这个架构有几个致命问题:
- 无状态:每次对话独立,没有长期记忆
- 被动:只会回应,不会主动推送学习计划
- 单一:一个模型服务所有人,无法个性化
- 工具化:只是「带 AI 的工具」,而非「AI 主体」
DeepTutor v1.0.0 的架构是这样的:
┌─────────────────────────────────┐
│ Persistent Memory │ │ (Profile + Summary + Context) │ └─────────────────────────────────┘ ▲ │ ┌───────────────────────────┼───────────────────────────┐ │ │ │ ▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ TutorBot A │ │ TutorBot B │ │ TutorBot C │ │ (Socratic) │ │ (Encourager) │ │ (Rigorous) │ │ │ │ │ │ │ │ ┌─────────┐ │ │ ┌─────────┐ │ │ ┌─────────┐ │ │ │ Memory │ │ │ │ Memory │ │ │ │ Memory │ │ │ │ Skills │ │ │ │ Skills │ │ │ │ Skills │ │ │ │ Tools │ │ │ │ Tools │ │ │ │ Tools │ │ │ └─────────┘ │ └─────────┘ │ │ └─────────┘ │ └───────────────┘ └───────────────┘ └───────────────┘
│ │ │ └───────────────────────────┼───────────────────────────┘ │ ▼ ┌─────────────────────────────────┐ │ Shared Knowledge Hub │ │ (Knowledge Bases + Notebooks) │ └─────────────────────────────────┘
核心差异:
DeepTutor 引入了创新的两层插件架构:
# Tools 层:原子能力(可组合) tools = [
"rag_retrieval", # RAG 检索 "web_search", # 网络搜索 "code_execution", # 代码执行 "paper_search", # 学术论文搜索 "deep_reasoning", # 深度推理 "brainstorming", # 头脑风暴
]
Capabilities 层:工作流编排(组合 Tools)
capabilities = [
"chat", # 工具增强对话 "deep_solve", # 多智能体问题求解 "quiz_generation", # 测验生成 "deep_research", # 深度研究 "math_animator", # 数学动画生成
]
设计哲学:Tools 是可组合的原子,Capabilities 是预定义的编排。用户在每个 Capability 中自由选择启用哪些 Tools。
大多数教育产品把「聊天」、「测验」、「研究」做成独立功能:
[聊天] → 独立页面,历史记录独立 [测验] → 独立页面,不记得刚才聊了什么 [研究] → 独立页面,上下文丢失
用户被迫在多个页面间跳转,上下文断裂。
DeepTutor 的五种模式共享同一个上下文:
# 场景:学习傅里叶变换
第一步:Chat 模式快速提问
user: "傅里叶变换是什么?" deeptutor[chat]: [解释傅里叶变换,启用了 rag + web_search]
第二步:升级到 Deep Solve 深入理解
user: "我还是不太明白,能推导一下吗?" deeptutor[deep_solve]:
- [Plan] 分解问题:三角函数基础 → 欧拉公式 → 傅里叶级数 → 积分变换
- [Investigate] 每一步搜索相关材料
- [Solve] 逐步推导
- [Verify] 验证理解
第三步:生成测验检验
user: "给我出几道题测试一下" deeptutor[quiz_generation]: [基于刚才的推导生成测验]
第四步:Deep Research 延伸
user: "傅里叶变换在图像处理中怎么用?" deeptutor[deep_research]:
- 分解子主题:频域滤波、图像压缩、边缘检测
- 并行研究各子主题
- 生成带引用的研究报告
全程:上下文保持
所有模式共享同一个对话线程,知识库引用、历史消息、学习进度全部贯通
关键创新:工具与工作流解耦。每个模式中,用户可以自由选择启用哪些工具——这是「Agent-Native」的体现:不是固定功能的工具,而是可编排的智能体能力。
Chatbot 的本质:被动响应器。你问它答,不问不响。
TutorBot 的本质:自主导师。它有:
- 独立的 Memory(记忆你的学习历史)
- 独立的 Personality(可定制的教学人格)
- 独立的 Skills(可扩展的能力集)
- Heartbeat(主动发起交互的能力)
# 创建一个苏格拉底式数学导师 deeptutor bot create math-tutor –persona "Socratic math teacher who uses probing questions to guide students"
创建一个耐心的写作教练
deeptutor bot create writing-coach –persona "Patient, detail-oriented writing mentor"
查看所有活跃的 TutorBot
deeptutor bot list
每个 TutorBot 拥有:
- 独立工作空间:
~/.deeptutor/bots/math-tutor/ - 独立配置:
config.yaml - 独立记忆:
memory/profile.json+memory/summary.json - 独立技能:
skills/目录
DeepTutor 内置了三种教学人格模板:
Socratic(苏格拉底式):
# ~/.deeptutor/bots/math-tutor/soul.yaml persona: name: "苏格拉底" style: "提问引导" philosophy: |
不直接给答案,通过提问让学生自己发现真理。 每个问题都应该让学生思考,而非被动接受。
tone: "温和、启发、耐心"
Encouraging(鼓励式):
persona: name: "小艾" style: "积极反馈" philosophy: |
每一个小进步都值得肯定。 用正面反馈建立学习信心,降低挫折感。
tone: "温暖、支持、热情"
Rigorous(严谨式):
persona: name: "严师" style: "严格要求" philosophy: |
概念必须清晰,推导必须完整。 不放过任何模糊之处,追求理解的精确性。
tone: "严肃、精确、专业"
这是 TutorBot 与 Chatbot 的根本区别:
# TutorBot 的 Heartbeat 机制
在 ~/.deeptutor/bots/math-tutor/config.yaml 中配置
heartbeat: enabled: true interval: "daily" # 或 cron 表达式 actions:
- type: "study_reminder" message: "今天还没复习线性代数,需要我帮你回顾一下吗?" - type: "quiz_check" # 自动检测学习进度,适时推送小测验 - type: "review_suggestion" # 基于遗忘曲线,建议复习特定知识点
效果:你的数学导师会在每天固定时间主动提醒你学习,而不是等你来问。
TutorBot 可以连接到多个平台:
# 连接到 Telegram deeptutor bot connect math-tutor –channel telegram –token "YOUR_BOT_TOKEN"
连接到 Discord
deeptutor bot connect math-tutor –channel discord –webhook "WEBHOOK_URL"
连接到飞书
deeptutor bot connect math-tutor –channel feishu –app-id "xxx" –app-secret "xxx"
支持的通道
channels = ["telegram", "discord", "slack", "feishu", "wechat_work", "dingtalk", "email"]
意义:你的导师不只是坐在 DeepTutor 网页里,它可以在你常用的任何平台上与你互动。
# 创建知识库 deeptutor kb create linear-algebra –doc textbook.pdf
增量添加文档
deeptutor kb add linear-algebra –doc notes.md deeptutor kb add linear-algebra –doc exercises.pdf
支持的格式
formats = ["pdf", "txt", "md"]
后端:RAG Pipeline 可选
pipelines = ["mineru", "docling", "rag-anything"]
Notebooks 是「彩色笔记本」的数字化:
# 创建笔记本 notebook = deeptutor.notebook.create(
name="线性代数笔记", color="blue"
)
从 Chat 保存洞察
deeptutor.chat.save_to_notebook(
message_id="msg_xxx", notebook_id=notebook.id
)
从 Deep Research 保存报告
deeptutor.research.save_to_notebook(
report_id="report_xxx", notebook_id=notebook.id
)
从 Guided Learning 保存学习记录
deeptutor.guided.save_progress(
session_id="session_xxx", notebook_id=notebook.id
)
DeepTutor 的知识库不是被动存储:
# 传统 RAG user → query → retrieval → response
知识库只在查询时被激活
DeepTutor 的知识库
1. 在 Chat 中被引用
2. 在 Quiz Generation 中作为素材
3. 在 Deep Research 中作为来源
4. 在 Guided Learning 中构建学习路径
5. 在 TutorBot 中作为背景知识
6. 在 Memory 中影响 Profile 建设
知识库是 DeepTutor 的「第二大脑」,参与所有功能的运作。
class PersistentMemory:
""" DeepTutor 的记忆系统 """ def __init__(self): self.summary = Summary() # 学习进度摘要 self.profile = Profile() # 学习者画像
class Summary:
""" 学习进度摘要:你学了什么 """ def __init__(self): self.topics_studied = [] # 学习过的主题 self.progress_timeline = {} # 进度时间线 self.milestones = [] # 里程碑
class Profile:
""" 学习者画像:你是谁 """ def __init__(self): self.preferences = self.knowledge_level = {} # 各领域知识水平 self.goals = [] # 学习目标 self.communication_style = { # 沟通风格偏好 "formality": "casual", "detail_level": "moderate" }
# 每次交互,记忆都在进化
第一次对话
user: "我想学机器学习" memory.summary.add_topic("机器学习") memory.profile.goals.append("掌握机器学习基础")
第十次对话
user: "我还是不太理解梯度下降" memory.summary.record_difficulty("梯度下降") memory.profile.knowledge_level["机器学习"] = "beginner"
↓ 下次对话,TutorBot 会自动调整解释方式
第五十次对话
user: "我想学 Transformer" memory.summary.progress_timeline["transformer"] = "started"
↓ DeepTutor 知道你已经有神经网络基础,会跳过基础概念
# 你有一个数学导师和一个写作教练 math_tutor = TutorBot("math-tutor") writing_coach = TutorBot("writing-coach")
它们共享同一个 Memory
assert math_tutor.memory == writing_coach.memory
这意味着:
1. 数学导师知道你正在写一篇机器学习论文
2. 写作教练知道你在学习线性代数
3. 跨领域的学习可以被关联起来
大多数 AI 教育产品是 Web UI 优先的——这意味着:
- 只有「人」能操作它们
- AI Agent 无法自动化使用它们
- 无法集成到自动化工作流中
DeepTutor 是 CLI 原生 的:
# 所有功能都可以通过命令行操作
这意味着 AI Agent 可以通过 SKILL.md 理解并操作 DeepTutor
DeepTutor 项目根目录有一个 SKILL.md:
# DeepTutor Skill
Description
DeepTutor is an agent-native personalized learning assistant.
Capabilities
- chat: Tool-augmented conversation
- deep_solve: Multi-agent problem solving
- quiz_generation: Generate assessments
- deep_research: Decompose and research topics
- math_animator: Visualize math concepts
CLI Commands
…
Knowledge Base Operations
…
使用场景:
# 将 SKILL.md 交给任何支持工具调用的 Agent
例如 nanobot
nanobot –skill ./SKILL.md "帮我创建一个苏格拉底式的物理导师"
↓ nanobot 会:
1. 阅读 SKILL.md 理解 DeepTutor 的能力
2. 调用 deeptutor bot create 创建导师
3. 配置 personality 和 skills
4. 返回导师 ID
# 启动交互式会话 deeptutor chat
REPL 内可实时切换模式
(chat) > Explain Fourier transform (chat) > /mode deep_solve (deep_solve) > Prove that √2 is irrational (deep_solve) > /mode quiz (quiz) > Generate 5 questions about irrational numbers (quiz) > /mode research (research) > Research irrational numbers in mathematics history
# 单次执行,适合脚本调用 deeptutor run chat "Explain the Fourier transform" -t rag –kb textbook deeptutor run deep_solve "Prove that √2 is irrational" -t reason deeptutor run deep_question "Linear algebra" –config num_questions=5 deeptutor run deep_research "Attention mechanisms in transformers"
# JSON 输出,供其他程序解析 deeptutor run chat "Explain CNN" –output json
{ "response": "CNN (Convolutional Neural Network) is…", "sources": [
{"type": "rag", "doc": "textbook.pdf", "page": 42}, {"type": "web", "url": "https://..."}
], "tools_used": ["rag_retrieval", "web_search"], "memory_updates": }
你有一本 PDF 教材,但:
- 不知道从哪里开始
- 不知道哪些章节重要
- 读完后不知道学会了什么
- 没有人给你设计学习路径
# 输入:一个主题 + 可选的知识库 session = deeptutor.guided.create(
topic="Linear Algebra Basics", notebooks=["linear-algebra-notes"]
)
DeepTutor 自动:
1. 分析知识库内容
2. 设计 3-5 步学习计划
3. 为每一步生成交互式 HTML 页面
学习计划示例
plan = [
{ "step": 1, "title": "向量与向量空间", "knowledge_points": [ "向量的定义与表示", "向量加法与数乘", "向量空间的定义" ] }, { "step": 2, "title": "矩阵与矩阵运算", "knowledge_points": [...] }, ...
]
每一步都是交互式页面
包含:解释、图示、示例、边聊边问
# 在 Guided Learning 页面中
每一步都有内嵌的 Chat 窗口
user: "这里的向量空间定义和群论里的群有什么关系?" deeptutor: [结合当前步骤内容 + 知识库 + 网络搜索进行解答]
对话会被记录到 Notebook
学习进度会被更新到 Memory
# 完成所有步骤后 summary = deeptutor.guided.get_summary(session.id)
print(summary)
输出:
你已经学习了:
- 向量与向量空间(掌握)
- 矩阵与矩阵运算(掌握)
- 线性变换(部分理解,建议复习)
建议下一步:
- 深入学习特征值与特征向量
- 练习矩阵分解
大多数 AI 写作工具是「侧边栏模式」:
[主编辑区] [AI 侧边栏] 你的文本 AI 对话框
↓ AI 回答
问题:
- AI 是「外挂」,不是「协作者」
- 需要复制粘贴来回切换
- 写作和 AI 对话是分离的
Co-Writer 是一个 AI 原生 Markdown 编辑器:
# 我的机器学习笔记
什么是神经网络
神经网络是一种模拟人脑的计算模型… ← 选中这段文字
[弹出 AI 操作菜单]
- Rewrite(重写)
- Expand(扩展)
- Shorten(精简)
- Explain(解释)
↓ 选择 "Expand",AI 基于知识库扩展
神经网络是一种模拟人脑的计算模型。它由多个神经元组成, 每个神经元接收输入、进行加权求和、通过激活函数输出… [来源:textbook.pdf 第15章]
# Co-Writer 可以引用知识库
写作时会自动检索相关内容
你在写:线性回归的损失函数是…
AI 自动补充: 线性回归的损失函数是均方误差(MSE): J(θ) = (1/2m) Σ(h_θ(x^(i)) - y^(i))²
其中 h_θ(x) 是假设函数,m 是样本数量… [来源:machine-learning-notes.pdf]
# 你在 Co-Writer 中写的任何内容
都可以保存到 Notebook
成为知识库的一部分
这形成了一个闭环:
学习 → [知识库] → Co-Writer 写作 → [Notebook] → [知识库] → 下次学习
Frontend: Next.js 16 + React 19 Backend: FastAPI (Python 3.11+) Database: SQLite (可切换 PostgreSQL/MySQL) Vector Store: ChromaDB / FAISS Embedding: 多提供商支持 LLM: 多提供商支持 RAG Pipeline: MinerU / Docling / RAG-Anything Animation: Manim (数学动画) Agent Framework: nanobot
# LLM 提供商(30+) providers = [
"openai", "anthropic", "azure_openai", "deepseek", "dashscope", "zhipu", "gemini", "groq", "mistral", "ollama", "openrouter", "siliconflow", "volcengine", ...
]
配置示例
LLM_BINDING=openai LLM_MODEL=gpt-4o-mini LLM_API_KEY=sk-xxx LLM_HOST=https://api.openai.com/v1
# 三种 RAG Pipeline 可选
1. MinerU(推荐)
高质量 PDF 解析,支持复杂布局
2. Docling
轻量级,快速解析
3. RAG-Anything
统一接口,支持多种文档格式
配置
RAG_PIPELINE=mineru # 或 docling, rag-anything
# 官方镜像(推荐) docker compose -f docker-compose.ghcr.yml up -d
镜像地址
ghcr.io/hkuds/deeptutor:latest
支持 linux/amd64 和 linux/arm64
数据持久化
volumes:
- ./data/user:/app/data/user # 用户数据
- ./data/knowledge_bases:/app/data/knowledge_bases # 知识库
特性DeepTutor传统 RAG 问答通用 ChatGPT专业教育 AI 持久记忆✅ Profile + Summary❌ 无❌ 会话级⚠️ 有限 主动性✅ Heartbeat❌ 被动❌ 被动⚠️ 提醒 多人格导师✅ TutorBot 多实例❌ 单一❌ 单一⚠️ 预设 CLI 原生✅ 完整 CLI❌ Web 优先⚠️ API❌ Web 工作流编排✅ 5 种模式❌ 单一对话❌ 单一对话⚠️ 有限 知识组织✅ KB + Notebooks⚠️ 仅 KB❌ 无⚠️ 有限 AI Agent 集成✅ SKILL.md❌⚠️ API❌ 开源✅ Apache-2.0⚠️ 部分❌❌
# 创建一个严格的编程导师 deeptutor bot create coding-tutor –persona "Rigorous programming mentor focused on best practices"
上传学习资料
deeptutor kb create golang –doc "Go语言圣经.pdf"
Guided Learning 模式学习
deeptutor guided create "Go Concurrency" –kb golang
# Deep Research 模式 deeptutor run deep_research "Attention mechanisms in transformers" –kb ml-papers –output json > research_report.json
# Quiz Generation 模式 deeptutor run quiz_generation "Linear Algebra Final" –kb textbook –config num_questions=50,difficulty=hard
# 创建共享知识库 deeptutor kb create company-wiki –doc "onboarding.pdf" –doc "wiki.md"
为每个新员工创建 TutorBot
deeptutor bot create onboarding-bot –persona "Friendly onboarding guide" –kb company-wiki
Stars: 14,678+ Forks: 1,970+ Contributors: 50+ Discord 成员: 2000+ 微信社群: 500+
2026.4.4 v1.0.0 Agent-Native 重构,TutorBot,CLI 原生 2026.1.23 v0.6.0 会话持久化,中文本地化 2026.1.15 v0.5.0 RAG Pipeline 可选,问题生成重构 2026.1.9 v0.4.0 多提供商支持,Docker 镜像 2026.1.2 v0.2.0 Docker 部署,安全加固 2025.12.29 v0.1.0 首次发布
根据 GitHub Discussions 和 Issue 追踪:
- 多模态学习:视频、音频内容支持
- 协作学习:多人共享 TutorBot
- 评估体系:自适应学习效果评估
- 移动端:原生 App
- 企业版:SSO、权限管理、审计日志
DeepTutor v1.0.0 代表了教育 AI 的一个重要节点:
从「工具」到「智能体」:不再是被动的问答工具,而是主动的智能导师。
从「单次交互」到「持久关系」:DeepTutor 会记住你,了解你,随着你的成长而进化。
从「Web UI」到「CLI 原生」:AI Agent 可以直接操作 DeepTutor,实现教育流程的自动化。
从「单一功能」到「生态系统」:Chat、Deep Solve、Quiz、Research、Guided Learning 形成完整的学习闭环。
从「通用的 AI」到「个性化 TutorBot」:你可以创建专属的导师,定义它的教学人格,让它在你常用的平台上陪伴你。
这不仅仅是功能的堆叠,而是教育 AI 从「可以用」到「真正有用」的质变。
当 AI 导师可以主动提醒你学习、记住你的偏好、适应你的节奏、在 Telegram 上找到你——教育终于从「工业化批量生产」走向了「个性化陪伴」。
# 克隆仓库 git clone https://github.com/HKUDS/DeepTutor.git cd DeepTutor
创建环境
conda create -n deeptutor python=3.11 && conda activate deeptutor
启动引导式安装
python scripts/start_tour.py
或 Docker 一键启动
docker compose -f docker-compose.ghcr.yml up -d
访问 http://localhost:3782,开始你的个性化学习之旅。
- DeepTutor GitHub
- nanobot Agent Framework
- HKUDS 香港大学数据科学研究所
- Discord 社区
字数:约 12500 字
选题来源:GitHub Trending
发布时间:2026-04-10
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/255667.html