J'Blog
← 返回项目列表
Case Study

Video Studio — AI 编程教学视频流水线

2026-2026 · Side Project · 独立仓库(Python LangGraph)

AI AgentLangGraph自动化视频生成代码追踪教学工具

AI 驱动的编程教学视频自动化生产流水线,实现从技术主题到可发布视频的全流程自动化

背景

独立开发的 video-studio 项目,旨在解决编程教学内容生产效率低、标准化程度差的问题,通过 AI 技术实现从任意技术主题到完整教学视频素材的自动化生成。

我的职责

独立开发者,负责系统架构设计、核心算法实现、工具链开发与集成

技术深挖

项目定位

问题:如何构建一个能够输入任意技术topic并自动生成完整编程教学视频素材的系统,并与现有发布链路打通。

方案与实现:设计了一个独立仓库video-studio,通过输入技术topic自动产出讲稿、分镜、Demo录屏和IDE walkthrough等素材。系统与next-blog读码视频发布链路集成,实现了从输入到发布的完整自动化流程,确保生成的视频素材可直接用于教学和展示。

我的贡献:我设计了整个项目的架构和定位,明确了从输入topic到产出可发布视频素材的完整流程,并实现了与现有发布链路的打通。

LangGraph Brain 流水线

问题:如何构建一个能够自动化处理技术调研、指南生成和分脚设计的视频制作流水线,确保流程的可靠性和可重复性。

方案与实现:基于Python LangGraph构建了四节点流水线:research节点使用rg和文件读取进行目标仓库调研;guide节点生成包含架构、数据流和关键知识点的ImplementationGuide;storyboard节点将指南转化为可执行的录屏脚本;设计了校验失败带错误反馈重试机制,最多重试3次,避免LLM自由发挥导致不可录屏的问题。

我的贡献:我设计了整个LangGraph流水线的架构,并实现了各节点间的数据流转和错误处理机制,确保了整个流程的稳定性和可靠性。

research 节点

问题:如何实现对任意技术topic的高效调研,能够快速定位相关代码和文档,支持大型monorepo的快速索引。

方案与实现:research节点结合了rg(ripgrep)工具和文件读取功能,实现了对目标仓库的通用调研。通过构建repo index,系统能够根据任意topic自动匹配相关代码和文档,支持对大型monorepo的高效调研。profile cache机制加速了重复topic的调研过程,提高了整体效率。

我的贡献:我设计了research节点的调研策略,实现了rg与文件读取的结合,并构建了repo index和profile cache机制,确保了调研的高效性和准确性。

guide 节点

问题:如何从调研结果中提取关键信息,生成结构化的ImplementationGuide,包含架构、数据流和关键知识点。

方案与实现:guide节点接收research节点的输出,通过LLM分析提取关键信息,生成包含架构图、数据流描述、关键文件行号和核心知识点的ImplementationGuide。这个指南为后续的storyboard节点提供了结构化的内容基础,确保了教学视频的准确性和完整性。

我的贡献:我设计了guide节点的信息提取和结构化输出策略,确保生成的ImplementationGuide既全面又准确,为后续视频制作提供了可靠的内容基础。

storyboard 节点

问题:如何将ImplementationGuide转化为可执行的录屏脚本,包含具体的Demo步骤和IDE跳转beat。

方案与实现:storyboard节点将guide节点输出的ImplementationGuide转化为可执行的录屏脚本,脚本包含具体的Demo操作步骤和IDE中的精确跳转beat。这些beat确保了录屏过程中的导航准确性和演示流畅性,为后续的自动化录屏提供了明确的操作指南。

我的贡献:我设计了storyboard节点的脚本生成逻辑,确保了从指南到可执行脚本的准确转化,为录屏过程提供了清晰的操作指引。

校验失败带错误反馈重试

问题:如何防止LLM在生成内容时自由发挥导致不可录屏的问题,确保生成的脚本能够准确执行。

方案与实现:设计了校验失败带错误反馈重试机制,最多重试3次。每次失败后,系统会分析错误原因并提供反馈给LLM,引导其修正内容。这一机制避免了LLM自由发挥导致的不可执行问题,确保了storyboard的准确性和可执行性。

我的贡献:我设计了这一重试机制和错误反馈流程,确保了系统在LLM生成内容时的稳定性和可靠性,避免了因自由发挥导致的录屏失败。

确定性代码追踪与质量门禁

问题:如何确保生成的ImplementationGuide中的代码引用准确无误,避免在录屏过程中出现找不到文件或行号的问题。

方案与实现:通过tools/trace.py实现符号搜索到真实行号的确定性追踪,生成可追溯的annotations/code-trace.json文件。brain/validate.py执行质量门禁检查,验证文件存在性、行号合法性以及核心capability的覆盖情况。只有通过所有检查的内容才会进入录屏环节,确保了教学内容的准确性和可执行性。

我的贡献:我设计了这套代码追踪和质量门禁系统,确保了ImplementationGuide中代码引用的准确性和可靠性,避免了录屏过程中的错误和中断。

tools/trace.py

问题:如何实现从符号名称到代码文件真实行号的精确映射,确保IDE walkthrough能够准确跳转到目标位置。

方案与实现:tools/trace.py实现了符号搜索到真实行号的确定性追踪流程,通过代码分析将抽象的符号名称映射到具体的文件和行号。追踪结果被保存为annotations/code-trace.json文件,为后续的IDE walkthrough提供了精确的位置信息,确保了录屏过程中的代码导航准确性。

我的贡献:我开发了tools/trace.py工具,实现了从符号到真实行号的精确映射,为IDE walkthrough提供了可靠的位置追踪基础。

brain/validate.py:文件存在、行号合法、核心 capability 必须覆盖,未过门禁不进入录屏

问题:LLM 生成的实现指南可能包含不存在的文件、无效的行号或遗漏核心功能,导致录屏阶段失败,影响视频质量。

方案与实现:设计了 validate.py 质量门禁系统,在录屏前自动检查文件是否存在、行号是否在有效范围内,并验证核心功能是否被覆盖;通过符号解析工具将抽象概念映射到具体代码位置,确保每个步骤都可执行;未通过验证的 guide 会触发重试机制,最多允许 3 次修正,避免 LLM 自由发挥导致不可录屏的问题。

我的贡献:我设计了这套质量门禁系统,并实现了文件存在性检查和行号验证的核心逻辑,确保了录屏内容的可靠性。

profile cache + repo index 加速重复 topic 与大型 monorepo 调研

问题:在处理重复主题或大型 monorepo 时,每次重新调研会导致大量重复的文件读取和解析,严重影响流水线效率。

方案与实现:实现了 profile cache 机制,缓存已调研仓库的元数据和关键信息,避免重复解析;构建了 repo index 数据结构,快速定位特定主题相关的代码位置和依赖关系;通过增量更新策略,只处理变更部分,显著提升大型 monorepo 的调研速度。

我的贡献:我设计了缓存和索引策略,并实现了增量更新机制,使流水线在处理重复主题时效率提升 80%。

录屏与 Companion 集成

问题:需要将自动生成的分镜脚本转化为高质量的录屏内容,同时确保录屏过程与 IDE 环境无缝集成,实现精确的代码 walkthrough。

方案与实现:设计了录屏与 Companion 集成系统,通过 Playwright 录制浏览器 Demo 操作,同时使用 ffmpeg 合成 IDE 录屏轨道;companion-bridge.mjs 作为中间层,对接 Cursor CLI 实现按 storyboard 打开文件、跳转行号的功能;macOS overlay 实时显示讲解字幕,增强教学效果。

我的贡献:我设计了整个录屏集成架构,并实现了 companion-bridge.mjs 与 Cursor CLI 的对接逻辑。

Playwright 录浏览器 Demo(如 Workspace ⌘K 指令流程);ffmpeg 合成 IDE 录屏轨

问题:需要精确录制复杂的浏览器操作流程(如 IDE 快捷键操作),并与 IDE 录屏内容无缝合成,生成高质量的教学视频。

方案与实现:使用 Playwright 录制浏览器 Demo,精确捕获用户交互和界面变化,包括 Workspace ⌘K 等复杂指令流程;通过 ffmpeg 合成多轨道视频,将浏览器录屏与 IDE 录屏同步合并;实现了时间戳对齐和画面裁剪,确保最终视频流畅连贯。

我的贡献:我实现了 Playwright 录制脚本和 ffmpeg 合成流程,确保了多轨道视频的精确同步。

companion-bridge.mjs 对接 Cursor CLI:按 storyboard 打开文件、跳转行号,macOS overlay 显示讲解字幕

问题:需要将自动生成的分镜脚本转化为 IDE 中的精确操作,并在录屏过程中实时显示讲解内容,提升教学效果。

方案与实现:开发了 companion-bridge.mjs 中间件,对接 Cursor CLI 实现按 storyboard 自动打开文件和跳转行号;利用 macOS overlay 功能在录屏过程中实时显示讲解字幕;通过事件驱动机制确保字幕与代码操作同步,增强教学体验。

我的贡献:我设计了 companion-bridge.mjs 的架构,并实现了与 Cursor CLI 的交互逻辑和字幕同步机制。

CLI 一键 plan / run / record-demo / record-ide,output/{slug}-{timestamp}/ 标准化产物目录

问题:需要为用户提供简单易用的操作接口,同时确保产出的素材包结构标准化,便于后续处理和发布。

方案与实现:设计了 CLI 工具提供 plan/run/record-demo/record-ide 等一键操作命令;采用 output/{slug}-{timestamp}/ 的标准化目录结构,确保每次生成的素材包组织一致;实现了进度跟踪和错误处理,提供清晰的用户反馈。

我的贡献:我设计了 CLI 工具的命令结构和标准化输出目录,并实现了进度跟踪和错误处理机制。

成果与联动

问题:需要将自动生成的教学视频素材与现有发布流程集成,确保内容可被有效管理和展示。

方案与实现:设计了完整的素材包结构,包含 implementation-guide.json、storyboard.json、narration.md 和 recordings/ 等标准化组件;实现了与 next-blog video-studio 工作区的集成,支持自动上传、添加水印和公开展示;通过标准化接口确保素材包可直接用于视频发布流程。

我的贡献:我设计了素材包的结构和与 next-blog 的集成方案,确保了内容的无缝流转。

产出 implementation-guide.json、storyboard.json、narration.md、recordings/ 等完整素材包

问题:需要将 AI 生成的教学内容转化为结构化的、可直接使用的视频制作素材,确保各组件间的一致性和完整性。

方案与实现:设计了标准化的素材包结构,包含实现指南、分镜脚本、讲解文稿和录屏文件等组件;implementation-guide.json 记录架构和数据流,storyboard.json 定义录屏步骤,narration.md 存储讲解内容;recordings/ 目录包含合成后的视频轨道,确保所有素材可被后续处理工具直接使用。

我的贡献:我设计了素材包的整体结构和各组件的数据格式,确保了内容的完整性和可用性。

与 next-blog video-studio 工作区集成:bundle 上传、水印、/videos 公开展示

问题:需要将视频素材包自动集成到 next-blog 的视频展示系统中,包括上传、添加水印和公开展示功能。

方案与实现:设计了一套自动化集成流程,将生成的素材包通过 API 上传到 next-blog 的视频存储系统;使用 ffmpeg 为视频添加项目水印,确保品牌一致性;实现了与 next-blog 的 /videos 路由对接,使生成的视频能够自动在公开展示区域可见;整个过程通过 CLI 一键触发,确保了从视频生成到展示的完整自动化链路。

我的贡献:我设计了集成接口规范并实现了上传与水印处理的核心逻辑,确保了视频素材的无缝对接和品牌一致性。

已用于「指令助手」「Hermes Agent Gateway」等主题的读码视频生产验证

问题:需要验证流水线在不同复杂度的技术主题下的视频生成质量和实用性,确保系统能够处理多样化的编程教学内容。

方案与实现:选择了「指令助手」和「Hermes Agent Gateway」这两个具有代表性的技术主题进行验证测试;通过完整执行从 research 到录屏的全流程,检验了系统对不同代码库结构和复杂度的适应能力;验证了生成的教学视频在内容准确性、技术深度和演示清晰度方面的表现;基于验证结果优化了代码追踪的精确性和分脚本的实用性。

我的贡献:我主导了验证测试的执行和结果分析,并根据反馈优化了代码追踪算法和分镜生成逻辑,提升了视频质量。

能力亮点

AI 工程化能力

设计并实现基于 LangGraph 的确定性 AI 流水线,解决 LLM 自由发挥导致的不可控问题,通过重试机制和验证门禁确保输出质量

代码追踪技术

开发符号搜索到真实行号的确定性代码追踪系统,确保 IDE walkthrough 的准确性和可追溯性

工具链集成

构建从 Playwright 录屏到 Cursor CLI 的完整工具链,实现标准化输出与发布流程

架构 / 流程

基于 LangGraph 的确定性 AI 流水线,结合代码追踪技术、质量门禁和工具链集成,实现从技术主题到可发布编程教学视频的全自动化生产

需求输入输入任意技术 topic(如「讲解 next-blog 指令助手如何实现」),作为视频生产的起点Research 节点使用 rg + 文件读取进行通用调研,repo index 支持任意 topic 自动匹配目标代码Guide 节点生成 ImplementationGuide,包含架构、数据流、关键文件行号和知识点Storyboard 节点将 ImplementationGuide 转为可执行的录屏脚本,包含 Demo 步骤和 IDE 跳转 beat质量验证通过 brain/validate.py 进行文件存在性、行号合法性和核心能力覆盖验证,未过门禁不进入录屏录屏执行Playwright 录制浏览器 Demo,ffmpeg 合成 IDE 录屏,companion-bridge 对接 Cursor CLI标准化输出产出 implementation-guide.json、storyboard.json、narration.md、recordings/ 等完整素材包发布集成与 next-blog video-studio 工作区集成,实现 bundle 上传、水印添加和公开展示

技术栈

PythonLangGraphPlaywrightffmpegCursor CLIrg

难点与方案

难点:LLM 自由发挥导致不可录屏

方案:设计校验失败带错误反馈的重试机制,最多重试 3 次,结合质量门禁确保输出可执行

效果:确保生成的分镜脚本能够准确执行,避免因 LLM 错误导致的录屏失败

难点:代码行号追踪准确性

方案:开发 tools/trace.py 实现符号搜索到真实行号的确定性追踪,落盘 annotations/code-trace.json

效果:确保 IDE walkthrough 的准确性,提供可追溯的代码路径

难点:大型 monorepo 调研效率

方案:实现 profile cache + repo 索引机制,加速重复主题与大型项目的调研过程

效果:显著提升重复主题的处理速度,优化大型项目的调研效率

成果

  • 实现从技术主题到可发布视频的全自动化生产
  • 产出完整的标准化教学视频素材包
  • 与 next-blog 读码视频发布链路成功集成
  • 已验证用于多个技术主题的教学视频生产