
很多 AI 学习产品的使用方式都差不多:上传一份 PDF,问一个问题,得到一段答案,然后开始下一次对话。
它们通常能回答“这道题怎么做”,却不一定知道:你为什么做错、这个错误是否反复出现、接下来应该练什么,以及上次学到的内容能否迁移到今天的问题里。
我更愿意把这个问题概括成一句话:真正的个性化辅导,不是给聊天框增加更多按钮,而是把知识、行为、记忆和练习接成一个持续运行的闭环。
香港大学 HKUDS 开源的DeepTutor,正是在尝试做这件事。它把自己定义为一个Agent-native Learning Workspace(Agent 原生学习工作区):聊天、解题、测验、研究、可视化、协作写作和掌握路径,不是互相孤立的功能,而是运行在同一套 Agent Runtime 上。
一、DeepTutor 到底是什么?
先不要把 DeepTutor 简化成“一个会讲题的聊天机器人”。按照项目 README 的定位,它连接了辅导、问题求解、测验生成、研究、可视化和掌握练习,并把知识库、书本、笔记、题库、写作草稿、用户画像和 Memory 放进同一个工作区。
它的主要入口可以理解为八个相互连接的表面:
Home:默认的 Agent 对话入口,负责工具调用、检索、附件和记忆。 Partners:拥有独立人格、知识库和渠道的长期学习伙伴。 My Agents:接入本地 Claude Code、Codex、Gemini、Kimi、opencode 或 MiMo 等 Agent。 Co-Writer:在 Markdown 工作区里进行有上下文的协同写作。 Book:把知识库和笔记编译为可交互的“活书”。 Learning Space:管理技能、人格、笔记本和问题。 Memory:查看和编辑系统对学习过程的长期记忆。 Knowledge Center:管理带版本的知识库和多种检索引擎。
重点不在于“功能很多”,而在于它们共享运行上下文。从聊天切换到测验,并不意味着重新打开一个没有历史的工具;从论文阅读切换到写作,也不必把背景资料手动复制一遍。
DeepTutor 的核心不是“AI 能回答更多问题”,而是“同一个学习者模型,能贯穿更多学习动作”。
二、为什么“聊天 + RAG”还不够?
传统的 AI 学习助手大多是:用户提出问题,系统从资料库里检索片段,再由模型生成答案。这种方式适合解决一次性的信息获取问题,但有两个局限。
第一,它知道资料,却不一定知道学习者。RAG(Retrieval-Augmented Generation,检索增强生成)能帮助模型找到教材中的相关内容,却不等于它知道你需要什么难度的解释。初学者和已经学过微积分的人,面对同一个问题,需要的讲解深度和练习难度不同。
第二,一次回答不会自动改变下一次教学。如果对话、错误原因和追问在会话结束后被丢掉,那么下一次系统仍然只能从“重新猜测”开始。
DeepTutor 试图把辅导建模为一个闭环:
知识库与教材↓基于来源的解释 / 解题↓暴露知识缺口与行为轨迹↓生成难度合适的题目与练习路径↓记录练习结果,更新学习者记忆└───────────────↺
关键在于:测验结果应该反过来影响下一次解释,解释过程也应该影响下一轮练习。
三、DeepTutor 的五个关键设计
1. 一个 Runtime,承载多种学习模式
DeepTutor 把 Chat、Quiz、Research、Visualize、Solve 和 Mastery Path 放进同一个 Agent Loop。用户改变的是目标,不是底层引擎。
比如学习一篇机器学习论文时,可以先用 Research 梳理资料,再用 Solve 解释公式,用 Visualize 画出模型结构,用 Quiz 检查理解,最后用 Mastery Path 安排由易到难的练习。统一 Runtime 的价值,是把这些动作组织成同一条学习轨迹。
2. 学习上下文是连接的,不是散落的
知识库、Book、Co-Writer、Notebook、Question Bank、Persona 和 Memory 可以互相衔接。一份资料不再只是“被问过一次的附件”,而可以成为后续写作、研究、测验和复习的共同来源;一道题也不只是一次性输出,而可以沉淀到题库中。
3. Memory 要可检查,而不是神秘地“记住一切”
DeepTutor 的记忆设计分为三个层次:
L1:交互轨迹,记录对话、规划和工具使用细节; L2:表层摘要,把过程压缩成可以快速调用的状态; L3:综合记忆,提炼更长期、更稳定的学习者特征。
项目还提供 Memory Graph,让记忆中的判断能够追溯到对应证据。教育场景里的“个性化”不能只靠一个不可解释的标签,系统应该说明,为什么它认为你在某个知识点上存在困难。
当然,可检查不代表一定正确。摘要可能丢失上下文,模型也可能把一次粗心误判成长期弱项。因此,好的学习记忆需要允许用户查看、修正和删除。
4. 从“答对”走向“理解过程”
同样是答错一道题,背后的原因可能完全不同:概念没有理解、公式记错、推理跳步、检索出错,或者已经理解但没有完成迁移。
如果系统只保存“错题”,就很难生成真正有针对性的下一题。把对话、计划、工具使用和解题路径一起记录下来,才有机会把“错误结果”拆成“可干预的学习缺口”。
5. TutorBot 让辅导从被动回答走向主动陪伴
普通聊天机器人需要用户先打开页面、输入问题。DeepTutor 的 TutorBot 则尝试通过可扩展 Skill 和多渠道接入,让学习伙伴出现在持续的工作流里:在合适时间提醒复习,或把学习能力接入 Telegram、Slack、飞书等消息渠道。
主动不等于打扰。学习提醒需要尊重用户节奏,让用户知道系统为什么发出这条消息、使用了哪些记忆,并且随时可以关闭或调整。
四、用一个真实学习流程理解它
假设你准备系统学习一门机器学习课程,可以这样开始:
建立有来源的知识空间:加入课程讲义、教材、论文或自己的 Markdown 笔记,并按课程或主题划分知识库。 先让它解释,不要急着要结论:要求系统列出前置知识、关键公式和容易混淆的地方,获得一份可检查的学习地图。 提交自己的解题过程:不要只交最终答案,把尝试过的方法和卡住的位置一起交给它。 把知识缺口转成练习:让它根据刚才暴露的问题生成不同难度的题,并说明每道题要检查哪个知识点。 回写记忆并安排复习:查看系统总结的学习状态,修正不准确的记忆,再决定下一步练什么。
这套流程体现了 DeepTutor 的关键思想:学习不是问一次问题,而是持续积累行为证据,再据此调整下一次行动。
五、它和普通 ChatGPT、RAG 应用有什么区别?
这不表示 DeepTutor 在所有场景都优于通用模型。它的优势是系统结构更完整,代价则是部署、配置、知识库管理和记忆校验也更复杂。
更准确的判断是:通用聊天模型适合临时提问,DeepTutor 更像一套可以长期经营的学习工作区。
六、如何开始?
官方目前推荐从 PyPI 安装完整的本地 Web 应用和 CLI。需要 Python 3.11~3.13,以及 Node.js 20 或更高版本:
mkdir -p my-deeptutor && cd my-deeptutorpip install -U deeptutordeeptutor initdeeptutor start
deeptutor init 会引导配置后端端口、前端端口、LLM provider、模型和可选的 Embedding provider。默认前端地址是http://127.0.0.1:3782,后端默认端口是8001。
如果希望参与开发,可以从源码安装。官方建议源码开发使用 Python 3.11~3.13 和 Node.js 22 LTS;如果只需要无界面的 Agent Harness,也可以选择 CLI-only 路径。
DeepTutor 的 CLI 还可以把一次任务输出为结构化 NDJSON,供其他 Agent 驱动:
deeptutor run deep_solve "Explain the intuition behind gradient descent" \--tool rag --kb my-course --format json
这说明它的定位不只是一套 Web UI,也是一套可以被其他 Agent、脚本和自动化流程调用的学习运行时。
七、使用前要注意什么?
1. 本地部署不等于数据绝不外发
应用可以在本机运行,但如果配置的是外部大模型或 Embedding API,输入内容、文档片段和检索上下文仍可能发送给对应服务。配置模型前,要确认数据范围、服务条款和组织要求。
2. 记忆越强,校验越重要
系统记住了你的错误,不代表它正确理解了错误。应该定期查看 Memory,删除偶然事件,修正过时结论,并把重要判断追溯到原始对话或练习证据。
3. 资料解析和检索决定了上限
如果 PDF 公式、表格、图片和代码没有被正确解析,后面的回答再流畅也不可靠。部署后先用几条已知问题测试引用、页码和来源,再开始长期使用。
4. 主动辅导需要可控边界
TutorBot、MCP 服务和 CLI Agent 带来更强的执行能力,也带来更大的权限风险。建议从只读知识库和低风险任务开始,不要默认让 Agent 修改重要文件、发送外部消息或访问生产系统。
结语:学习 Agent 的下一步,是从“会回答”走向“会陪练”
DeepTutor 值得关注的地方,不是把 Chat、Quiz、Research、Visualize 等功能放进了一个界面,而是它试图回答一个更难的问题:怎样让每一次学习行为,都能成为下一次个性化辅导的依据?
它给出的答案包括统一 Runtime、跨工作流上下文、可检查的多层 Memory、基于来源的解题、难度校准的练习,以及能够主动触达用户的 TutorBot。
这套方案仍然需要真实使用来验证:记忆是否足够准确,题目难度是否真的合适,主动提醒是否有帮助,长时间运行的成本和权限如何控制。但方向是清晰的——AI 学习助手不应该只是一个“问答入口”,而应该逐渐成为一个能观察、能记忆、能安排练习,也能解释自己为什么这样教学的 Agent 系统。
如果你只想临时问一道题,普通聊天模型已经够用;如果你想围绕一门课程、一个研究主题或一套长期目标持续学习,DeepTutor 值得在自己的资料上试一试。
参考资料
Huahuazo:关于 DeepTutor 的 X 帖子
https://x.com/Huahuazo/status/2086711645745590375
HKUDS/DeepTutor GitHub 仓库
https://github.com/HKUDS/DeepTutor
DeepTutor 官方文档
https://deeptutor.info/
DeepTutor:Towards Agentic Personalized Tutoring
https://arxiv.org/abs/2604.26962
夜雨聆风