Harness 实践:让 Agent 全自动制作知识讲解视频

本期视频:www.bilibili.com/video/BV1yp...


前段时间我发了几条技术讲解视频,评论区好多同学问:这个视频效果是怎么做的?

趁着五一假期,我把整套流程封装成了一个 Skill,让大家也能低成本复刻这种效果。

今天这期内容信息量很大,我们要讲三件事:

第一,我的视频到底是怎么做的;

第二,背后这个 Skill 是怎么设计的;

第三,手把手带大家走一遍完整的实战流程 --- 从一篇文章丢进去,到最后出来一个精美的知识讲解视频。


一、视频到底咋做的

先声明一下:我之前的视频,不是用视频生成模型做的,也没有用 NotebookLLM。

其实就是网页。我自己 Vibe Coding 出来的网页。

肯定有人会问 --- AI 视频生成模型已经很强了,为什么还要折腾网页?

答案就俩字:可控

字体、配色、每一步停留几秒、某一帧要不要出现一个精确的数字 --- 这些东西在网页里改几行代码就搞定。

比用视频模型抽卡要稳定得多,成本也更低。

NotebookLM 我也试过,它做不了动画演示效果,出来的都是静态图。

Remotion 这种框架,我觉得它反而限制了模型本身的发挥,有时候还不如直接写来得好。

1.1 上期视频

拿我上期发出的视频举个例子。那期视频完全由 AI 生成,就是我为了这次教程专门做的一个演示。

而我的输入,就只是一篇 Anthropic 最新发布的文章:

claude.com/blog/lesson...

输出就是这样一个网页:

它把原始文章拆成了 13 个章节、100 多个细粒度的讲解步骤,每一步都有完整的视觉演示效果。

画布固定在 16:9,可以适配任意大小的显示器。

底部有一个隐藏的进度条,鼠标悬浮到底部才出现,你可以自由跳转到任意章节的任意步骤。

画面里没有页眉、没有页码、没有品牌标识。

录屏时观众看到的就是一块干净的画面,让它看起来更像视频,而不是网页。

1.2 关键流程

想要做出这样的效果,有几个关键要点:

  • 把文章变成口播稿:

一般原始技术文章的句式会比较书面 ---

比如 "该工具旨在提供高效的解决方案" 这种话术是没办法直接在视频里年出来的?

如果是 "这玩意儿是干嘛的呢? "短句、口语、第二人称,就像跟人聊天一样。

  • 把口播稿拆成开发大纲。

每段话都应该对应一个画面步骤,每几个步骤组成一个章节,每章聚焦一个话题。

因为整个开发任务会非常复杂,做好大纲是保持后续开发稳定性的关键。

  • 给每步做视觉演示。

不是把文字糊上去就完事。

TCP 三次握手要画时序图,DNS 查询要画节点链路,反垃圾审判要画评分仪表盘。得把抽象概念"演"出来。

  • 让步骤和口播对齐。

网页的关键演示步骤一定要跟随口播稿的节奏走,这样做出的视频效果才能显得非常自然。


1.3 为什么要做成 Skill

上面这些事情,你全部都可以交给 Agent 一步步去做,也确实能做出来。

模型并不缺能力。但问题是:

  • 怎么让它每次都做得出来?
  • 怎么让不同的人、不同的文章、不同的主题,都能稳定产出?
  • 怎么让开发效率不依赖运气?

你直接跟 Agent 说 "帮我做个视频网页",它可能做得不错,也可能跑偏。

比如稿子和画面对不上了,章节数和音频数不一致了,后面章节的风格突然跟前面完全不搭了。这些都是有可能发生的

模型有能力,但你需要一套系统来驾驭这个过程 --- 划定边界、管理状态、设立检查点、在关键节点拦住错误。

这就是 Harness 要负责的事情。所以我做了这个 Skill。


二、web-video-presentation Skill

Skill 是 Agent 通用的扩展能力标准,你可以理解为一份 "操作手册" --- 它告诉 AI 什么时候该做什么、做到什么标准、哪些红线不能碰。

AI 加载 Skill 后按里面的规则干活,你不用每次重述这些规矩。

我们这个做视频的 Skill 和花园老师其他开源 Skill 一起托管在 garden-skills (github.com/ConardLi/ga...) 仓库里。


在我们之前的教程中有讲到,一个成熟的 Harness,通常至少包含下面六个核心部分:

核心部分 它解决的问题 典型作用
上下文管理 模型到底看到了什么 组织系统提示词、项目文档、历史对话、任务状态、外部资料
工具系统 模型到底能做什么 搜索、读写文件、调用 API、执行代码、操作浏览器
执行编排 模型下一步该做什么 决策、分步执行、工具调用、结果回写
状态与记忆 系统如何跨步骤保持连续性 保存任务进度、中间结果、长期偏好
评估与观测 系统怎么知道自己做得对不对 结果验收、过程追踪、指标监控、质量评估、错误归因
约束与恢复 出错了怎么办,怎么避免跑偏 权限控制、格式约束、重试机制、回滚与校验

下面,我们就从 Harness 的角度拆解下这个 Skill 的核心设计。


2.1 执行和编排

执行和编排解决的是让模型知道 "下一步该做什么" 的问题。

整个 Skill 把 "从一篇文章到视频" 切成了四个阶段,中间卡了两个人工检查点。

  • 阶段一:内容编写。 AI 同时产出两样东西 --- 口播稿和开发大纲。口播决定信息的描述方式以及整体节奏,大纲决定每章做几步、每步屏幕上放什么信息。
  • 检查点 Plan。 Agent 走到这里会被强制停下来。人一次性对齐五件事:稿子要不要改、大纲要不要改、用哪套主题、真素材谁准备、后续章节是逐章做还是并行做。这五件事不拍板,后面的工作全建立在假设上。
  • 阶段二:开发。 第一章必须经人验收,确认视觉气质和节奏都对了,它才成为后续章节的基准。之后的章节可以顺序做,也可以开多个子进程并行写。每章写完都要逐项对照清单自检,不过关不准说"做完了"。
  • 检查点 Audio。 再停一次。决定要不要合成音频。要的话走阶段三,不要的话跳到阶段四用人声录。
  • 阶段三:音频合成。 从每章的口播文本里提取合成清单,调 TTS 逐段生成音频文件。
  • 阶段四:录屏。 浏览器全屏打开演示页,开自动播放模式,音频和画面天然对齐,录完裁头尾。

工作流程很清晰,重点是怎么让 Agent 在每个环节里不跑偏。


2.2 上下文管理

上下文管理要回答的核心问题是:模型到底看到了什么

这个 Skill 的链路跨了四个 Phase,涉及多个复杂流程(口播稿规范、outline 格式、章节开发指引、主题 token、音频合成流程、录屏指南......)。如果在 Skill 启动的时候就把所有文档一股脑灌进去,模型注意力会被严重稀释。

所以我把所有的信息拆成了多份文档,每份文档只在指定的阶段读取:

  • SCRIPT-STYLE.md: Phase 1.2 必读:文章 → 口播稿规则、平台变体(双层自检:形式/风骨/念出来)
  • OUTLINE-FORMAT.md: Phase 1.2 必读:outline.md 字段 spec、命名约定、章节切分、信息池规则
  • CHAPTER-CRAFT.md: Phase 2.4 每章单一必读入口:Part 0 十条原则 / Part 1 开工 5 问 / Part 2 关系→动作决策树 / Part 3 视觉工具箱 / Part 4 时长参考 / Part 5 反 AI 味反模式 / Part 6 代码硬规则 / Part 7 完工自检 / Part 8 反馈速查
  • THEMES.md: 选/造/切主题时读:完整 token 契约 + 内置主题清单 + 创作新主题流程
  • AUDIO.md: Phase 3 才读:MiniMax CLI TTS 合成流程、增量合成、故障排查
  • RECORDING.md: Phase 4 才读:录屏工具推荐、Auto 模式一镜到底、后期合成

2.3 状态与记忆

状态与记忆要回答的问题是:系统如何跨步骤保持连续性

在这个 Skill 里,最重要的 "记忆" 就是 **outline.md** (开发大纲)

一个项目十几章、几十个步骤,Agent 写到第 8 章时,前面章节定过什么结构、用户在 Checkpoint 里改过什么方向、某一章验收时调整过哪些主题,很可能已经不在当前上下文里了。

大纲的作用,就是把这些关键决定固定下来,成为开发阶段的持续记忆。

Agent 开发任何一章时,大纲就是任务边界。

在真正开发的阶段,Skill 还会让 Agent 每轮强制关注下面两个文件:

  • **script.md** (口播稿)负责节奏:先讲什么、后讲什么,画面要跟着口播走。
  • **article.md** (原文章)负责信息密度:口播稿通常更精简,画面里需

要的数据、案例、可以从原文里补。

这三份文件各有分工:大纲管结构边界,口播稿管叙事节奏,原文章管信息密度

Agent 开发每一章时同时参考它们,就不容易出现 "结构对了但画面空" 或者 "信息很多但节奏乱" 的问题。

本质上,这是一种文件化的工作记忆:而是把关键状态写进文件,需要时再读回来。


2.4 工具系统

工具系统要回答的问题是:模型到底能做什么

这个 Skill 中并没有特殊的工具,所以我们的目标就是让模型把 Agent 本身的文件读写工具用好。

在章节的具体开发流程中,支持并行开发的模式。

但并行开发有一个致命问题:多个 Agent 同时改同一个项目,会不会互冲突?

Skill 的为此设计了严格的隔离机制:

  1. 每章独立文件夹src/chapters/01-intro/src/chapters/02-core/......物理分离,你改你的文件夹,他改他的文件夹。
  2. 每章独立 CSS 前缀.intro-hero.core-card......不会出现两个章节抢同一个 class name 的情况。
  3. 主题 token 兜底视觉统一:颜色、字体、间距走全局 CSS 变量,所以即使每个 subagent 独立开发,最终画面在色彩和排版上不会跑偏。
  4. 但风格不强求一致:每章的动画、节奏、视觉演示方式允许不一样。

2.5 约束与恢复

约束与恢复要回答的问题是:出错了怎么办,怎么避免跑偏

在这个 Skill 里,"出错"最常见的形式不是代码报错,而是用户觉得不对

比如"这一章节奏太快了"、"这个动画太 AI 味了"、"这步信息太薄了"。

面对这类反馈,Agent 的本能反应是:重做整章

毕竟重新生成对 Agent 来说成本不高,而且能保证 "把你说的问题都解决了" 。

但重做整章的问题是:它会把已经对的部分也改掉

用户说"第 3 步节奏太快",你重做整章,结果第 1 步和第 5 步原来很好的动画效果也变了 --- 用户反而更不满意。

所以 Skill 里有一条原则叫反馈修复的最小切片

先定位问题在哪一层(节奏?视觉?内容?代码?),再改最小切片,不要重做整章。

问题层 最小切片
节奏(太快/太慢) 调整对应 step 的 narration 文本长度,或拆/合 step
视觉(动画不对) 只改对应 step 的 CSS / 动画逻辑
内容(信息太薄/太密) article.md 信息池补充或删减,只改对应 step
代码(编译报错) 定位具体文件和行号,点修

2.6 评估与观测

评估与观测要回答的问题是:系统怎么知道自己做得对不对

这一层是我在设计这个 Skill 时花心思最多的地方,因为它直接对应 Anthropic 提出的核心问题 --- 自评失真

让写代码的 Agent 自己评价"这章写得怎么样",结果几乎一定是"还不错"。

它不会告诉你"这一步的动画其实是无脑淡入,没有内容驱动""这个列表一次性全展示了,违反了逐步揭示原则" --- 因为它自己写的,它当然觉得合理。

所以我设计了一套硬性自检规则

每个关键产出完成后,必须走自检 → 修复 → 再汇报的流程:

产出 自检清单
script.md(口播稿) 口语化、B站风、无AI味、信息保留≥60%、念出来不别扭 ...
outline.md(开发计划) 节奏规划(step数/时长/信息池)、无动画细节、与script时间误差<10% ...
CHAPTER-CRAFT.md(单章实现) 有动图、不套模板、字大留白、逐个揭示、素材真实、代码隔离 ...

更关键的是执行方式

  1. 最优: 使用 Agent Teams(目前仅 Claude Code 支持)开一个独立的 Reviewer Agent --- 给它产出文件路径 + 对应清单 + 上下文,让它从零开始逐项核查。
  2. 次优: 没有 Agent Teams 能力就用 SubAgent,走同样流程。
  3. 兜底: 当前 Agent 自己逐项核查。但即使是自检,也必须 "严格逐项",不允许目测一遍就放行。

2.7 回过头看

把这个 Skill 的设计摊开来,你会发现它和 OpenAI、Anthropic 做的事本质上没有区别 --- 都是在搭 Harness。

只不过他们搭的是工业级的运行系统,我们搭的是一个 Skill 级别的协作协议。

这里也要跟大家明确一个误区,做 Harness 并不是要从零搭建一个 Agent,能用一个 Skill 把一个垂直的开发工作做好,也是在做 Harness。

下面,我们进入实战章节,从零跑通环节大家,并且使用这个 Skill 完成一个文章到视频的制作流程。


三、环境搭建

这条链路里主要会用到四个工具。

3.1 Claude Code

首先我们选择 Claude Code 作为我们的核心执行 Agent。

注:如果你本地使用 Cursor、Codex 以及其他支持 Skill 的 Agent 都是可以的。


安装命令:

arduino 复制代码
curl -fsSL https://claude.ai/install.sh | bash

装好之后,在终端里输入:

复制代码
claude -v

可以测试是否正常安装成功。


3.2 MiniMax

相信大家都知道,在国内正常使用 Claude Code 是非常困难的,我自己也被封了好几个账号了。

目前推荐的做法是搭配一个国产模型来使用,经过大量的试用,我自己目前的选择是 MiniMax。

MiniMax 的 Token Plan 和 Claude Code 的适配非常好,我订阅了 Plus 的极速版,速度非快、量大管够、性价比非常高,对于我日常的需求开发完全够用了。


订阅完成后,会生成一个 API Key ,这个提前存好后面会用到:


3.3 CC Switch

CC Switch 是一个桌面配置工具,可以让我们的 Agent(Claude Code、Codex、Gemini CLI)切换为任意的自定义模型。

在这套流程里,我主要用它来配置 MiniMax 的 Token Plan。

直接到它的 Github Release 页面 github.com/farion1231/... 就可以下载指定系统(如 MacOS)的安装包:

点击右上角 "+" ,选择预设的 MiniMax 供应商,然后填写上一步保存的 API Key:

然后把模型名称全部改为 MiniMax-M2.7,然后直接点击保存就可以使用了:

回到首页,点击 "启用"

下面,我们打开终端输入 claude ,就可以直接使用了:


3.4 MMX CLI

相比其他家,MiniMax 的 Token Plan 还有一个明显的优势,就是还附带了多模态的套餐(图片、语音、视频):

在今天的教程中,有一个关键环节就是要将文章的口播稿合成音频,MiniMax 的 Token Plan 自带了每天 9000 字的语音合成额度, 做两篇文章完全够用了。

为了方便大家使用这些多模态的能力,MiniMax 官方还提供了一个 CLI,我们不用写一行代码,Agent 就可以直接调用 mmx cli 完成语音合成等工作。

安装也非常简单,直接把下面这段话发给你的 Claude Code,注意密钥替换为你 Token Plan 的密钥:

bash 复制代码
帮我安装 MiniMax CLI:https://github.com/MiniMax-AI/cli
我的密钥是 sk-cp-xxxxx

安装完成后直接在本地执行:mmx,如果能列出下面的信息就代表安装成功:


3.5 安装 Skill

下一步安装我们的 Skill ,首先我们访问这个 Github 地址:github.com/ConardLi/ga...

然后找到 [web-video-presentation](https://github.com/ConardLi/garden-skills/blob/main/skills/web-video-presentation) Skill 的下载地址,直接点击下载这个安装包:

下载完成后解压得到 Skill 具体目录:

然后在你的工作目录新建 .claude/skills 目录,把这个文件夹粘贴进去:

然后在这个目录启动 Claude Code,如果输入 /web-video 能够智能提示出这个 Skill ,说明配置成功:


3.6 Agent Teams 和 tmux(可选)

这一步配置是可选的。如果只是做一个小 Demo,一个 Claude Code 会话就够了。

但如果你要做的是一个 10 章、100 多步的视频项目,让一个 Agent 从头写到尾会很慢。

由于 Skill 在设计上对视频的多个章节做了严格的物理隔离,天然支持了多 Agent 并行编写的模式。

这里我们先顺便讲一下 Claude Code 中支持的两种多 Agent 工作的能力:SubAgent 和 Agent Teams。


SubAgent 更像一个子进程。

主 Agent 把一个任务分出去,子 Agent 在自己的一个完全独立的上下文里完成,然后把结果交回来。

子 AI 之间互相看不到,也不会讨论。

比如你让三个 SubAgent 分别写三个章节,它们就是各写各的。最后主 AI 再把结果收回来。

这种方式适合结果导向的任务。

比如并行开发多个章节,或者一次性检查某段代码。它比较省 Token,也比较容易调度。


Agent Teams 则更像一个小项目组。

一个组长,加几个组员。每个组员都是独立会话,但它们之间可以互相发消息,也可以共享任务列表。

这种方式适合需要来回反馈的任务。

比如质检。Reviewer 看完代码后发现字号太小,就让 Developer 改大。

Developer 改完,Reviewer 再复查。这个过程用 SubAgent 做会比较别扭,但 Agent Teams 很适合。

代价也很明显:Token 开销更高。因为每个组员都是一个完整会话。


可以这么理解:

subAgent 像是你让三个人分别去三个城市办事,办完回来汇报。

Agent Teams 像是你把三个人拉进一间会议室,让他们边讨论边改方案。


Agent Teams 目前还是个实验性的功能,要开启 Agent Teams,需要在配置里加上:

json 复制代码
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  },
}

为了更好的可视化整个展示过程,我们可以安装下 tmux。

tmux 是一款开源终端复用器,可在一个窗口中管理多个终端会话,支持分屏、大幅提升命令行效率。

配合 tmux 之后,Agent Teams 的每个组员会出现在不同的终端面板里。你能同时看到 Reviewer 在审哪里,Developer 在改哪里。tmux 安装:

复制代码
brew install tmux

让 Claude Code 的 Agent Teams 适配 tmux,在配置里加上:


四、实战:完整流程演示

这里,我们以 一封邮件发出后的 600 毫秒 这篇文章为例,演示如何将其变成一个知识讲解视频:


4.1 启动 Claude Code

进入项目目录后,在终端先输入 tumx ,进入 tumx 会话:

复制代码
tmux

然后启动 Claude Code:

css 复制代码
claude --dangerously-skip-permissions

这里有一个参数要单独说一下:

css 复制代码
--dangerously-skip-permissions

它会跳过每次工具调用时的权限确认。

并行开发时,如果每写一个文件都要手动点确认,整个流程会被打得很碎。

所以我一般会在可信目录里打开这个参数。

但它名字里带 dangerously 不是开玩笑。

只在你确定当前目录安全、项目内容可信的时候用。不要在陌生仓库里随便开。


4.2 先生成脚本和大纲

启动之后,把原始文章丢给 Claude,告诉它使用 web-video-presentation Skill。

读取 @article.md ,按照 /web-video-presentation 要求,完成第一步。注意编写完成后使用 Agent Teams 创建两个独立 Agent 进行质检。

我们看到它创建了一个独立的 Content Writer Agent 来编写口播稿和开发大纲两个文件:

文件编写完成后,创建了两个 Reviewer Agent 来分别对两篇内容进行质检:

质检完成,主 Agent 开始对 口播稿和大纲进行校对,更改然后输出最终版本。

口播稿会把原始文章改成更适合 B 站视频的表达。句子短一点,节奏快一点,听起来像人在聊天,而不是在念文章。

开发大纲则把脚本拆成「章节」和「步骤」,并标注每一步屏幕上应该出现什么信息。它负责把控后续的开发节奏、每个章节的边界、每一步的信息密度,以及这一屏到底要讲清楚什么。


4.3 第一次人工确认

上面的流程完成后,它会向我们询问几个关键问题:

  • 稿子和大纲还要不要改?

如果觉得稿子的 AI 味比较重,可以适当调整下改成你的讲话风格。

另外需要确认下 AI 规划的大纲有没有明显的节奏问题(如果改了稿子可以让 AI 在下一步同步调整大纲)。


  • 视觉主题选哪个?

Skill 内部一共定义了几套不同风格的主题,Skill 会根据内容推荐几个主题,你也可以自己向他说明你要的风格:

  • paper-press: editorial paper, warm print texture(编辑纸媒,温暖印刷质感)
  • warm-keynote: modern talk / keynote energy(现代演讲/keynote 风格)
  • midnight-press: dark editorial presentation(深色编辑演示)
  • blueprint: technical drawing / planning surface(技术绘图/规划界面)
  • chalk-garden: classroom / chalkboard style(教室/黑板风格)
  • terminal-green: phosphor terminal atmosphere(磷光终端氛围)
  • bauhaus-bold: sharp geometric manifesto(锐利几何宣言风格)
  • sunset-zine: indie zine / expressive collage(独立杂志/表现主义拼贴)
  • newsroom: newspaper / media desk(报纸/媒体桌面风格)
  • monochrome-print: restrained typographic print(克制的字体印刷风格)

  • 素材怎么准备?

在后续生成的网页中可能会用到一些图片素材,Skill 会让用户从以下三种模式选择:

  • 从现有素材路径挑选:agent 从用户已有的素材目录中帮忙挑选符合视频需求的图
  • 用户自己提供:用户自己准备并提供所有真实素材
  • 全部 placeholder:全部先用占位图替代,后续再替换

  • 后续章节的开发模式?

到了实际开发阶段,Skill 支持多种开发模式()

  • A · 默认 · 逐章确认(推荐):描述:每章做完都暂停验收 → 下一章
  • B · 第 1 章后顺序开发:描述:第 1 章验收后,第 2~N 章主线程顺序做完,最后统一验收
  • C · 第 1 章后并行开发:描述:第 1 章验收后,用 subagent 并行做第 2~N 章(用户控制并行数)

4.4 先把第一章做好

当原始文章、口播脚本、整体大纲、视觉主题、开发模式全部确认完成后,进入开发阶段。

这里 Skill 不会一上来就让 Agent 直接并行做所完有章节,而是先做出第一章,让用户确认没有问题后,在开发后续章节。

因为在第一章的效果中,你已经可以看到这个项目的页面密度、字体大小、动效节奏、信息呈现方式等是否合理。

如果和你的预期差距比较大,还可以及时调整。第一章定下来之后,后面的章节才知道应该往哪个方向靠。

/web-video-presentation 脚本和开发计划我已改好,主题选 blueprint ,素材你自己绘制,开发模式 A,继续你的任务

第一阶段开发完成后,它依然会开启一个独立的 Review Agent 对章节内容进行质检:

我们可以看到工作区中的项目已经搭建起来,并且有了第一章的代码:

质检完成后,它会提示我们进行验收:

第一章的验收非常重要,它直接决定后续章节的开发质量,我们最好亲自在浏览器里从头点到尾,看看:

画面是不是舒服?节奏是不是顺畅?信息有没有太密?有没有明显的 AI 味?


4.5 并行开发后续章节

第一章定下来之后,就可以让 Agent Teams / SubAgent 上场了。

剩下的章节可以并行开发。

我的经验是,最多同时跑 3 个比较合适。

/web-video-presentation 验收无问题,继续使用 Agent Teams 并行开发完后续所有章节,最大并行 3 个 Agent

每个 Agent 会拿到自己负责的章节大纲、Skill 规范、主题变量,以及第一章的代码作为参考。

它们各自写各自的章节,互不干扰。(注意这里一定要选 Agent 能力非常强的模型,不然多 Agent 调度很容易出错。)

每章完成后,都会进入质检,所有章节验收都通过后,它会回复我们任务完成:


4.6 确认网页效果

所有章节开发完之后,先启动本地开发服务器,在浏览器里完整预览一遍。

一定要手动把所有步骤都点完。

检查有没有空白页、动画卡顿、步骤跳段、内容错位。

尤其是这种 50 多步的视频项目,中间某一步出问题很正常。


4.7 合成音频

网页确认没问题之后,再进入音频阶段。

使用 Chinese (Mandarin)_Gentleman 温润男声合成所有音频

这一步用 MiniMax 的 CLI,把口播文本批量合成为音频文件。

流程分两步。

第一步,先从所有章节里抽取一份口播文本清单。

这一步要人眼扫一遍,确认没有错字、漏句、奇怪断句。

正常口播内容的 Step 和网页的 Step 应该是一一对应的。

第二步,再逐条合成音频。

脚本是串行执行的,这样不容易撞到 MiniMax 的速率限制。

已经生成过的文件会自动跳过,所以中途断了也不用重来。

合成完成后,每章会有一个子目录,每一步对应一个音频文件。文件名和步骤编号一一对应。


4.8 三种播放模式

到这里,视频项目就已经可以播放了。

这套 Skill 里有三种模式

第一种是手动模式(不加任何参数),没有声音。

你用鼠标一步步点击推进,适合检查画面细节,或者完全你自己录制音频(我之前的视频都是这种模式)。


第二种是音频模式(网页加 ?audio=1 参数进入)。

还是鼠标或键盘推进章节步骤,在每个步骤自动播放音频,手动推进,你可以自由控制节奏。


第三种是自动模式(网页加 ?auto=1 参数进入)。

按下空格之后,页面会按照音频节奏一路播放到底。浏览器全屏,再配合屏幕录制,就能直接出片。

第一次按空格,是为了绕过浏览器的自动播放限制。之后基本不用再碰鼠标。

大家可以用 OBS 等软件直接录屏,就可以生成一条完整的视频。


4.9 最后归档

这套流程还有一个好处:所有资产都能跟着项目走。

原始文章、口播稿、大纲、网页代码、音频文件,都可以放进版本控制里。

以后换一个题材,不是从零开始,而是换一篇原始文章,再沿着同一条流水线跑一遍。


最后

回到开头的问题:这些视频到底是怎么做出来的?

表面上看,这是一套"文章生成知识讲解视频"的流程:文章变口播,口播变大纲,大纲变网页,网页配上音频和录屏,最后变成视频。

但本质上,它其实是一次 Harness 实践

模型本身已经很强,Claude Code 能写代码,MiniMax 模型能提供稳定的推理和生成能力,MiniMax CLI 还能把语音合成接进来。

真正的问题不是"模型会不会做",而是:

怎么把这些能力编排起来,让它稳定地做完。

所以这个 Skill 做的事情,就是把一次复杂的内容生产任务,拆成有流程、有状态、有检查点、有自检、有恢复机制的工程系统。

它不是让 Agent 自由发挥,而是给 Agent 搭了一条可重复执行的轨道。

这也是 Harness 最核心的价值: 把模型能力、工具能力和人的判断,组织成一条稳定可控的生产流程。

我已经把这个 Skill 放到了 garden-skills 仓库里。感兴趣的同学可以拿一篇自己的文章试试。

github.com/ConardLi/ga...

如果本期教程对你有所帮助,来个免费的点赞、收藏吧~

相关推荐
workflower1 小时前
企业酝酿数智化内驱力
大数据·人工智能·设计模式·机器人·动态规划
0xR3lativ1ty1 小时前
大模型架构新突破:混合注意力引领高效推理
人工智能
tanis_20771 小时前
DeepSeek-TUI 也能读 PDF 了:Skill + MinerU CLI 终端文档解析实战
人工智能·后端·深度学习·pdf·csdn开发云
谁在黄金彼岸1 小时前
AI 服务 Connection Reset by Peer 问题修复
后端
RxGc1 小时前
多Agent协作的真实瓶颈:为什么2个Agent比1个强,10个反而更差
人工智能·agent
RK_Dangerous1 小时前
AI大模型应用(四)——相关技术(下)
人工智能
zhangfeng11331 小时前
人工智能日报.今日 AI 动态速递(2026-05-09)
人工智能
user29876982706541 小时前
四、AI Agent 设计模式:上下文管理
人工智能
user29876982706541 小时前
三、AI Agent 设计模式:工具编排
人工智能