找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3155

积分

0

好友

420

主题
发表于 2 小时前 | 查看: 4| 回复: 0

项目卡片

  • 项目:DeepTutor[1](HKUDS,Apache-2.0)
  • 状态:v1.0.0(2026.4.4 发布),39 天破万 Star
  • 技术栈:Python 3.11+ / FastAPI / Next.js 16 / LlamaIndex
  • 判断:目前完成度最高的开源 AI 学习平台,前提是你愿意自己部署。

五种模式,一条线程

市面上的大多数AI学习工具往往是单一功能导向的——聊天机器人只管聊天,解题工具只管解题,出题工具只管出题。但DeepTutor选择了一条不同的路径:它把这五种核心学习模式全部整合进了同一个对话线程中。

这五种模式包括:Chat(聊天)、Deep Solve(深度解题)、Quiz Generation(测验生成)、Deep Research(深度研究)和Math Animator(数学动画)。它们共享一个统一的对话上下文。这意味着,你可以在一次连续的对话里,先从闲聊一个概念开始;遇到难题时,直接切换到Deep Solve模式,利用多智能体协作进行分步推理和解答;解题完成后,系统可以自动生成几道相关的题目让你进行自测;最后,如果对某个衍生话题感兴趣,你还可以启动Deep Research模式进行深度的、多来源的资料调研。在整个过程中,所有的对话历史、知识库引用和个人笔记上下文都得以保留,不会丢失。

DeepTutor Chat Workspace界面截图
DeepTutor 的 Chat Workspace,五种模式可在同一对话线程内无缝切换

实现这种统一体验的,是一套精心设计的双层插件架构。底层是原子工具层(Tools),提供了诸如RAG检索、Web搜索、代码执行、深度推理、头脑风暴和论文搜索等基础能力。上层则是能力编排层(Capabilities),每一个Capability都是一个多步骤的智能体(Agent)流水线,它可以根据任务需求,动态地调度和组合底层的各种工具。

这种设计的优势在于工具与能力被完全解耦。在一次对话中,你可以只启用RAG工具来进行简单的知识问答,也可以同时挂载代码执行和Web搜索工具,来完成一个需要综合信息处理和计算的复杂问题。工具的组合权被交还到了用户手中,而非由平台预设死板的流程。

Deep Solve 和 Deep Research:两种 Agent 流水线

观察Deep Solve的工作流程,就能很好地理解这套架构的实际效力。

DeepTutor双层插件架构图
DeepTutor 双层插件架构:Tools 层提供原子能力,Capabilities 层编排多步骤 Agent 流水线

Deep Solve的解题流程被清晰地分为三步:规划 (Plan) → 推理与行动 (ReAct) → 总结 (Write)。在规划阶段,大语言模型(LLM)会首先拆解问题并制定解决策略;在推理阶段,系统进入经典的ReAct循环(思考→行动→观察→再思考),每一步都可以调用RAG、网络搜索或代码执行等工具;最后的写作阶段则将整个推理过程收束,整理成结构清晰、逻辑严密的最终答案。

在代码层面,整个流转路径是这样的:ChatOrchestrator 接收一个 UnifiedContext 对象(其中包含了会话ID、用户消息、历史对话、启用的工具列表、关联的知识库等所有上下文信息),然后将其路由到对应的Capability进行处理。所有的工具和能力都通过注册表(Registry)模式进行管理,这意味着如果你需要新增一种能力,只需实现 BaseCapability 接口并将其注册即可,完全不需要改动核心的Orchestrator逻辑,体现了良好的开源实战项目设计理念。

Deep Research则采用了另一套不同的流水线:重述 (Rephrase) → 分解 (Decompose) → 研究 (Research) → 报告 (Report)。它首先会澄清研究问题,然后将其拆解为多个并行的子课题,接着派出多个研究型智能体,分别从RAG知识库、开放网络和学术论文库三个渠道搜集信息和证据,最后将所有发现汇总成一份带有规范引用的研究报告。尽管Deep Solve和Deep Research两套流水线的编排逻辑各自独立,但它们共享着底层的事件总线(StreamBus)和统一的工具层。

TutorBot:个性化的持久化智能导师

在DeepTutor的所有模块中,TutorBot是笔者花费最多时间研究的部分。它基于nanobot[2]构建,其核心思想是:每一个TutorBot都是一个独立的、持久化的智能体(Agent)——它拥有自己专属的工作空间、长期记忆、性格人格(Soul)以及可扩展的技能集,而不仅仅是一个套用了Prompt模板的聊天API。

TutorBot系统架构图
TutorBot 架构:每个 Bot 拥有独立的 Soul、Workspace、Memory,并通过 Heartbeat 机制主动发起交互

用户可以通过“灵魂模板(Soul Template)”来定义导师的性格,例如苏格拉底式的追问型、鼓励支持型、严格严谨型,或者完全自定义。每个Bot之间是完全隔离的,但它们都能访问DeepTutor底层的共享知识库和工具层。

一个值得注意的细节是它的“心跳(Heartbeat)”机制。这使得Bot能够主动发起交互,例如定时推送复习提醒或发起学习进度检查,而不仅仅是在被用户提问时才被动响应。此外,每个Bot还能通过加载Skill文件来学习新的能力,并且可以轻松接入Telegram、Discord、Slack、飞书、企业微信、钉钉等多种外部渠道。

在CLI层面,相关的操作非常直观:

deeptutor bot create math-tutor --persona "苏格拉底式追问型数学老师"
deeptutor bot create writing-coach --persona "细致耐心的写作指导"
deeptutor bot list

代码执行器:满足学习场景,但非完全沙箱

code_executor.py 模块中实现的安全策略值得单独讨论,因为它非常坦率地界定了自身的能力边界。

代码安全审查与执行流程图
代码执行流程:AST 安全检查 → 子进程隔离执行 → 产物持久化

在执行任何代码之前,ImportGuard 组件会首先解析代码的抽象语法树(AST),并将所有import语句试图导入的模块与一个预设的白名单进行比对。默认的白名单允许常见的数据科学和数学库,如 numpypandasmatplotlibsympy 等。同时,它会拦截诸如 execevalopen 等危险函数调用,以及对 ossyssubprocess 等模块的属性访问。代码实际运行在一个独立的子进程中,并使用 -I 隔离模式,同时设有超时控制。每次执行都会生成一个独立的目录,用于保存源代码、输出日志和任何生成的文件。

项目代码中的注释明确写道:“这是一个尽力而为的限制性运行器,并非一个真正的操作系统级沙箱”。对于教育和学习场景,这套策略基本够用,但显然不能将其用于运行来源不可信的任意代码。

部署选项与实际成本考量

DeepTutor提供了四种部署路径:交互式安装脚本(推荐给大多数用户)、手动分步安装、Docker Compose一键部署,以及纯命令行(CLI)模式。部署时必须配置LLM和Embedding模型服务,但其供应商选择非常广泛——支持超过25家服务商,国内用户可以直接使用阿里云DashScope、深度求索DeepSeek、硅基流动SiliconFlow、智谱AI等。

对于只想快速体验核心功能的用户,最轻量的方式是使用纯CLI模式:

pip install -e ".[cli]"
deeptutor chat --kb textbook --tool rag --tool web_search

如果需要使用完整的Web交互界面,则需要同时运行基于Python FastAPI的后端服务(默认端口8001)和基于Next.js的前端应用(默认端口3782)。实际的运行成本主要取决于你所选用的LLM API——如果使用GPT-4o-mini或DeepSeek这类性价比较高的模型,对于日常学习场景,产生的费用几乎可以忽略不计。

项目还有一个颇具前瞻性的设计:它在根目录放置了一个 SKILL.md 文件,任何支持工具调用(Function Calling)的大语言模型在阅读这个文件后,理论上就能自主操作DeepTutor的各类功能。这意味着你可以将DeepTutor作为一个大智能体工作流中的一个组件来使用,而不仅仅是把它当作一个独立的工具。

对于希望深入探索更多人工智能开源项目和应用实践的开发者,可以关注云栈社区的相关讨论板块,那里汇集了许多技术解析和实战经验分享。


引用链接
[1] DeepTutor: https://github.com/HKUDS/DeepTutor
[2] nanobot: https://github.com/HKUDS/nanobot




上一篇:开源 Hermes Agent 解析:基于自学习闭环与记忆架构的智能体框架
下一篇:实测最近火热的SBTI人格测试:30题全记录,结果竟是CTRL拿捏者?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-12 02:53 , Processed in 0.796458 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表