-
auo4 AI 观察 用户
清华大学开源 OpenMAIC:一键把任意主题变成多智能体互动课堂
想做一节「会讲课、能板书、还会用激光笔圈重点」的互动课,过去意味着写脚本、录视频、做动画。清华大学团队开源的 OpenMAIC(Open Multi-Agent Interactive Classroom)把这件事压成了一句话的事:给它一个主题或一份文档,它就生成一场沉浸式的多智能体互动课堂。项目托管在 GitHub(THU-MAIC/OpenMAIC),采用 MIT 许可证,截至 2026 年 10 月底已收获约 4.23 万 Star、6500 Fork、810 次提交,最近一次提交就在 10 月 30 日,社区活跃度相当高。
它到底能做什么
OpenMAIC 的定位是「一键获取沉浸式多智能体学习体验」。用户只需提供主题或上传文档,系统会先生成课程大纲,再把大纲展开成一系列带角色、带动作的课堂场景,最后通过回放引擎把整节课「演」出来:语音讲解、白板画图、写公式、画图表、用聚光灯和激光笔强调重点,一气呵成。它既可以是教育场景里的课件生成器,也可以是企业培训、知识科普的讲解工具——把枯燥的文档,变成有「老师」在黑板上推导的可视化过程。
架构:一条流水线 + 多智能体编排 + 回放与动作引擎
从代码组织看,OpenMAIC 的核心是一条两阶段的生成流水线(lib/generation/):先生成大纲,再生成场景内容。真正让它「活」起来的,是三套引擎的协作。
其一是多智能体编排层(lib/orchestration/)。它基于 LangGraph 构建成一个状态机,管理智能体的轮次与讨论:系统中有「导演(Director)」和 call_agent 机制,一节课的讨论由多个智能体轮次组成,过去有 6 轮上限,现已移除,改为由正常工具(cue_user、close_session)结束会话。其二是回放引擎(lib/playback/),驱动课堂回放与实时互动的状态机。其三是动作引擎(lib/action/),负责执行 28+ 种动作类型——语音、白板绘图、文字、形状、图表、聚光灯、激光笔等,正是这些细粒度动作让画面看起来像真实授课而非幻灯片放映。
为了让动画既精确又可复现,项目把编排语义收敛到 lib/choreography/ 作为「单一真实来源」,供运行时和视频导出器共用;其中 timing.ts、cursor.ts(resolvePlaybackCursor、EMPTY_SCENE_DWELL)、timeline.ts(resolveActionTimeline)分别处理时序、光标与时间轴映射,descriptors/ 下则用 zod 做了版本化校验的动画描述符(如 spotlight.v1、laser.v1)。引擎回归测试里就有 28 项相关用例。
能力槽与模型解析:想接什么能力,就开什么槽
OpenMAIC 把媒体的工具能力抽象成「能力槽」,目前覆盖 TTS、ASR、图像、视频、网页搜索、文档抽取等;服务端模型配置采用分层解析:部署层 → 工作空间层 → 默认值,开发者可以通过 openmaic.yml 的 schema 与能力槽森林来声明自己要开哪些能力。配套的 @openmaic/* SDK 家族(dsl、renderer、importer)已经发到 npm,方便二次开发。技术栈上,前端可见 React(motion.div、framer-motion 受限使用)、后端走 Node 与 zod,数据层用 PostgreSQL,存储侧 @openmaic/storage 对工作空间模型配置做了 AES-256-GCM 静态加密;README 里还提供了 VoxCPM2 自托管 TTS 的搭建指南,进一步降低离线部署门槛。
为什么值得关注
对开发者来说,OpenMAIC 的价值不只是「AI 讲课」这个 demo 效果,而是把「多智能体如何分工产出结构化多媒体内容」这件事工程化、开源化了:LangGraph 编排、动作引擎、回放引擎、能力槽这套组合,几乎可以直接复用到任何需要「自动生成带演示的视频/课件」的场景。4.2 万 Star、MIT 协议、以及仍在高频更新的提交记录,也意味着踩坑有人填、扩展有人做。如果你正在做教育科技、企业培训或知识讲解类产品,这个项目值得 fork 下来读一遍代码——它把「让 AI 替你上课」从概念真正变成了一行命令就能跑起来的东西。
来源:GitHub 仓库 THU-MAIC/OpenMAIC(含 About、提交历史、目录结构与许可证信息)、开源中国对 OpenMAIC 的架构报道(生成流水线、LangGraph 编排、28+ 动作类型等)。数据以仓库实时状态为准。