Math-To-Manim:六个 AI Agent 推理链,把数学问题变成电影级动画

痛点切入

你是一个数学老师或物理科普作者。你有一个想法——“用动画解释傅里叶级数的旋转矢量叠加”。你打开 Manim,发现要写 200 行 Python 代码,调试相机角度、字体大小、动画时序,折腾三个小时,最后导出的 GIF 还是糊的。

或者你用 ChatGPT 生成 Manim 代码,跑出来一堆 MathTex 重叠、公式和文字打架、镜头拉得太远看不清。你不是不会写代码,你是不想花三个小时调参数。

Math-To-Manim 解决的就是这个问题:你用一句话描述想解释什么,它给你一部完整的动画电影。

项目简介

Math-To-Manim 是一个开源项目,用 AI Agent 接管从”理解问题”到”渲染 MP4”的全流程。GitHub 2.4k star,339 次提交,255 个 fork,MIT 协议,Python 编写。

项目作者 Christian H. Cooper 在 2025 年 1 月 20 日——DeepSeek R1 发布的那天——创建了这个仓库。他在推文中写道:“I asked R1 to visually explain the Pythagorean theorem. This was done in one shot with no errors in less than 30 seconds. Wrap it up, its over.”

这句话说出了核心洞察:大模型已经能直接生成可运行的 Manim 代码了。问题是质量不稳定,镜头语言、教学节奏、视觉美感全靠运气。Math-To-Manim 的做法是在代码生成前加六个推理阶段,让 AI 先”想清楚”再写代码。

为什么是它

六阶段推理链:不是写代码,是做导演

普通 text-to-code 跳过了所有教学设计。Math-To-Manim 走了一条更长的路:

  1. Intent(意图解析) — 澄清学习者真正想理解什么
  2. Prerequisite Graph(前置知识图谱) — 从最终概念反向推导出需要先学什么
  3. Curriculum(课程编排) — 把知识图谱变成可教学的顺序
  4. Math Director(数学导演) — 选择定义、方程、假设和示例
  5. Cinematographer(摄影师) — 设计每一帧的镜头语言、文字排版、动画时序
  6. Scene Composer(场景合成) — 把所有计划编译成 Manim 对象和动画序列

然后才进入代码生成、静态检查、渲染、自修复。

这意味着什么? 它不是在”写 Manim 代码”,它是在”教你怎么理解这个概念,然后用动画把教学过程拍成电影”。每一帧都有教学目的,不是装饰。

Prime Intellect RL:让模型学会修复自己的错误

Math-To-Manim 还在做一件更前沿的事:用强化学习训练模型修复渲染后的错误。模型生成了 Manim 代码,渲染后发现文字和公式重叠了——RL 环境给模型看验证报告和渲染证据,让它学会只修改必要的代码片段,而不是重写整个场景。

这个 RL 环境已经发布在 Prime Intellect Hub 上(harleycooper/math-to-manim@0.1.1),在 Qwen/Qwen3.5-35B-A3B 上跑过 25 步 pilot。目标不是”一次性完美”,而是”出了问题能自己修”。

不只是 Claude:双后端支持

项目支持两个代码生成后端:

  • Claude Mythos — 六阶段推理链,电影级输出,适合高质量场景
  • Codex CLI — 本地认证的 OpenAI 会话,渐进式迁移,适合快速迭代

早期规划阶段用 typed adapter,只有代码生成和修复阶段才切换到 Codex。这让迁移是增量的,不是推倒重来。

快速上手

三步到第一个动画:

# 1. 克隆并安装
git clone https://github.com/HarleyCoops/Math-To-Manim.git
cd Math-To-Manim
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,render]"

# 2. 安装渲染依赖(Debian/Ubuntu/WSL)
./scripts/bootstrap-render.sh

# 3. 生成动画
m2m2 generate \
  "Show why the quantum harmonic oscillator only allows discrete energies: start with a springy potential well, zoom into the wavefunctions, then reveal the ladder of allowed energy levels." \
  --codegen-provider codex-cli \
  --codex-full-auto \
  --style cinematic \
  --quality l \
  --runs-dir runs

生成的视频和所有中间产物都保存在 runs/<run_id>/ 目录下——包括 JSON 契约、生成的代码、验证报告、渲染结果和 manifest。

如果你不想花模型调用时间,可以先跑确定性冒烟测试:

math-to-manim generate "Explain why derivatives are slopes" --deterministic --no-render

这会验证 CLI、artifact 契约和验证器是否正确连接,不消耗任何 API 额度。

亮点代码

项目的杀手级用法是 QED 之旅——一个 200 秒、约 160 个动画的量子电动力学完整讲解:

python -m mythos.harness "explain quantum field theory" --render -q m
# 或者直接渲染旗舰场景
manim -qh examples/mythos/qft_cinematic.py QFTCinematicJourney

这个场景的镜头语言是:进入拉格朗日量内部,逐项用纯文字标题解释符号含义,然后镜头飞入正在讲解的那项,再拉远恢复上下文。不是从头到尾念公式,而是像导游一样带你在数学结构里走一圈。

每次运行都会产出完整的 run bundle:

runs/<run_id>/
  request.json          # 原始请求
  intent.json           # 意图解析
  knowledge_graph.json  # 前置知识图谱
  curriculum.json       # 课程编排
  math_packet.json      # 数学材料包
  storyboard.json       # 分镜脚本
  scene_spec.json       # 场景规格
  generated_scene.py    # 生成的 Manim 代码
  validation_report.json
  render_result.json
  review_report.json
  manifest.json

每个 JSON 都是版本化的契约,可以被下游工具读取和验证。这不是一个黑箱,而是一条完全可观测的管线。

社区与生态

社区活跃度从数据看不错:2.4k star,255 fork,339 次提交,18 个 watcher。项目有完善的文档架构——docs/ 目录下有架构文档、RL 集成说明、roadmap 和 showcase 画廊。

Hermes Agent 被集成为仓库的贡献者/运维层。它不是运行时依赖,而是用仓库的方式和项目交互:读文件、搜代码、跑测试、审查渲染结果。这让维护反向推理管线变得可行。

Prime Intellect 的 RL 集成是生态中最值得关注的部分。模型不再只是生成代码,而是在学习修复渲染后的视觉问题——文字重叠、公式太小、镜头角度错误。这是一个可训练的动画制作环境,不只是一个代码生成器。

适用场景与局限

适合用的场景:

  • 数学/物理科普视频制作——从概念解释到成品动画
  • 在线教育内容——课程动画、知识点可视化
  • 学术论文配图——生成论文中的动态演示
  • 社交媒体传播——快速产出数学之美的短视频

不适合的场景:

  • 需要精确时序控制的商业动画——管线是自动化的,精细调参空间有限
  • 复杂的叙事类动画——目前专注于教学解释,不是讲故事
  • 实时渲染——生成后需要离线渲染,不支持实时预览
  • 非数学内容——核心推理链是围绕数学教学设计的

踩坑提醒:

  • 渲染需要 FFmpeg 和 LaTeX,WSL 和 macOS 都需要额外安装系统依赖
  • 高质量渲染(-q l)耗时较长,快速迭代建议先用 --no-render 验证代码
  • Claude Mythos 后端需要 Claude 订阅或 API 访问,Codex CLI 需要本地认证

结论

Math-To-Manim 证明了一件事:AI 生成代码只是起点,让 AI 理解”怎么教”才是真正的差异化。六个推理阶段把一个模糊的问题变成一部有教学节奏的动画电影,中间产物全部可观测、可验证、可修复。

如果你在做数学可视化或教育内容,这个项目值得认真看一眼。它不只是一个代码生成器,而是一个”教学动画制作管线”。

仓库:https://github.com/HarleyCoops/Math-To-Manim

相关文章

AntV Infographic:让 AI 生成真正可编辑的信息图

AntV Infographic:让 AI 生成真正可编辑的信息图

痛点切入 AI 生成信息图最尴尬的地方,不是它不会画,而是它画完以后很难改。 让模型直接生成一张图片,第一眼可能还行。可一旦你想改文案、换颜色、删掉一个模块、把第二步挪到第三步,马上就进入“ ...

Cowart:为 Codex 打造的本地无限画布,让 AI 编程看见你的想法

此项目建立的初衷 AI 编程工具发展到今天,已经能读懂代码、修改文件、运行命令。但有一个问题一直没被很好解决:AI 怎么理解你的视觉意图? 你做了一个 UI 设计,想让 AI 帮你实 ...

Cell Architecture Studio:用 3D 探索细胞,开源

生物课本有一个问题。 里面的图是平的。细胞器用箭头标注,三四个箭头指向同一个位置。内质网怎么包裹细胞核、线粒体怎么在细胞质里漂浮——这些空间关系,你得盯着静态插图读一段文字来理解。 Cell Ar ...

LongCat-Video:美团开源 13.6B 视频生成模型,长视频才是真正的战场

长视频生成为什么难 你可能已经体验过不少视频生成工具——Kling、Runway、Pika、Wan2.1……5 秒的片段看起来都不错。但当你尝试生成 30 秒甚至分钟级视频时,问题就来了。 ...

Claw Code:193K 星的开源 Agent Harness,AI 编程的下一个战场

Claw Code:193K 星的开源 Agent Harness,AI 编程的下一个战场

此项目建立的初衷 过去一年,AI 编程工具的变化非常快。 最早,开发者用 AI 主要是为了补全代码。后来,AI 开始进入聊天窗口,帮我们解释代码、生成函数、排查报错、写测试用例。再后来,Cu ...

Manim 全面对比:3b1b 原版 vs 社区版,87k+39k star 的两个数学动画引擎怎么选

痛点切入 你看过 3Blue1Brown 的视频——那些丝滑的数学可视化动画,傅里叶变换在屏幕上旋转,线性代数的矩阵变换实时作用于几何图形。你想做类似的东西,但打开 PowerPoint 做不 ...