引言
"从 MOOC 到 MAIC------让学习者主动探索,而不是被动消费。"
这是"一天一个开源项目"系列的第 212 篇 。今天的项目是 OpenMAIC。
在线教育的体验有一个根本性的局限:你看视频,视频播放,你暂停或倍速,但课程本身是固定的。无论你卡在哪个概念上,内容不会为你改变------你要自己搜索、自己理解、自己回来继续。
OpenMAIC 想要打破这个范式。输入一句话,比如"用 30 分钟教我 Python 基础",它会生成一整套交互式课堂:AI 教师讲解、在白板上画图、抛出测验题、让你在浏览器里直接运行代码------多个 AI 智能体各司其职,课堂在实时交互中演化。
29.6k Stars,MIT 协议,清华大学 THU-MAIC 团队出品,2026 年发表于《计算机科学与技术学报》。
你将学到什么
- OpenMAIC 的两阶段生成管道(大纲生成 → 场景内容生成)
- LangGraph 状态机如何协调多智能体的轮次和讨论
- 四类课程场景(Slides/Quiz/Interactive HTML/PBL)的设计逻辑
- 深度交互模式的 5 种 UI 类型
- 多智能体讨论机制(课堂讨论、圆桌辩论、Q&A、白板)
- 可插拔存储架构(浏览器/PostgreSQL/S3)
- 本地 AI 支持(Ollama/FunASR/Lemonade)
前置知识
- 了解 AI Agent 和工具调用的基本概念
- 熟悉 Next.js/TypeScript 开发环境(深入阅读源码时需要)
- 可选:了解 LangGraph 状态机的基本原理
项目背景
项目简介
OpenMAIC(Open Multi-Agent Interactive Classroom)是一个开源 AI 教育平台,核心定位是:用多智能体协作,把任何主题或文档转化成交互式课堂体验。
官方的研究框架叫做"从 MOOC 到 MAIC":
MOOC(大规模开放在线课程):
固定内容 → 被动观看 → 预设路径
MAIC(多智能体交互式课堂):
动态生成内容 → 主动参与 → 个性化演化
↑ AI 教师和同伴智能体实时感知学习者状态,调整课堂节奏
这不只是"AI 生成 PPT"------每个课堂场景都是可交互的,AI 教师可以在 3D 可视化中操作对象,在白板上实时绘图,在代码编辑器里演示逻辑,在讨论中主动点名提问。
该研究已发表于《计算机科学与技术学报》(Journal of Computer Science and Technology,2026年)。
作者与团队
- 团队:清华大学 THU-MAIC 研究组
- 邮件 :thu_maic@mail.tsinghua.edu.cn
- 协议:MIT
- 语言:TypeScript(Next.js)
项目数据
- ⭐ GitHub Stars:29,600+
- 🍴 Forks:5,000+
- 📄 协议:MIT
- 💻 主要语言:TypeScript(Next.js)
- 🌐 团队:清华大学 THU-MAIC
- 🗂️ 快速开始:
pnpm install && pnpm dev - 🐳 Docker:
docker compose up --build
主要功能
解决什么问题
OpenMAIC 在内容生成层和课堂交互层之间,通过多智能体架构打通了整个链路:
markdown
输入(一句话或上传文档)
↓
两阶段生成管道
├── 阶段一:大纲生成(AI 分析主题,结构化课程框架)
└── 阶段二:场景生成(每个大纲条目 → Slides/Quiz/Interactive/PBL)
↓
LangGraph 状态机(多智能体协调层)
├── 教师智能体:讲解、演示、提问
├── 同伴智能体:讨论、辩论、补充
└── 导演图(Director Graph):协调轮次和互动
↓
播放引擎(Playback Engine)
状态机:idle → playing → live
执行 28+ 种动作类型(语音/白板绘图/聚光灯/激光指针等)
↓
学习者(实时参与,可提问、回答、触发讨论)
使用场景
-
从零学习新技术
- "用 30 分钟教我 Python 基础" → 生成带互动练习的完整课堂,AI 教师讲解 + 浏览器内编程实验 + 测验验收
-
解读研究论文
- 上传 PDF,生成交互式论文解读课堂;AI 教师梳理核心贡献,圆桌智能体从不同视角讨论影响与局限
-
企业内训内容创作
- 上传内部文档,生成支持导出
.pptx的标准化课件,支持离线压缩包分发
- 上传内部文档,生成支持导出
-
教学内容创作者辅助
- 快速生成课程草稿,导出为可编辑格式后人工精修,大幅缩短从"想法"到"成品"的周期
-
本地私有化部署
- 配合 Ollama 在离线环境运行,适合数据敏感的企业培训场景
快速开始
bash
# 克隆仓库
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
# 安装依赖
pnpm install
# 配置环境变量
cp .env.example .env.local
# 在 .env.local 中填入至少一个 LLM API Key
# 启动开发服务器
pnpm dev
# 打开 http://localhost:3000
# 或使用 Docker
docker compose up --build
推荐模型:
- Gemini 3 Flash:速度/质量均衡的首选
- Gemini 3.1 Pro:最高质量输出
本地运行(无 API Key):
bash
# 配置 Ollama
OLLAMA_BASE_URL=http://localhost:11434/api/v1
OLLAMA_MODEL=llama3.2
# 配置本地 ASR(FunASR)
ASR_FUNASR_BASE_URL=http://localhost:8000/v1
核心特性
1. 四类课程场景
| 场景类型 | 功能 | 最适合 |
|---|---|---|
| Slides | 语音讲解 + 聚光灯 + 激光指针 | 概念介绍、框架讲解 |
| Quiz | 单选/多选/简答 + AI 智能批改 | 知识点验收、概念理解检验 |
| Interactive HTML | 物理仿真、流程图、实验环境 | 动态过程演示、可视化原理 |
| PBL(项目式学习) | 角色扮演 + 里程碑任务 | 综合实践、案例分析 |
每种场景都支持 AI 教师主动操作(不只是播放静态内容)。
2. 深度交互模式:5 种 UI 类型
深度交互模式是 OpenMAIC 的核心差异化能力:
┌─────────────────────────────────────────────────────┐
│ 深度交互模式 UI 类型 │
│ │
│ 3D 可视化 │ 抽象结构的空间化呈现 │
│ │ AI 教师可以旋转、缩放、标注 3D 对象 │
│ │ │
│ 仿真环境 │ 动态过程/实验的交互式模拟 │
│ │ 物理定律演示、化学反应、算法步骤 │
│ │ │
│ 游戏化 │ 知识强化的互动小游戏 │
│ │ 寓教于乐,降低认知负担 │
│ │ │
│ 思维导图 │ 概念框架的可视化组织 │
│ │ 实时构建,展示知识结构 │
│ │ │
│ 在线编程 │ 浏览器内代码编辑器 + 即时执行 │
│ │ AI 教师可以演示,学习者可以修改并运行 │
└─────────────────────────────────────────────────────┘
关键点:AI 教师可以主动操作这些 UI 来引导学习者------不是让学习者自己摸索,而是"老师在旁边带着你做"。
3. 多智能体讨论机制
| 机制 | 工作方式 |
|---|---|
| 课堂讨论 | 智能体主动发起;学习者可以回答,也可能被"点名" |
| 圆桌辩论 | 多个角色从不同立场讨论,配合白板图示 |
| Q&A 模式 | 自由提问,智能体用幻灯片、图表或白板作答 |
| 白板协作 | 实时共享 SVG 画布,支持公式、流程图、概念图 |
4. 播放引擎与动作系统
课堂播放不是视频回放------是一个状态机驱动的实时执行引擎:
css
状态机:idle → playing → live
支持 28+ 种动作类型:
语音类:speech(朗读文本)、pause(停顿)
视觉类:spotlight(聚光灯高亮)、laser_pointer(激光指针)
白板类:draw_line、draw_text、draw_shape、draw_chart
互动类:ask_question(向学习者提问)、show_quiz
3D 类:rotate_object、zoom_to、annotate_3d
...
5. 可支持的 LLM 提供商
OpenMAIC 明确设计为"模型中立":
云端:
OpenAI(GPT 系列)
Anthropic(Claude 系列)
Google(Gemini 3 Flash/Pro)
Azure OpenAI
Amazon Bedrock
DeepSeek、Qwen、Kimi、MiniMax
Grok(xAI)、OpenRouter
Doubao(字节跳动)、腾讯混元
小米 MiMo、GLM(智谱 AI)
本地:
Ollama(任意兼容模型)
Lemonade(LLM + 图像生成 + TTS + ASR)
FunASR(SenseVoiceSmall、Paraformer、Fun-ASR-Nano)
任意 OpenAI 兼容端点
6. 导出格式
| 格式 | 内容 | 使用场景 |
|---|---|---|
.pptx |
可编辑幻灯片,含图表、LaTeX 公式 | 企业培训、正式课件 |
| 交互式 HTML | 内联所有资源的独立文件(KaTeX/Three.js/字体均转 data: URI) | 离线分发 |
| 课堂 ZIP | 完整课程结构 + 媒体资源 | 备份/团队共享 |
7. 可插拔存储架构
typescript
// @openmaic/storage 支持多种后端
const storage = createStorage({
documents: 'browser', // 默认:浏览器本地存储
assets: 's3', // 媒体资源:S3 兼容对象存储
sessions: 'postgresql', // 智能体会话:PostgreSQL(带 lease/heartbeat/resume)
kv: 'browser', // 键值缓存
})
PostgreSQL 后端的 Agent Runtime 支持:lease(租约)、heartbeat(心跳)、crash resume(崩溃恢复)、cancellation(取消)、follow-up steering(后续引导)。
深入剖析
两阶段生成管道的设计逻辑
为什么要分两个阶段,而不是直接生成完整课程?
markdown
一阶段生成(直接输出)的问题:
→ 难以保证结构一致性
→ 各场景类型的特定格式难以精确控制
→ 整体课程长度/难度难以调配
两阶段管道的优势:
阶段一:大纲生成
输入:主题 / 文档 / 学习目标
输出:结构化大纲(章节 → 场景类型 → 预期时长)
→ 可在此步骤让用户审查和修改大纲
阶段二:场景内容生成(并行)
每个大纲条目独立调用场景生成器
→ Slides 生成器、Quiz 生成器、Interactive HTML 生成器、PBL 生成器
→ 各场景类型有专用的生成规范和 prompt 资产
@openmaic/generation 包负责生成合约、管道逻辑和 prompt 资产------这是整个系统的核心。
LangGraph 状态机的多智能体协调
课堂不是线性的------多个智能体需要轮流发言、等待学习者响应、决定下一步动作。LangGraph 是实现这种协调的关键:
markdown
Director Graph(导演图)模式:
导演智能体(协调者)
↓
┌────────────────────────────────┐
│ 课堂状态图 │
│ 讲授 → 提问 → 等待回应 │
│ ↑ ↓ │
│ 讨论 ← 处理回应 → 下一场景 │
└────────────────────────────────┘
↓
教师智能体 同伴智能体
(主讲、演示) (讨论、补充)
20 个内置 skill 覆盖了课程规划、研究、讲授、工作坊和编辑等多种角色------智能体通过 skill 组合来模拟不同的教学风格。
"中性设计"哲学
官方将 OpenMAIC 定位为"中性设计":
自带你的:
模型(OpenAI / Anthropic / Ollama / 任意兼容端点)
媒体(图片、视频、音频提供商)
搜索提供商(课程内容增强时的信息检索)
存储后端(浏览器 / PostgreSQL / S3)
OpenMAIC 提供:
生成管道逻辑
多智能体协调框架
播放引擎
课堂交互 UI
导出工具
这种设计让 OpenMAIC 既可以完全在本地运行(Ollama + 浏览器存储),也可以集成云端最强模型(Gemini 3.1 Pro + S3 + PostgreSQL),同一个代码库,不同部署配置。
与现有在线教育平台的定位对比
| 平台 | 定位 | 关键差异 |
|---|---|---|
| Coursera / edX | MOOC 平台 | 固定内容,被动观看 |
| Khan Academy | 交互式练习 | 有互动但无多智能体 |
| AI PPT 生成工具 | 自动生成幻灯片 | 只有幻灯片,无多智能体课堂 |
| OpenMAIC | 多智能体交互式课堂 | 动态生成 + AI 教师实时操作 + 多智能体讨论 |
最关键的差异是"AI 教师主动操作 UI"------不是生成一个静态文档让学习者自己看,而是 AI 带着学习者一步步做、看、练、讨论。
项目地址与资源
官方资源
- 🌟 GitHub :github.com/THU-MAIC/Op...
- 📧 联系团队 :thu_maic@mail.tsinghua.edu.cn
- 📄 协议:MIT
相关资源
- LangGraph --- OpenMAIC 多智能体协调所用的状态机框架
- Ollama --- OpenMAIC 本地 AI 支持的核心
- FunASR --- 本地语音识别,支持 SenseVoiceSmall 等模型
总结与展望
核心要点回顾
- 两阶段管道 = 生成质量的保障:大纲先行,确保结构一致;再并行生成场景内容,各类型有专用规范
- LangGraph 状态机 = 多智能体协调的底层:导演图模式协调教师/同伴智能体的轮次和讨论节奏
- 28+ 动作类型 = 课堂的"表现力":不只是播放内容,AI 教师会操作白板、高亮关键点、主动提问
- 5 种深度交互 UI = 真正的"沉浸式学习":3D、仿真、游戏、思维导图、在线编程------AI 教师带着你操作,不是让你自己摸索
- 中性设计 = 任何模型、任何存储:本地 Ollama 或云端 Gemini Pro,同一套代码,配置驱动
适合谁
- 在线教育内容创作者 :大幅缩短从"想法"到"可交互课件"的周期,导出
.pptx后可进一步精修 - 企业培训团队:内部文档 → 标准化培训课堂,支持私有化部署,数据不出内网
- AI 研究者和学生:探索多智能体在教育场景下的协调设计,LangGraph 状态机的真实落地案例
- 个人学习者:一句话进去,一整套定制课堂出来------比"搜 YouTube 再找教程"高效不止一个数量级
- 开发者/教学技术爱好者:完整的 Next.js + LangGraph 多智能体开源项目,是学习"真实多智能体系统如何设计"的极好参考
一句话评价
OpenMAIC 想回答的问题是:当 AI 既能理解内容又能主动教学时,课堂可以是什么样子------不是视频,不是聊天,是一个会说话、会画图、会提问的活的课堂。
欢迎访问 PrimeSkills ------ 一个精心策划的 AI Agent 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。
更多实用知识和有趣产品,欢迎访问我的个人主页