DeepTutor 深度解析:港大 HKUDS 开源的 Agent-Native 个性化学习系统,如何用双环推理架构让 AI 真正"懂"你在学什么
背景:AI 教育工具为什么总是"答非所问"
用过 AI 辅助学习工具的程序员大概都有过这个体验:你上传了一本厚厚的技术书籍,问 AI "闭包在 JavaScript 里到底怎么工作的",然后得到一段看起来很专业、但和你书里的上下文完全不搭边的回答——它引用的是网上通用资料,不是你书上第 237 页那个带着独特上下文的示例。
这不是 AI 不够聪明,而是大多数 AI 教育工具的架构根本不是为了"理解你在学什么"而设计的。它们是通用的问答机器人,接入 RAG 做个检索增强就算"个性化"了。
2025 年底,香港大学数据智能实验室(HKUDS)开源了一个叫 DeepTutor 的项目,试图从根本上解决这个问题。它的核心理念叫 Agent-Native(智能体原生)——不是把 AI 当答题机器用,而是让 AI 像真正的导师一样:理解你的知识边界、追踪你的学习路径、在你卡住的时候主动引导而不是直接给答案。
这个项目在 GitHub 上 39 天突破 10k stars,目前已有 17k+ stars,更新极为频繁(最近一次是 2026 年 4 月 15 日的 v1.1.0)。本文深入解析它的技术架构、双环推理机制、代码实战,以及它背后的教育理念。
一、传统 AI 学习工具的架构局限
在深入 DeepTutor 之前,我们先搞清楚现有的 AI 学习工具为什么做不好这件事。
1.1 单 Agent 问答的固有缺陷
大多数 AI 学习工具的架构是这样的:
用户提问 → 简单 RAG(检索) → LLM 生成回答 → 返回用户
这套流程有几个致命问题:
问题一:检索和生成是脱节的。 RAG 负责找相关文档,LLM 负责生成答案,但两者之间没有反馈回路。检索到的内容可能和问题的实际意图有偏差,LLM 只能"尽力而为"。
问题二:没有问题理解环节。 用户的提问往往是模糊的、不准确的。比如一个初学者问"JavaScript 的 this 为什么这么奇怪",他真正想知道的可能是"箭头函数和普通函数的 this 有什么区别",但 LLM 看到的就是"this 为什么奇怪"这个模糊表述。
问题三:没有学习路径概念。 每次问答都是独立的,没有记录用户之前问过什么、哪些概念掌握了、哪些还有盲区。所以同一个知识点换一种问法,AI 还是从头解释一遍。
问题四:没有验证机制。 生成的答案是否真的回答了用户的问题?大多数系统没有这个闭环。
这些问题导致的结果就是:AI 给的答案看起来对,但用户还是觉得"没学到东西"。
1.2 主流方案的修修补补
为了解决上述问题,业界做了很多努力:
- Coze/Dify 工作流:把问答拆成多个步骤,但本质还是预定义的流水线,不是真正的自主推理
- 知识库+RAG:加个向量检索,但检索质量取决于 embedding 模型和分块策略,优化起来是个无底洞
- 多 Agent 协作(如 ChatDev):多个 Agent 分工,但协作逻辑简单,主要是串行调用
DeepTutor 的 Agent-Native 架构,是对这些问题的一次从底层重新设计的回应。
二、DeepTutor 的核心设计理念:Agent-Native
2.1 什么是 Agent-Native
"Agent-Native" 这个词在 DeepTutor 的文档里反复出现,但它的含义不只是"用了 Agent"这么简单。
传统 AI 应用把 LLM 当"大脑",工具当"手脚"——大脑思考,手脚执行。但在 DeepTutor 的设计里,每个能力模块本身就是 Agent,有自己独立的推理逻辑、记忆、和行为模式。
这相当于从"一个大脑指挥多个工具"变成了"多个专家协作解决问题"。
DeepTutor 官方将这个理念描述为:让 AI 真正"懂"你在学什么,而不是泛泛地给出一个通用答案。
2.2 费曼学习法的工程实现
DeepTutor 背后的教育哲学根基是费曼学习法——如果你不能简单地解释一件事,说明你还没有真正理解它。
体现在产品设计上,DeepTutor 的 TutorBot 不会直接给答案,而是会:
- 先问你"你是怎么理解这个概念的?"
- 指出你理解中的偏差
- 用你熟悉的例子重新解释
- 让你自己推导结论
这种"引导式学习"需要一个能理解用户当前认知状态的 Agent,这不是简单的 few-shot prompt 能做到的。
2.3 39 天 10k Stars 的现象级增长
DeepTutor 从 2025 年 12 月 29 日正式开源,到 2026 年 2 月 6 日达到 10k stars 只用了 39 天。这个增长速度背后有几个驱动因素:
- 完全开源免费(Apache-2.0),可以私有部署,不依赖任何第三方平台
- 零配置体验:
python scripts/start_tour.py一条命令启动完整系统 - 对程序员极其友好:Agent-Native CLI、SDK 接入、支持本地 LLM(LM Studio/llama.cpp)
- 教育场景差异化:和通用的 ChatGPT/CClaude 比,它解决的是"学习"这个垂直场景的深度问题
三、双环协同推理架构:DeepTutor 的核心创新
这是 DeepTutor 最核心、最值得深入理解的部分。
3.1 为什么需要"双环"
传统单 Agent 系统的推理链路是线性的:
输入 → 推理 → 输出
这个链路的问题是:推理过程是黑盒的,输出和输入之间的偏差无法被修正。
DeepTutor 引入的双环协同推理(Dual-Loop Reasoning)把推理过程拆成两个相互配合的循环:
┌──────────────────────────────────┐
│ 双环协同推理架构 │
│ │
│ ┌─────────────────────────────┐ │
│ │ 问题分析环(Problem Loop) │ │
│ │ 理解问题语义 │ │
│ │ 分解为可处理的子任务 │ │
│ │ 检索相关知识 │ │
│ │ 输出:结构化问题分析 │ │
│ └──────────┬──────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────┐ │
│ │ 解答生成环(Answer Loop) │ │
│ │ 基于 RAG 生成解答 │ │
│ │ 引用具体来源 │ │
│ │ 验证与问题的匹配度 │ │
│ │ 输出:精准、可验证的答案 │ │
│ └─────────────────────────────┘ │
└──────────────────────────────────┘
3.2 问题分析环(Problem Analysis Loop)
问题分析环负责理解问题本身,而不是直接回答问题。
这一步做的事情远比"理解问题"多:
第一步:语义理解。 判断用户提问的真实意图,而不是字面意思。比如用户问"Go 语言的 goroutine 和线程有什么区别",分析环需要判断:用户是否已经知道 goroutine 的基本概念?他是在理解调度模型还是在性能对比?这决定了解答的深度和侧重点。
第二步:知识差距识别。 结合用户的知识库(上传的教材、笔记)和对话历史,分析用户在这个问题上缺少哪些前置知识。比如用户问"Go 的 GMP 调度模型",分析环可能发现用户还没理解"操作系统线程和 Go 协程的区别",这时会先引导用户补充这个前置概念。
第三步:任务分解。 把复杂问题拆成多个可处理的子任务。比如"设计一个高并发 Web 服务"这个问题,分析环会拆成:并发模型选型 → 连接管理 → 优雅关闭 → 监控告警 → 性能测试,每个子任务都是一个独立的 Agent 工作单元。
第四步:知识检索。 在用户的知识库中检索与这些问题最相关的材料,输出结构化的问题分析结果。
3.3 解答生成环(Answer Generation Loop)
在拿到问题分析环的输出后,解答生成环负责生成精准、可验证的答案。
这里有几个关键设计:
基于 RAG 的精准引用: 生成的每个关键论点都必须附带知识库中的原文引用。用户可以看到"这句话来自你上传的《Go 语言圣经》第 5 章第 3 节",而不是"据某资料显示"。
答案验证机制: 生成答案后,会反向验证:答案是否真的回答了用户的原始问题?引用的材料是否支撑这个结论?是否存在逻辑跳跃?
自适应深度: 根据用户的学习阶段调整答案深度。如果是新手,会用类比和图示;如果是进阶用户,会直接给原理分析和源码解读。
3.4 双环如何协同
双环的核心价值在于反馈机制:
问题分析环 → 输出分析结果
↓
解答生成环 → 生成答案
↓
反向验证 ← 答案是否回答了原始问题?
↓(如果不匹配)
问题分析环 → 重新分析(加入验证反馈)
这个循环会持续直到答案通过验证,或者达到最大迭代次数。这种设计让 DeepTutor 在处理复杂、模糊、跨多个知识点的问题时,远比单 Agent 系统更稳定。
四、三层技术架构解析
DeepTutor 的整体架构分为三层,每一层都有明确的功能边界和协作接口。
4.1 用户界面层(User Interface Layer)
这一层负责和用户的所有交互入口:
- Web UI:Next.js 16 + React 19 构建的交互式界面,支持五个工作模式(Chat/Deep Solve/Quiz Generation/Deep Research/Math Animator),所有模式共享同一个上下文线程
- CLI 模式:全功能的命令行界面,结构化输出支持 AI Agent 和自动化 Pipeline
- API 接口:RESTful API + WebSocket,支持第三方系统集成
Web UI 的一个核心设计理念是统一工作空间(Unified Chat Workspace):你在 Chat 模式开始的讨论,可以无缝升级到 Deep Solve(多 Agent 协作解题),然后生成 Quiz 测验题,再进入 Deep Research 深入研究,整个过程不丢失任何上下文。
4.2 Agent 模块层(Agent Module Layer)
这是 DeepTutor 的核心。每个 Agent 都有独立的职责:
| Agent | 职责 | 关键技术 |
|---|---|---|
| MainSolver | 复杂问题的主协调 Agent,驱动双环推理 | 任务分解、验证 |
| AgentCoordinator | 多 Agent 之间的调度和消息路由 | 协作协议、状态管理 |
| TutorBot | 个性化导师 Bot,拥有自己的记忆、个性、技能集 | 费曼学习法、引导式交互 |
| KnowledgeManager | 管理知识库、RAG 检索、文档解析 | PDF 解析、向量化 |
| QuizAgent | 基于知识库生成测验题目 | 题目生成、难度评估 |
| ResearchAgent | 深度研究,跨多个知识源的探索性分析 | 多源检索、总结 |
| MathAnimator | 数学概念的交互式可视化 | Chart.js、SVG 渲染 |
4.3 工具集成层(Tool Integration Layer)
Agent 的能力通过工具层来扩展:
- RAG Pipeline:支持多种 embedding 模型(text-embedding-3-large 等),可选择不同的 RAG 策略(Naive RAG、BM25、Hybrid)
- 知识图谱可视化:将知识点之间的关联以图谱形式展示,帮助用户理解知识结构
- Web 搜索:集成 SearXNG 和 Serper,支持实时网络检索
- 代码执行:沙箱环境中的代码运行和结果展示
- PDF 解析:支持 MinerU、Docling 等高级 PDF 解析方案,保留文档结构
五、代码实战:从安装到创建自定义 TutorBot
5.1 快速安装(Docker 一键部署)
DeepTutor 支持多种安装方式,最简单的是 Docker:
docker run -d --name deeptutor \
-p 8001:8001 \
-p 3782:3782 \
-e LLM_MODEL=gpt-4o \
-e LLM_API_KEY=your-api-key \
-e LLM_HOST=https://api.openai.com/v1 \
-e EMBEDDING_MODEL=text-embedding-3-large \
-e EMBEDDING_API_KEY=your-api-key \
-v $(pwd)/data:/app/data \
-v $(pwd)/config:/app/config:ro \
ghcr.io/hkuds/deeptutor:latest
启动后:
- Web UI:
http://localhost:3782 - API 文档:
http://localhost:8001/docs
5.2 交互式引导安装(推荐)
DeepTutor 提供了 start_tour.py 引导脚本,全程交互式配置:
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
脚本会引导你选择:
- 模式选择:Web 模式(推荐)或 CLI 模式
- 依赖配置:根据你选择的模式自动安装所需依赖
- LLM 配置:支持 OpenAI GPT-4o、Anthropic Claude、Qwen、本地 LM Studio 等
- 连接测试:实时验证 API 连接是否正常
5.3 Python SDK 接入:MainSolver
DeepTutor 的 Python SDK 让你可以在自己的应用里使用双环推理:
import asyncio
from src.agents.solve import MainSolver
from src.agents.question import AgentCoordinator
async def main():
# 创建一个基于 "ai_textbook" 知识库的求解器
solver = MainSolver(kb_name="ai_textbook")
# 用户提问
question = "解释 Go 语言的 GMP 调度模型"
# 触发双环推理
result = await solver.solve(question)
print(f"答案: {result['answer']}")
print(f"引用: {result['citations']}")
print(f"分析: {result['analysis']}")
asyncio.run(main())
MainSolver.solve() 的内部流程就是双环推理的工程实现:
# src/agents/solve.py(伪代码结构)
class MainSolver:
async def solve(self, question: str) -> dict:
# 问题分析环
analysis = await self.problem_analysis_loop.analyze(question)
# 解答生成环
answer = await self.answer_generation_loop.generate(
analysis=analysis,
kb=self.kb
)
# 验证答案是否匹配问题
is_valid = await self.verify(answer, question)
if not is_valid:
# 反馈修正,重新进入问题分析环
refined_analysis = await self.refine_analysis(answer, question)
answer = await self.answer_generation_loop.generate(
analysis=refined_analysis,
kb=self.kb
)
return answer
5.4 创建自定义 TutorBot
TutorBot 是 DeepTutor 最具个性化的功能——你可以为不同学科创建不同的导师 Bot:
from src.agents.tutorbot import TutorBot
# 创建一个 Python 编程导师
python_tutor = TutorBot(
name="Python导师",
personality="耐心、严谨,喜欢用代码示例讲解",
expertise=["Python语法", "面向对象", "装饰器", "异步编程"],
teaching_method="费曼学习法",
memory_persistence=True
)
# 创建一个算法与数据结构导师
algo_tutor = TutorBot(
name="算法导师",
personality="简洁高效,擅长归纳套路",
expertise=["LeetCode刷题技巧", "复杂度分析", "常见数据结构"],
teaching_method="问题驱动式",
memory_persistence=True
)
# 对话示例
async def study_session():
# 用户上传了《算法导论》作为知识库
algo_tutor.set_knowledge_base("introduction_to_algorithms")
response = await algo_tutor.ask(
"我看了快速排序,但总是记不住 partition 的实现逻辑"
)
# TutorBot 不会直接给你代码
# 它会先问你:"你理解的 partition 是什么?"
# 然后根据你的回答指出偏差,引导你自己推导
print(response) # "让我们一步步来——你认为 partition 的目的是什么?"
5.5 RAG 知识库配置
DeepTutor 的 RAG 支持高度可配置:
from src.rag.pipeline import RAGPipeline
from src.rag.embedding import EmbeddingFactory
# 配置混合检索(向量 + BM25)
pipeline = RAGPipeline(
embedding=EmbeddingFactory.create("text-embedding-3-large"),
retrieval_strategy="hybrid", # hybrid | vector | bm25
reranker="cross-encoder"
)
# 上传 PDF 教材
await pipeline.add_document(
path="./data/go_in_action.pdf",
parser="mineru", # 支持 mineru / docling / naive
chunk_size=512,
chunk_overlap=64
)
# 查询时自动带引用
result = await pipeline.query(
"goroutine 的调度原理",
top_k=5,
include_citations=True
)
# 返回包含 page_number 和 chunk_text 的引用信息
5.6 Agent-Native CLI 的强大能力
DeepTutor 的 CLI 不仅是替代 Web UI,它支持 AI Agent 自动化 Pipeline:
# 创建知识库
deeptutor kb create --name "rust-book" --source ./TheRustProgrammingLanguage.pdf
# 上传文档并构建索引
deeptutor kb upload --name "rust-book" --file ./TheRustProgrammingLanguage.pdf
# 查询知识库
deeptutor ask "Rust 的所有权系统是如何工作的"
# 创建 Quiz
deeptutor quiz generate --kb "rust-book" --count 10 --difficulty medium
# 运行 TutorBot
deeptutor bot create --name "rust-tutor" --expertise "Rust" --teaching-method socratic
# 甚至可以给其他 AI Agent 提供 SKILL.md,让它们自主操作 DeepTutor
deeptutor export skill --output ./SKILL.md
<!-- DeepTutor SKILL.md 导出内容(供其他 Agent 使用) -->
# DeepTutor Agent Skill
## Capabilities
- `ask(question)` — 提问,支持知识库上下文
- `quiz(generate)` — 基于知识库生成测验
- `solve(problem)` — 使用双环推理解决复杂问题
- `kb(manage)` — 管理知识库
## Configuration
- API: http://localhost:8001
- Auth: Bearer token in `DEEPTUTOR_TOKEN` env var
这个 SKILL.md 导出功能意味着你可以把 DeepTutor 作为其他 AI Agent 的"工具"来使用——比如让 Claude Code 在代码学习场景下自动调用 DeepTutor 生成练习题。
六、TutorBot 的持久记忆系统:让 AI 越用越懂你
DeepTutor 的持久记忆系统是 TutorBot 区别于普通聊天机器人的关键。
6.1 记忆的类型
DeepTutor 为每个用户维护三层记忆:
短期记忆(对话上下文): 当前会话的对话历史,通过 WebSocket 持久化,支持断点重连后恢复。
中期记忆(会话历史): 用户在 DeepTutor 中的历史会话记录,包括提问模式、知识点覆盖情况。跨会话保持。
长期记忆(用户画像): 基于所有交互构建的用户学习画像:
- 掌握的知识点(通过 Quiz 正确率和对话内容判断)
- 薄弱环节(反复提问的同一类问题)
- 学习风格(偏好图示 / 偏好代码 / 偏好文字解释)
- 学习目标(准备面试 / 系统学习 / 快速查漏)
6.2 记忆在双环推理中的作用
记忆系统不只用于"了解用户",它直接参与双环推理:
# 问题分析环中
async def analyze(question: str, user_profile: UserProfile) -> Analysis:
# 利用用户画像判断问题深度
target_depth = user_profile.suggested_depth(
topic=extract_topic(question)
)
# 利用历史记录判断前置知识
prerequisites = user_profile.known_prerequisites(
topic=extract_topic(question)
)
# 如果前置知识不足,优先补充基础
if not prerequisites.met:
return Analysis(
needs_prerequisite=True,
prerequisite_topic=prerequisites.missing[0],
...
)
6.3 知识图谱与学习路径可视化
DeepTutor 的 Visualize 功能可以将知识库中的概念关系以图谱形式展示:
# 生成知识图谱
graph = await deeptutor.visualize(kb_name="go-textbook")
# 输出格式:
# {
# "nodes": [
# {"id": "goroutine", "label": "Goroutine", "type": "concept"},
# {"id": "GMP", "label": "GMP Scheduler", "type": "concept"},
# {"id": "channel", "label": "Channel", "type": "concept"}
# ],
# "edges": [
# {"from": "goroutine", "to": "GMP", "relation": "managed_by"},
# {"from": "channel", "to": "goroutine", "relation": "communicates_via"}
# ]
# }
图谱中还会标注用户的学习进度——哪些概念已经掌握(通过 Quiz 验证),哪些还是薄弱点。
七、与传统 AI 学习工具的横向对比
| 维度 | DeepTutor | ChatGPT | Khanmigo | 传统知识库问答 |
|---|---|---|---|---|
| 架构 | Agent-Native 多 Agent | 单 Agent | 规则工作流 | RAG + LLM |
| 推理机制 | 双环协同 + 验证反馈 | 单一推理 | 预设引导路径 | 一次性检索生成 |
| 个性化程度 | 用户画像 + 持久记忆 | 无 | 课程级个性化 | 仅知识库相关 |
| 答案引用 | 精准文档 + 页码引用 | 无 | 有 | 粗粒度文档引用 |
| 学习路径追踪 | 知识图谱 + 进度追踪 | 无 | 课程进度 | 无 |
| 代码实战 | 支持 | 有限 | 有限 | 无 |
| 本地部署 | ✅ 完全支持 | ❌ | ❌ | ✅ |
| 开源 | ✅ Apache-2.0 | ❌ | ❌ | 部分 |
| 多 Agent 协作 | ✅ 原生支持 | ❌ | ❌ | ❌ |
DeepTutor 的差异化在于:它不是把 AI 变得更聪明,而是让多个 AI Agent 各司其职、协同工作,形成一个完整的"学习系统"。
八、本地 LLM 支持:隐私优先的开发者的选择
DeepTutor 对隐私敏感的用户提供了完整的本地 LLM 支持:
# 使用 LM Studio 本地模型
deeptutor config set LLM_PROVIDER=lmstudio
deeptutor config set LLM_HOST=http://localhost:1234/v1
deeptutor config set LLM_MODEL=llama-3-8b-instruct
# 使用 Ollama
deeptutor config set LLM_PROVIDER=ollama
deeptutor config set LLM_HOST=http://localhost:11434/v1
deeptutor config set LLM_MODEL=qwen2.5-14b
# 使用 vLLM
deeptutor config set LLM_PROVIDER=vllm
deeptutor config set LLM_HOST=http://localhost:8000/v1
deeptutor config set LLM_MODEL=Qwen/Qwen2.5-14B-Instruct
对于企业用户,这意味着所有数据可以在本地处理,上传的教材、对话记录、用户学习数据都不会离开本地网络。
九、性能与可扩展性
9.1 Agent 协作的并发处理
DeepTutor 的多 Agent 架构天然支持并行处理。当一个复杂问题被分解为多个子任务时,对应的 Agent 可以并发执行:
# MainSolver 内部的任务并行化
async def solve_complex(self, question: str) -> Solution:
# 问题分析环
analysis = await self.analysis_loop.analyze(question)
# 子任务并行执行
sub_tasks = analysis.decompose()
results = await asyncio.gather(*[
self.executor.run(sub_task) for sub_task in sub_tasks
])
# 汇总结果
return self.synthesizer.combine(results)
9.2 WebSocket 的实时体验
DeepTutor 使用 WebSocket 维持和前端的持久连接,实现了:
- 流式响应:答案一个字一个字地输出(typing effect),符合人类对话节奏
- 心跳检测:每 30 秒一次心跳,断线后自动重连并恢复会话
- 书签式会话:每个 URL 都是一个可分享的会话链接
# WebSocket 配置
WebSocketConfig(
heartbeat_interval=30, # 秒
reconnect_attempts=5,
reconnect_delay=2, # 秒
streaming_chunk_size=50, # tokens
idle_timeout=3600 # 1小时空闲自动关闭
)
十、局限性:DeepTutor 面临的挑战
诚实地讲,DeepTutor 也有一些局限性:
第一,双环推理的计算成本不低。 每次问答至少需要两次 LLM 调用(分析环 + 生成环),如果验证失败还会触发额外调用。在 token 成本上比单 Agent 系统高 2-3 倍。
第二,知识库的 embedding 质量决定了上限。 如果 embedding 模型不够好,或者 PDF 解析丢失了关键结构信息,双环推理再强也救不回来。
第三,引导式学习的体验依赖用户的配合度。 TutorBot 的费曼学习法要求用户主动思考,但如果用户只是想快速得到答案,TutorBot 的引导反而会成为阻碍。
第四,v1.1.0 的 LaTeX 解析仍然在优化中。 对于数学密集型的教材(如算法分析、机器学习),当前版本的解析效果还不完美。
十一、开发者如何参与贡献
DeepTutor 是一个非常活跃的开源项目,贡献门槛相对友好:
# 克隆并开发
git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
pip install -e ".[dev]"
pytest # 运行测试
# 查看贡献指南
cat CONTRIBUTING.md
项目使用 Conventional Commits 规范,PR 需要通过 GitHub Actions CI(包括单元测试、Lint、类型检查)。v1.1.0 刚刚发布的 2026 年 4 月 15 日,活跃度非常高。
十二、总结与展望
DeepTutor 给我们展示了 AI 教育工具的一条新路径:不是让 AI 变得更强,而是让多个 AI Agent 各司其职、相互验证。
双环协同推理架构的精髓在于:它承认了 AI 单次推理的不完美,所以设计了验证和反馈机制。这和人类做研究的过程非常像——提出假设、验证、修正、再验证,直到结论成立。
对于程序员来说,DeepTutor 的意义不仅是"一个 AI 学习工具",它还是一个可编程的学习基础设施:
- Agent-Native CLI 让自动化学习 Pipeline 成为可能
- SDK 让你把 DeepTutor 的能力集成到自己的应用里
- SKILL.md 导出让其他 AI Agent 可以"操作"DeepTutor
- 完全本地部署支持让隐私敏感场景也能使用
可以预见,Agent-Native 的设计理念会渗透到更多垂直领域的 AI 应用中——不是让一个超级 Agent 做所有事,而是让一群专业 Agent 协作完成复杂任务。DeepTutor 在教育领域开了个好头。
相关资源:
- GitHub:HKUDS/DeepTutor(17k+ stars)
- 最新版本:v1.1.0(2026.4.15)
- 许可证:Apache-2.0
- 官方文档:项目 README 和 Discussions
- Discord 社区:加入讨论