产品发布 · 小互解读

港大 HKUDS 开源 AI 家教 DeepTutor,111 天破 2 万星

论文实测个性化提升 10.8%、推理能力提升 29.4%,Apache 2.0 完全开源
一分钟速览
  • 香港大学数据智能实验室(HKUDS)开源的个性化学习工具 DeepTutor,2025-12-29 发布,Apache 2.0 完全开源,作者声明目前没有任何付费在线产品。
  • 上线 111 天内(截至 2026-04-19)GitHub 破 2 万星,登上 Trendshift 日榜和周榜趋势。
  • Chat、Partners、Co-Writer、Book、Knowledge、Memory 等全部模块共用同一个 agent loop、上下文互通,切换模式时换的只是这一轮的目标,底层引擎始终是同一套。
  • 配套论文提出混合个性化引擎(静态知识 grounding + 动态个人记忆),在覆盖五大学科、270 个任务的 TutorBench 评测中把个性化指标平均提升 10.8%。
  • 禁用整个个性化引擎后,同一套「调查,解决,写作」的脚手架流程在五个公开测试集上仍让五个骨干模型的通用 agentic 推理能力平均提升 29.4%。
立场提示:DeepTutor 由港大 HKUDS 团队开发,本文信息来自其官方 GitHub 仓库(Apache 2.0)与团队自己发表的论文。star 数、版本时间线、评测分数与提升幅度均为项目方与论文口径,论文的辅导效果由一个 AI 学生模拟器驱动打分。下文只做机制与数据的转述解读。
1谁做的 · 火成什么样

港大团队开源了一个 AI 家教,还真有人在用

香港大学数据智能实验室(HKUDS)在 2025 年 12 月 29 日发布了开源学习工具 DeepTutor,并在 2026 年上半年同步发表了介绍其技术机制的研究论文。

这是一整套装在你自己电脑或服务器上跑的学习工具箱,围绕「记住你怎么学」这一件事打造。它完全开源(许可证 Apache 2.0),作者在 README 里写得很直白:目前没有任何形式的付费在线产品。
📌

为什么这不只是又一次普通的开源发布:上线 111 天内 GitHub 破 2 万星,登上 Trendshift 日榜和周榜趋势;项目 Apache 2.0 完全开源、无任何付费产品;还带着一篇 arXiv 论文背书,在覆盖五大学科、270 个任务的评测里给出了可核对的数据。

DeepTutor 首页总览,Chat 工作台,侧边栏列出所有功能面
DeepTutor 首页总览:中间是 Chat 工作台,左侧边栏一列排开所有功能面。图片来自 HKUDS 官方仓库。
2 万+
上线 111 天内的 GitHub star 数(截至 2026-04-19)
111 天
从发布到破 2 万星耗时
约 20 万行
2026-04-04 一次 agent-native 架构重写的代码量
3 行命令
pip 装好,init,start,本地就能跑起完整应用

项目由 Bingxi Zhao 在 HKUDS 主导(导师 Chao Huang,港大数据智能实验室主任),社区共建。生态里还复用了实验室自己的几个开源项目:LightRAG(检索引擎)、nanobot(早期用的超轻量 agent 引擎)、AutoAgent、AI-Researcher。

2一套引擎

一个大脑,八种学习模式,你切换的只是目的

DeepTutor 最核心的设计:聊天、解题、出题、研究、可视化、掌握度练习,全部跑在同一个 agent loop 上。你切换的是这一轮想干什么,底层引擎和上下文始终是同一套。

Chat聊天答疑
Partners持久陪伴
My Agents咨询别的 agent
Co-Writer协作写作
Book做成活书
Knowledge知识库
Learning Space技能人格
Memory可查的记忆
↓ 八个面全部跑在 ↓
同一个 agent loop + 互通的学习上下文知识库、书本、写作草稿、笔记本、题库、人格设定、记忆,跟着学习者一起走,每个工作流都能调用,不用在各自孤立的工具里重来一遍。
DeepTutor 系统架构图
官方系统架构图:上层各功能面,共用底层的 agent 运行时与共享上下文。图片来自 HKUDS 官方仓库。
3核心机制之一

聊天怎么变成一整套辅导:它先自己想,拿不准还会反问你

Chat 是默认入口,大部分工作从这里开始。一个对话线程能正常聊天、调用工具、基于选定的知识库对答案「找依据」、读附件、生成图片、咨询别的 agent、写笔记本,并在多轮里延续同一套上下文。

核心机制

它的循环刻意做得简单:模型分轮思考,需要时调工具,观察结果,最后给出一条不再调工具的回答。关键在一个叫 ask_user 的特殊工具:拿不准的时候,agent 可以不去瞎猜,而是暂停这一轮,抛出一个结构化的澄清问题,等你回答再继续。

分轮思考
调用工具
搜索/推理/画图…
观察结果
拿不准就
ask_user 反问你
给出最终回答
DeepTutor 聊天 agent 循环示意图
官方 Chat agent 循环示意图:思考,行动,观察,直到给出答案;ask_user 在拿不准时把控制权交回给你。图片来自 HKUDS 官方仓库。

可开关的工具有 brainstorm(头脑风暴)、web_search(联网搜索)、paper_search(查论文)、reason(深度推理)、geogebra_analysis(数学作图分析),配好生成模型后还有 imagegen(生图)和 videogen(生视频)。这套 Chat 也是深入其它能力的起点:从这里衍生出 Quiz(出题)、Research(带引用的报告)、Visualize(图表动画)、Solve(详细推理求解)和 Mastery Path(学习计划)。

它记什么、忘什么:两种上下文分得很清楚

粘性会话上下文

跨轮一直在

子 agent、知识库、人格、模型、语音,挂在输入框工具栏上,这一整段对话里都持续生效。

一次性引用

只管这一轮

文件、聊天历史、书本、笔记本、题库、导入的 agent,从「+」菜单临时带进来,只服务当前这一轮提问。

4核心机制之二 · 招牌

它凭什么这么了解你:记忆一层层都能点开查

DeepTutor 的个性化不靠一个藏在后台的向量库,而是一套用文件支撑、你能读能改能审计的三层记忆。因为上一层的每条结论都引用着下一层的证据,画像里任何一句话都能一路点回原始事件。下面这张图是可点的,点某一层看它到底存了什么、又是从哪来的。

点上面任意一层,看它存了什么、又引用了哪一层 ↓
L3 综合:一句能指导下一次辅导的结论
「这名学生在需要多步链式推导的题上反复卡壳,讲解要一步步搭好脚手架,别直接抛结论。」
↳ 这条结论引用了 L2 里两个界面的摘要(点上面 L2 看)
L2 摘要:每个界面自己攒下的事实
Chat 界面:最近 3 次微积分辅导,链式法则求导错了 2 次。
Quiz 界面:相关练习 5 道错 3 道,都错在「先求外层还是内层」。
↳ 每条摘要又都引用着 L1 里的原始记录(点上面 L1 看)
L1 原始痕迹:一条都不丢的事件流
14:22 学生问「为什么这里要乘以 3」→ 求解器调用 reason 工具 → 学生答错 → ask_user 追问「你觉得外层函数是哪个」→ 学生答……(完整对话与每一步工具输出逐条留存)
↳ 这是最底层的证据,上面两层都由它一层层蒸馏而来

官方把这套记忆分成三层:L1 是工作区镜像加一条只追加的事件痕迹,L2 是每个界面精选出来的事实,L3 是跨界面的综合。因为 L2 引用 L1、L3 引用 L2,你画像里的任何内容都能顺着链条查到出处。产品里的 Memory Graph 就把整座金字塔画出来:L3 综合在中心,L2 在中间环,L1 痕迹在最外圈。

DeepTutor 记忆总览界面
记忆总览:能读、能整理、能审计。
DeepTutor 三层记忆图谱
三层记忆图谱:任一结论都能追溯回原始事件。

上两图来自 HKUDS 官方仓库。

5其余模块速览

陪伴、写作、出书、找资料:剩下几个模块一次说完

下面这几个模块次要一些,但都很实用。它们全部挂在同一个大脑上,这里压缩带过,各配一张官方截图。

Partners:有人格、有电话号码的持久陪伴

Partners 是拥有自己人格、模型策略、资料库、记忆和渠道的持久陪伴者。每一条从网页或 IM 进来的消息,都会变成 partner 专属工作区里的一次正常对话轮次。渠道层是配置驱动的,能接飞书、Telegram、Slack、Discord、钉钉、企业微信、WhatsApp、Teams 等 15 个入口。一个 partner 也能作为子 agent 被普通聊天咨询,这就是「My Agents」:既能连本机的 Claude Code、Codex 实时咨询,也能把你已有的历史对话导入成可搜索、可续接的命名 agent。

DeepTutor Partners 工作区总览
Partners 工作区总览。图片来自 HKUDS 官方仓库。
点开看 Partners 的架构图
DeepTutor Partners 架构图
Partners 架构:入站消息统一转成 partner 工作区里的对话轮次。图片来自 HKUDS 官方仓库。

Co-Writer:选中一段就能让它改,改动你批准才落地

一个分栏的 Markdown 写作区,实时渲染预览(含数学公式和图表)。它的核心是「外科手术式编辑」:选中一段文字,让它改写、扩写或缩写。编辑 agent 可以基于知识库或网络证据来支撑修改,把每处改动显示成接受或拒绝的 diff,在你点批准之前什么都不会真正写进文档。

DeepTutor Co-Writer 工作区总览
Co-Writer 工作区总览。图片来自 HKUDS 官方仓库。

Book:把你的材料编成一本「活的书」

Book 把选定的来源变成一本交互式的活书,是一个由类型化区块搭起来的阅读环境。创建时它先给你一份章节大纲让你审阅,而不是直接吐一份盲盒式的成品。每一章编译成文本、提示框、测验、闪卡、时间线、代码、图表、交互式组件、动画、概念图等区块,每一页还有自己的 Page Chat,区块能单独插入、移动、重新生成或换类型,不用重写整章。

DeepTutor 书本库总览
书本库总览。图片来自 HKUDS 官方仓库。
书本测验区块示例
测验区块
书本里的 Manim 动画区块示例
Manim 动画区块
书本里的交互式组件区块示例
交互式组件区块

Knowledge Center:检索引擎可以自己挑

知识库是 RAG(先查资料再回答)背后的文档集合,给聊天、写作、出书、Partner 对话提供依据。特别之处是能选检索引擎:LlamaIndex(默认,本地向量加关键词)、PageIndex(带页面级引用)、GraphRAG 和 LightRAG(知识图谱检索),或者直接链接一个 Obsidian 仓库让家教原地读写。每个知识库绑一个引擎,重新索引会保留旧版本,不会弄坏正在用的那份。

DeepTutor 知识中心总览
知识中心总览。图片来自 HKUDS 官方仓库。

Learning Space:技能、人格、可复用的上下文

资料库和个性化层。这里保存聊天历史、笔记本、题库(每道存的题都留着你的答案、参考答案和解释),以及 mastery path、人格(比如「同伴」「研究助理」「老师」这类行为预设)、技能(模型按需读取的 SKILL.md 剧本)。技能不用全自己写,从 EduHub 社区目录能直接下载一个进来。

DeepTutor 学习空间总览
学习空间总览。图片来自 HKUDS 官方仓库。
6怎么装 · 怎么被调用

三行命令就能跑,还能被别的 AI 当工具调

最顺的一条路是 PyPI 安装:装好一个完整的本地 Web 应用加命令行工具,不用 clone 代码。需要 Python 3.11+ 和 Node.js 20+。

三行命令,本地装好完整 Web 应用 + CLI
pip install -U deeptutor
deeptutor init
deeptutor start
# 打开 127.0.0.1:3782
或者一条 Docker 命令跑起完整应用
docker run --rm --name deeptutor \
  -p 127.0.0.1:3782:3782 \
  -v deeptutor-data:/app/data \
  ghcr.io/hkuds/deeptutor:latest

一共四种安装路径:PyPI(上面这条)、源码(改代码用)、Docker(单容器跑完整应用)、仅 CLI(给无界面服务器、agent harness、Claude Code / Codex 这类场景,没有网页界面)。认证默认关闭、默认单用户运行;打开多用户后,第一个注册的人是管理员,其他人拿到隔离工作区和脱敏设置页,绝不会暴露原始 API key。配置全是纯 JSON / YAML。

它不止面向人,也面向别的 agent

DeepTutor CLI 有两种用法:交互式的 REPL(deeptutor chat),以及给别的 agent 用的结构化 JSON 输出(加 --format json,每一轮以 NDJSON 流式吐出)。运行是「无头安全」的:没有终端时 ask_user 的暂停会自动用空回复解决,不会卡死。仓库根目录自带一份约 150 行的 SKILL.md 交接文档,Claude Code、Codex、OpenCode 会自动识别它,一次读完就知道整个系统怎么用,也能把 deeptutor run 包成 LangChain、AutoGen 循环里的一个工具。

从 EduHub 技能社区搜索并安装一个社区技能
deeptutor skill search "socratic tutor"
deeptutor skill install socratic-tutor

每次从 EduHub 导入技能都要过同一道安全门:注册表安全裁定、压缩包防御性解压、把技能里的 always 字段剥掉(下载的技能不能强行塞进每一次系统提示词),来源写入 .hub-lock.json 供审计。

7论文说清了机制 · 核心

这些功能怎么拧成一股绳:一篇论文讲清了背后的机制

上面这堆模块看着是一串功能罗列。真正让它们不散、变成一个越用越懂你的系统的,是 HKUDS 团队同期发的一篇论文《DeepTutor: Towards Agentic Personalized Tutoring》。它回答的是一个具体问题:为什么辅导时发现的弱点,能直接决定下一次出什么题;做题的表现,又能反过来改进下一次的讲解。

混合个性化引擎

论文把两样东西耦合成一个闭环:静态知识 grounding(SKG)管「讲的内容对不对,有没有课程依据」;动态个人记忆(DPM)管「这样讲、出这样的题,适不适合这个具体的学生」。两者分工互补,谁都替代不了谁。

SKG 和 DPM 是这篇论文里最抽象的一对概念,先用一张对照卡把它们分清楚:

SKG · 静态知识 grounding

课程内容对不对

把教材、论文拆成一个个原子知识单元,用知识图谱记它们之间的关系,用向量索引记它们的语义,查询时两路结果合并去重。

负责保证家教讲的东西有依据、事实不出错。

DPM · 动态个人记忆

适不适合这个学生

核心是「痕迹森林」:每次完整辅导记成一棵树,节点分三层(会话摘要,中间规划,执行细节),三个专门的记忆 agent 主动检索、比对,持续更新学习者画像。

负责保证讲解的深浅和方式贴着这个人。

一句话类比

就像一个家教,一边翻教材确认知识点没讲错(SKG),一边翻这个学生的错题本决定该怎么讲、下一步出什么题(DPM)。

痕迹森林:给每次辅导都开一份分层病历

痕迹森林是 DPM 的记账本。每一次完整的辅导对话被记成一棵树:Level 1 存会话级的输入和全局摘要,Level 2 存任务拆解出来的中间规划,Level 3 存最细的执行记录,包括工具输出、证据、验证结果。每个节点都带一个向量编码,能在整片森林里按语义相似度检索。系统用一个叫 TraceToolkit 的工具箱去翻它,只有三个动作:按语义找相似(SearchTrace)、按时间或主题过滤枚举(ListTraces)、连着祖先路径完整读一个节点(ReadNodes)。

类比

相当于给每次辅导单独开一份详细病历,病历按「主诉 → 诊断思路 → 具体检查记录」分层写。下次看诊,能翻出旧病历里任意一层的细节,而不是只看到一句「这学生数学一般」。

画像不是被动摘要最新一次对话生成的。每来一条新痕迹,三个专门的记忆 agent 会主动去查 TraceToolkit,把最新行为和跨会话的老模式做对比,再更新画像的三个部分:会话历史摘要、有证据支撑的反复困惑清单、指导未来的教学反思。个性化因此建立在能翻出来的痕迹证据上,而不是一个粗糙的「掌握度分数」。

拼起来看:这一圈怎么转

把两件事接起来看:静态知识和个人记忆先在混合个性化引擎里合成一份「个性化上下文」,同时喂给两条流水线,解题辅导走「先调查、再逐步引导、最后按学生水平写讲解」三步(初学者拿到搭好脚手架的逐步推导,熟练学生只拿关键洞见的简洁总结);出题走「按这个学生的视角画概念地图选题、再由一个独立验证者查对错」两步。学生做完这一轮,结果又写回痕迹森林、刷新画像。

SKG + DPM
混合个性化引擎
解题辅导
调查·引导·写讲解
出题
选题·独立验证
学生完成互动
学生一做完,这轮互动就写回痕迹森林、刷新学习者画像,下一次辅导和出题都更贴合这个人。这就是论文说的闭合辅导周期。
辅导 → 出题解题辅导里诊断出的弱点,直接决定接下来生成什么练习题。
出题 → 辅导学生在这些练习题上的表现,反过来精炼画像,改进下一次的讲解。

论文作者:Bingxi Zhao, Jiahao Zhang, Xubin Ren, Zirui Guo, Tianzhe Chu, Yi Ma, Chao Huang(The University of Hong Kong, HKUDS)。v1 提交于 2026-04-10,v2 于 2026-05-08。

8270 个任务实测

有没有真本事:270 个任务实测下来

为了测个性化辅导,论文自己造了一个学生中心的评测集 TutorBench:先把大学教材和论文索引进知识库,再为每个知识库造 3 个不同水平的学生画像,每个画像挂上有来源依据的知识缺口(分「误解」「理解不完整」「缺失知识」三类),最后每个画像保留恰好 3 个通过的交互式任务。

30 个
知识库,横跨人文/科学/工程/商业/前沿研究五大学科
90 个
学生画像(每个知识库 3 个水平)
270 个
交互式辅导任务总数
+10.8%
DeepTutor 相对最简基线的个性化指标平均提升

怎么打分:让一个 AI 学生去跟它上课

评测用一个基于 AI 的学生模拟器去跟每个被测系统互动:模拟器把知识缺口变成第一人称的「我以为……」,多轮辅导后再要一份定制练习,产生的完整对话记录按个性化评分标准打分。评分分两组共十项,各 1 到 5 分。辅导侧五项:来源忠实度、个性化、可应用性、生动度、逻辑深度;练习侧五项:匹配度、依据充分度、多样性、答案质量、跨概念。评测覆盖全部 270 个任务,用 Gemini-3-Flash 驱动学生模拟器和各系统骨干,Claude Sonnet 4.6 当评判。

提升最大的三个维度

生动度 讲得生不生动、抓不抓人3.89 → 4.81
最简基线
DeepTutor
依据充分度 出的题有没有扎实的来源支撑2.46 → 2.96
最简基线
DeepTutor
多样性 练习题会不会花样翻新,不重样2.83 → 3.44
最简基线
DeepTutor

条长按 1 到 5 分满分折算。

五个系统横向对比

四个基线都共享同一套检索工具和骨干模型,只是分别加了思维链、自我复审或 ReAct 式工具调用。它们的分数聚得很紧,说明光加这些不足以追上一个真正随学习者自适应的系统。

系统辅导均分练习均分总体质量相对提升
Naive Tutor(最简)3.963.103.53
CoT Tutor(加思维链)3.973.063.52-0.28%
Self-Refine Tutor(加复审)4.053.083.57+1.13%
ReAct Tutor(工具循环)3.963.083.52-0.28%
DeepTutor4.393.423.91+10.76%
r=0.82

人类偏好对齐:从五个领域分层抽 45 个会话做盲配对,人类评审和 AI 评判在全部十个指标上都把最大偏好给了 DeepTutor,两者胜率高度相关(Pearson r=0.82,p=0.0038)。说明 AI 评判不是无脑偏爱它,而是按评分标准做出了和人相似的排序。

0.16 分

跨领域稳定:五个学科之间总体质量只差 0.16 分,提升不是靠某一门学科撑起来的。

拆开来看:SKG 和 DPM 各管一头,谁都不能少

消融实验分别拆掉两个部件,看哪些指标塌下去:

拆掉 SKG(静态知识)

掉得最多的是「依据充分度」,其次是「来源忠实度」和「跨概念」。

也就是家教开始「讲得没依据」。

拆掉 DPM(个人记忆)

掉得最多的是「个性化」和「匹配度」。

也就是讲解和出题不再贴着这个学生走。

两个一起拆,整体下降最大。这证明 SKG 和 DPM 是互补的两套机制:SKG 锚定「家教说了什么」,DPM 塑造「它怎么适应你」,换不了也省不掉。

意外的一笔:把个性化全关掉,脚手架本身也很能打

论文还测了一件事:DeepTutor 那套「调查,解决,写作」的脚手架,是只对个性化辅导有用,还是对通用解题也管用?于是把整个混合个性化引擎(SKG 和 DPM 全禁掉)关掉,只留纯求解器,拿五个公开测试集(HLE、GPQA-Diamond、LiveBench 推理子集、GAIA、AA-LCR)去测一次答对率(Pass@1)的提升。

Gemini-3-Flash
+29.24%
Sonnet-4.5
+32.03%
Qwen-3.5-Plus
+25.69%
GPT-5-Mini
+28.51%
Minimax-M2.5
+31.50%

五个骨干模型全部提升,平均相对增益在 25.69% 到 32.03% 之间。这一档里个性化、SKG、DPM 全被关掉了,所以这个提升点出的是「调查,解决,写作」这套脚手架本身的通用价值。

点开看五个测试集的逐项跳幅
骨干模型HLEGPQA-DLiveBenchGAIAAA-LCR
Gemini-3-Flash19.40→30.8081.31→84.8570.00→96.0037.58→47.8863.00→74.67
Sonnet-4.58.40→14.6072.22→73.2364.33→82.0029.09→45.4553.33→54.00
Qwen-3.5-Plus16.80→24.2088.38→87.8869.00→93.0033.94→49.0966.00→69.67
GPT-5-Mini16.46→21.2080.81→80.3071.00→93.0027.27→49.0968.67→71.00
Minimax-M2.514.00→19.4082.83→83.3359.30→73.0023.64→42.4266.00→76.40

HLE 用固定 500 题子集,GPQA 为 Diamond 档,LiveBench 取推理子集。数字为一次答对率百分比(基线 → 加 DeepTutor 脚手架)。

9边界 · 现在能做什么

论文自己划的边界,和你现在能上手的事

论文没把话说满。它明确讲清了哪些是验证过的、哪些还没测。

论文原话强调:Book Engine、TutorBot(现产品里的 Partners)这些系统扩展是「架构实例」,是长期个性化辅导的部署机制,而不是这次评测验证过的干预。它们对留存率、参与度、真实学习结果的影响,需要纵向的人类研究。Chat、Book、Memory 这些功能你现在就能装来用,但「长期用下去真能让人学得更好」这件事,论文自己也没测,留给了将来。交互式评测靠的是 AI 学生模拟器和基于评分标准的评判,天然带着「受控模拟」和「真实学习者」之间的差距;多阶段流水线也是用更高的推理成本换来更强的可控性。论文建议:真实使用时把生成的辅导内容当辅助而非权威,重要论断对照可信的课程材料或人类老师核实。

普通人现在拿到手能做什么

完全开源Apache 2.0 且作者声明无付费产品,个人或机构可直接本地部署,不依赖云端订阅。
门槛低三行命令或一条 Docker 命令就能跑起完整 Web 应用。
可被调用CLI 支持结构化输出,可被 Claude Code、Codex 等其它 agent 当工具调,不止是面向终端用户的产品。
可审计Memory 三层结构加 Memory Graph,让「为什么这样讲、为什么出这道题」都能查到出处。
解题辅导中诊断出的弱点会传播到学习者画像,直接决定接下来生成什么题目;反过来,学生在生成题目上的表现精炼画像,改进未来的讲解。 《DeepTutor: Towards Agentic Personalized Tutoring》,论文对「闭合辅导周期」的描述
本文根据 DeepTutor 官方 GitHub 仓库(HKUDS,香港大学数据智能实验室,Apache 2.0)与团队论文《DeepTutor: Towards Agentic Personalized Tutoring》(arXiv)整理。代码:github.com/HKUDS/DeepTutor,文档:deeptutor.info,最新版本 v1.5.0(2026-07-04)。star 数、版本时间线、评测分数与提升幅度均为项目方与论文口径,论文的辅导效果评测由 AI 学生模拟器驱动打分。文中截图来自官方仓库。