第一层:DeepTutor 整个系统解决什么问题?

1. 一句话定位

DeepTutor 解决的问题是:LLM 在教育场景下缺乏"个性化适配"和"引导性反馈"能力

把它拆开看——

论文摘要原文(我直接引,不转述):

“current LLMs rely on static pre-training knowledge and lack adaptation to individual learners, while existing RAG systems fall short in delivering personalized, guided feedback”

这句话拆成两个痛点:

痛点 谁的问题 例子
LLM 靠静态预训练知识,不认识"你" 通用 LLM 的问题 你问 ChatGPT “解释傅里叶变换”,它给所有人同一个答案,不管你是高中生还是博士
RAG 能检索文档,但不个性化、不引导 RAG 系统的问题 RAG 检索到教材第3章第2节,直接贴给你——不知道你卡在哪个概念、不知道你上次问过什么

所以 DeepTutor 的定位是:在 LLM + RAG 之上,加一层"认识学习者"的引擎


2. 为什么传统 RAG 不够?

传统 RAG 的链路是:

用户问题 → embedding 检索 → top-k 文档 → LLM 拼接回答

这个链路在"找文档"这件事上做得不错,但论文指出了三个 RAG 做不到的事:

RAG 做不到 #1:个性化反馈

RAG 的检索是无状态的——它不知道问这个问题的人是谁、之前学过什么、哪里卡住了。

DeepTutor 的解法是混合个性化引擎(Hybrid Personalization Engine),论文原话:

“A hybrid personalization engine couples static knowledge grounding with dynamic learner memory”

即:静态知识(RAG 检索到的教材内容)+ 动态记忆(学习者历史交互)做耦合。这一点在代码里对应的就是三层 Memory 系统——README 里写得很清楚:

  • L1:workspace mirror + append-only event trace(原始事件流)
  • L2:per-surface curated facts(按场景提炼的事实)
  • L3:cross-surface synthesis(跨场景综合画像)

关键设计:L2 引用 L1,L3 引用 L2——任何一条个性化结论都能溯源到原始事件。这和 RAG "检索完就忘"是根本区别。

RAG 做不到 #2:引导性反馈(guided feedback)

RAG 的模式是"你问→我搜→我答"——给的是答案

教育场景需要的是引导——苏格拉底式,不直接给答案,而是通过提问让学生自己推导。传统 RAG 的检索-生成链路里没有"教学策略"这一环。

DeepTutor 的解法在代码里体现为多个 Capability(AGENTS.md 里列得很清楚):

Capability 解决什么
chat 探索式对话,带 agent loop + tools
deep_solve 规划→推理→写作(三阶段,不只一次生成)
deep_question 出题(ideation→generation)
mastery_path 引导式学习路径,按题型门控

注意 mastery_path ——它的 stages 是"chat loop + mastery tools, gated per topic type"。这就是"引导性反馈"的落地:不是一次回答,而是一个带关卡的学习流

RAG 做不到 #3:难度校准

RAG 检索到的文档难度是固定的——教材第3章就是第3章的难度,不管你是初学还是进阶。

论文标题里的 “difficulty-calibrated question generation” 就是针对这个——出题时根据学习者当前水平调整难度。这需要 Memory + 个性化引擎协同工作,纯 RAG 做不到。


3. 为什么需要 Multi-Agent(Agentic 架构)?

论文摘要没有直接用 “multi-agent” 这个词,但用了 “agentic framework”“proactive multi-channel tutoring agents”

从代码架构看,DeepTutor 的 “agentic” 体现在两个层面:

层面一:Tool + Capability 双层插件模型

AGENTS.md 开头就定义了这个模型:

Level 1 — Tools:     单次函数调用,LLM 按需 pick
                      (rag, web_search, reason, brainstorm, ask_user, ...)

Level 2 — Capabilities: 多阶段流水线,接管整个 turn
                      (chat, deep_solve, deep_research, visualize, ...)

为什么要分两层?

  • Tool 是"原子能力"——检索一段文档、搜一个网页、调一次推理。单次调用,无状态。
  • Capability 是"工作流"——比如 deep_research 有四个阶段:rephrasing → decomposing → researching → reporting。每个阶段可能调多个 Tool。

如果只有 Tool(纯 function calling),LLM 需要自己决定"先检索、再分解、再搜、再写报告"——这在复杂任务里容易失控。Capability 把确定的多步流程固化下来,LLM 只在每一步内部做决策。

层面二:单一 Agent Loop(chat) vs 多阶段流水线

这里有个论文和代码的微妙差异值得提前指出:

论文摘要强调"agentic framework"和"multi-channel agents",听起来像是多个独立 Agent 协作。

但代码里的核心设计是:所有 Capability 共享同一个 ChatOrchestrator 入口,orchestrator 只做一件事——把 UnifiedContext 路由到选定的 Capability。

orchestrator.py:36-46

async def handle(self, context: UnifiedContext) -> AsyncIterator[StreamEvent]:
    cap_name = context.active_capability or "chat"
    capability = self._cap_registry.get(cap_name)

就这几行——没有"Agent 之间互相通信",没有"多 Agent 协商"。所谓的 “agentic” 是指每个 Capability 内部有 agentic loop(比如 chat 的 exploring→responding),而不是多个 Agent 互相对话。

这是 DeepTutor 和 AutoGen/CrewAI 这类多 Agent 框架的根本区别:DeepTutor 是单 Orchestrator + 多 Capability,不是多 Agent 对话


4. DeepTutor 与 ChatGPT 的最大区别

维度 ChatGPT DeepTutor
知识来源 静态预训练(+ 联网搜索) 静态 + 动态学习者记忆(L1/L2/L3 三层)
个性化 无(所有人同一个 prompt 同一个回答) 混合个性化引擎,持续适配
教学方式 直接回答 苏格拉底式引导(mastery_path Capability)
引用支撑 无(或粗略) Citation-grounded(RAG + 知识库版本化)
能力边界 单一对话 7 个 Capability:chat/solve/question/research/visualize/animator/mastery
可扩展性 闭源,不可扩展 开源,Tool + Capability 双层插件,可加自定义
可审计性 黑盒 Memory 可读、可编辑、可溯源(L3→L2→L1)

一句话总结最大区别:ChatGPT 是"一个聪明的回答机器",DeepTutor 是"一个认识你的学习伙伴"。

"认识你"这件事不是嘴上说的——它落在三层 Memory 上,落在 mastery_path 的关卡门控上,落在 deep_question 的难度校准上。


5. 为什么它效果更好?

论文给了两个硬数字:

指标 提升
个性化指标 平均 +10.8%
通用 agentic 推理 平均 +29.4%(跨5个骨干模型)

为什么能提升?结合代码看,有三个可归因的设计:

原因 1:Memory 不是向量库,是可溯源的事实图

传统做法是把对话历史塞进向量库,检索时靠相似度。DeepTutor 的 L1/L2/L3 是文件系统上的 Markdown + JSONL,L2 是人可读的 curated facts,L3 是跨场景画像。

好处:LLM 在生成回答时拿到的不是"相似的历史片段",而是"已经提炼好的学习者画像"——上下文质量更高,回答更贴合。

原因 2:Capability 把复杂任务固化成流水线

deep_research 不是让 LLM 自由发挥"先搜什么再搜什么",而是固定四阶段:rephrasing(重述问题)→ decomposing(分解子问题)→ researching(逐个检索)→ reporting(汇总报告)。

每个阶段有明确的输入输出契约,LLM 只在阶段内部做决策。这比"一个超长 prompt 让 LLM 自己规划"稳定得多——29.4% 的推理提升很大程度来自这里。

原因 3:Tool 是 context-gated 的,不是全堆给 LLM

AGENTS.md 明确写了:

“The rest are context-gated: the chat capability auto-mounts them from ToolMountFlags (presence of a KB, attachments, sandbox availability, …)”

即:有知识库才挂 rag tool,有附件才挂 read_source tool,有沙箱才挂 exec tool。

这避免了"给 LLM 20 个 tool,它选错"的经典问题。Tool 按需挂载,LLM 的决策空间被控制在一个合理范围。


第一层小结

问题 答案
解决什么问题? LLM 教育场景缺乏个性化适配和引导性反馈
为什么 RAG 不够? 无状态、不个性化、不引导、不校准难度
为什么需要 Agentic? 复杂教学任务需要多阶段流水线(Capability),不是单次检索-生成
和 ChatGPT 最大区别? DeepTutor 认识学习者(三层 Memory + 个性化引擎),ChatGPT 不认识
为什么效果更好? 可溯源 Memory + 流水线化 Capability + 按需挂载 Tool

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐