一天一个开源项目(第212篇):OpenMAIC —— 清华出品的多智能体交互式课堂

引言

"从 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年)。

作者与团队

项目数据

  • ⭐ 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+ 种动作类型(语音/白板绘图/聚光灯/激光指针等)
       ↓
  学习者(实时参与,可提问、回答、触发讨论)

使用场景

  1. 从零学习新技术

    • "用 30 分钟教我 Python 基础" → 生成带互动练习的完整课堂,AI 教师讲解 + 浏览器内编程实验 + 测验验收
  2. 解读研究论文

    • 上传 PDF,生成交互式论文解读课堂;AI 教师梳理核心贡献,圆桌智能体从不同视角讨论影响与局限
  3. 企业内训内容创作

    • 上传内部文档,生成支持导出 .pptx 的标准化课件,支持离线压缩包分发
  4. 教学内容创作者辅助

    • 快速生成课程草稿,导出为可编辑格式后人工精修,大幅缩短从"想法"到"成品"的周期
  5. 本地私有化部署

    • 配合 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 带着学习者一步步做、看、练、讨论。


项目地址与资源

官方资源

相关资源

  • LangGraph --- OpenMAIC 多智能体协调所用的状态机框架
  • Ollama --- OpenMAIC 本地 AI 支持的核心
  • FunASR --- 本地语音识别,支持 SenseVoiceSmall 等模型

总结与展望

核心要点回顾

  1. 两阶段管道 = 生成质量的保障:大纲先行,确保结构一致;再并行生成场景内容,各类型有专用规范
  2. LangGraph 状态机 = 多智能体协调的底层:导演图模式协调教师/同伴智能体的轮次和讨论节奏
  3. 28+ 动作类型 = 课堂的"表现力":不只是播放内容,AI 教师会操作白板、高亮关键点、主动提问
  4. 5 种深度交互 UI = 真正的"沉浸式学习":3D、仿真、游戏、思维导图、在线编程------AI 教师带着你操作,不是让你自己摸索
  5. 中性设计 = 任何模型、任何存储:本地 Ollama 或云端 Gemini Pro,同一套代码,配置驱动

适合谁

  • 在线教育内容创作者 :大幅缩短从"想法"到"可交互课件"的周期,导出 .pptx 后可进一步精修
  • 企业培训团队:内部文档 → 标准化培训课堂,支持私有化部署,数据不出内网
  • AI 研究者和学生:探索多智能体在教育场景下的协调设计,LangGraph 状态机的真实落地案例
  • 个人学习者:一句话进去,一整套定制课堂出来------比"搜 YouTube 再找教程"高效不止一个数量级
  • 开发者/教学技术爱好者:完整的 Next.js + LangGraph 多智能体开源项目,是学习"真实多智能体系统如何设计"的极好参考

一句话评价

OpenMAIC 想回答的问题是:当 AI 既能理解内容又能主动教学时,课堂可以是什么样子------不是视频,不是聊天,是一个会说话、会画图、会提问的活的课堂。


欢迎访问 PrimeSkills ------ 一个精心策划的 AI Agent 与技能市场,所有内容均经过真实企业级工作流验证。没有噱头,只有真正有效的东西。

更多实用知识和有趣产品,欢迎访问我的个人主页

相关推荐
北岛贰1 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
乐迪信息1 小时前
如何通过AI防爆摄像机精准判断船舶超速?
大数据·人工智能·算法·安全·目标跟踪
leoZ2311 小时前
第 1 篇:为什么不该再让 AI 画页面
人工智能·神经网络·机器学习·自然语言处理·cnn·word2vec·mllib
冬奇Lab1 小时前
DeepSeek Harness 系列(01):它是什么——生产级 Agent 运行时全景
人工智能·deepseek
大模型真好玩1 小时前
DeepSeek Harness 入门很简单(三)——DeepSeek Harness接入工具、MCP、Skill
人工智能·agent·deepseek
NeoGressAI外贸数字化1 小时前
外贸独立站选型:WordPress还是AI工具?部署实测对比
人工智能
LUSTER凌云光1 小时前
凌云光荣获 “热成形产业创领先锋奖“,以视觉AI助力汽车智能制造
人工智能·汽车·制造
ITxiaobing20232 小时前
广告归因场景下的IP情报工程化:提升AppsFlyer P360匹配精度的实践思路
大数据·人工智能·tcp/ip
小艾.pino2 小时前
MiniMax M3顶住新一代多模态大模型的架构与实战
人工智能·架构