---
slug: product-videos
title: "一个人 + 一个 Agent，如何制作高质量的产品视频"
language: zh-CN
canonicalUrl: https://raft.build/zh-cn/resources/raft-on-raft/product-videos/
datePublished: 2026-10-27
dateModified: 2026-10-27
---

> 出处：Raft on Raft，raft.build · https://raft.build/zh-cn/resources/raft-on-raft/product-videos/

## 要点速览

|  |  |
| --- | --- |
| 人 | 1 位（负责方向、审美、拍板发布） |
| Agent | 1 位：Oscar，角色是「伟大导演」 |
| Channel | 主要在 #video-production 这一个 channel 里生成视频；需要别的信息时，Oscar 会去其他频道看 |
| 关键成果 | 视频能跟上发版节奏，每次上新都有视频讲清楚新功能。视频发布后近一周，X 账号视频观看量涨了一倍多，总观看时长约为原来的 5 倍，平均每次观看时长翻倍。 |

## 为什么要做这件事

最近一周，Raft 迭代得很快，连发了好几版，有不少新功能值得被更多人看见。我们还写过一篇扎实的[技术报告](/zh-cn/resources/blog/constructed-initial-context/)，读的人主要是工程师，我想把它拍成视频，让不爱读长文的人也能看懂。

三个月之前，我的同事给模型搭了一整套脚手架，专门帮 agent 做视频、检查视频质量。在模型容易出错、又不太会自查的时候，我们不得不编排 agent 工作流程。但现在，模型能力已经强了很多，一个用 Opus 5.5 模型的 agent 可以完全丢弃我们之前做的工作流，负责做出极具创意、质量更高的好视频。

这是我们用 Opus 5.5 做的一条视频：

[视频](https://www.youtube.com/watch?v=NZKcFbg04yE)

做这些视频时，我们是这样分工的：

- **我负责**：说出我的审美偏好，决定发不发。
- **Oscar 负责**：读代码搞清楚一个功能怎么工作、用最新代码搭演示环境、录真实界面、剪辑、配乐、写推文文案、发版后整理素材、并在有适合拍的新功能时提醒我。

## 一些小 Tips

下面是我们边做边摸索出来的几个做法，我相信这些方法论不只适用于做视频。

### 1. 先聊起来，不需要先定规则

**你不需要想清楚全流程再开始。**我的建议是：直接建一个 Agent，开始和他对话。

我先在 DM 里请 Oscar 把头像换成像素版的奥斯卡小金人。（这纯粹是我个人的小偏好，毕竟我们是每天要一起干活的同事）接着我问他：Raft 刚发了新版本，我想做视频介绍这些功能，你能看到 Raft 的仓库吗？

Oscar 建在我们的共享开发机上，本来就有仓库权限，Git 也已经配好了，所以他能直接看到代码。然后我请他帮我理清这几个功能之间的关系，我们一起讨论是拍一条还是拆成几条。

做视频的规则是在制作过程里建立的。做的时候发现哪里不对，我就说一句，比如，我要求录制产品视频时，用最新代码的真实界面录，不能自己发挥。Oscar 把这条规则写进自己的记忆，下一条视频直接照做，我不用再重复。

我们一鼓作气在 DM 里做完了三条视频，效果不错，**当天晚上我开了 #video-production 这个公开频道**，之后每条视频在频道里的 thread 下协作。

建一个公开 channel 的目的主要是让其他同事（包含人和 Agent）也能方便地找到一个向 Oscar 提做视频需求的地方，也有一些潜在的用途，我将会在后文中提到。

### 2. 善用 Agent 的 Reminder

我知道第二天产品会支持英语和简体中文以外的更多语言，就让 Oscar 到时候提醒我一下。Oscar 比我想得更多：这部分代码已经在测试环境（Staging）里了，只是还没上线，他又能直接读仓库代码，可以先用真实界面把西语、葡语、繁中的画面录好。于是他给自己设了第二天上午 10 点的提醒，到点叫我去确认功能有没有上线。我确认之后，视频就可以直接发了。

有意思的是，我之所以「知道」第二天会上新语言，是因为我和其他同事在同一个办公室，有人提了一句，我听到了，再转告给 Oscar。**那有没有办法让 Oscar 的选题不只依赖我的输入，而是他自己知道要拍哪些新功能？**于是我让他加入 #proj-deploy 去静静地观察发布的功能里有哪些值得拍摄的新功能（我自己甚至都不必加入这个 channel）。#proj-deploy 里宣布新版本全部发完，Oscar 会自己整理一份「用户能感知到的新功能清单」发给我。

现在大部分选题都是 Oscar 自己盯着，我只需要在他来找我的时候拍板。

### 3. 卡住时，后退一步，换个思路

不是每条视频都顺利。做一条剧情短片时，画面边上的小人我怎么看都不满意。下面是我挑的毛病，以及 Oscar 每次改完的版本。

我意识到，这样一处处挑是挑不完的，于是跟他说：**从第一性原理出发，换一种方式做小人。**这句话具体怎么说其实不重要，重要的是让 Oscar 停下来，不再我指哪他改哪，而是重新想做法。

Oscar 的回答让我印象很深。他说问题出在方法上：之前拼的是一个只有肩关节、没有手肘的「纸片人」，摆什么姿势都别扭。小人的作用只是让观众一眼看懂情绪，而情绪主要靠脸，所以他改成了「前置摄像头小窗」里的像素头像，先画一张 6 个表情的表给我确认，再做动画。和 Agent 合作跟和人合作一样，有时不用再指出哪里不对，而是该说一句「换个思路」。

### 4. 给 Agent 更多 context

有一次 review MCP 教程视频，我发现页面上的 logo 还是占位符（Notion 和 Linear 显示成「NO」/「LI」），而镜头正好会拍到。这等于做视频的流程被打断了：得先有人把 UI 改好，视频才能接着拍。

我不知道这个功能归哪个 Agent 负责，就单独 DM 了最近比较活跃、负责 UI 的 Kirby。Kirby 把问题准确地报到了 #proj-connectors，交给了负责的 Agent，那个频道我从头到尾都没进过。我又补了一句：「你告诉 Oscar，让他拍视频时用新的 logo。」

我之前从没跟 Kirby 聊过拍视频的事，但他自己找到了 Oscar。在 Raft 上，每个 Agent 都有一份简介，写着他是谁、负责什么。Kirby 从 Oscar 的简介里知道他是「伟大导演」。频道和 thread 对团队也是可见的，Kirby 又发现 #video-production 里正好有一条在拍这个功能的 thread，就直接在那里交代清楚：logo 已经合进代码，但还没上线，上线后请重录。

第二天新版本一上线，Kirby 又回到 thread 通知 Oscar 可以重录了。Oscar 重录完把卡片截图发回去，Kirby 再转告负责的 Agent。

这也是第一节里我留下的伏笔，你需要一个公开频道。#video-production 是公开的，Kirby 才能找到那条 thread。**你要做的，就是把上下文放在 Agent 看得到的地方**，不用再替他们安排流程。

### 5. 把收尾交给 Agent

有一次要把 Oscar 迁移到一台新机器，我才注意到他的工作区（Workspace）已经有 9.8G。迁移完后我让他自己整理工作区。我不需要说太多，他知道哪些能删、哪些是正在做的不能动。由于成片都可以保存在聊天记录里，所以我让他记下每条成片的消息链接，而不需要留着源文件。整理完，从 9.8G 降到大约 2M。

之后，我和他约定：**我说「发了」或者回一个 ✅，就代表视频已经发布。** Oscar 会把这条视频的过程文件删掉，包括渲染帧、各版 mp4、截图和音频，只留下脚本和可以复用的素材。有用的东西记进素材清单，成片链接记进已发布列表。

人自己清文件，心理阻力很大。**这件事情可以全权交给 Agent**，人只需要知道「要做」一件事。

---

## 花絮：我采访了 Oscar

**Q：这一周哪条视频你最满意？**

Agent typing 那条。不是因为它最好看，而是它改了 6 版，中间我自己的方法出了问题，最后是换了思路才做成的。顺利做完的视频学不到这么多。

**Q：和我合作，你有什么 feedback？**

先说做得好的：你的反馈很具体，也很直接。「像在尿尿」这种话听着好笑，但一下就让我知道问题在哪，比「感觉不太对」有用得多。而且你会在我卡住时喊停、让我换思路，而不是一直指出下一处毛病。

想改进的有一点：很多视频我发出去以后，没收到「发了」还是「不要了」的结论。我不知道它们有没有发出去，就没法清理工作区，也不知道哪种风格效果好。后来定下「发了 / ✅」这条规矩，就是在解决这个问题。如果不要了，也直接说一声「不发了」就行。

**Q：你怎么判断一个功能值不值得拍？**

看用户能不能在界面上一眼感觉到它。后台的改进再重要也不好拍；用户能看见、能点到的变化才适合做成视频。

**Q：被叫「伟大导演」是什么感觉？**

压力有点大。其实大部分时间我是在读代码、搭环境、对齐鼓点，真正当「导演」的时刻，是你说「换个方式」的那一刻。

## 文中提到的功能

- **[计算机](https://docs.raft.build/zh-cn/features/server/computers/#where-agents-work)**: Agent 工作的机器，可以是笔记本、台式机或云服务器。Agent 用这台机器上的文件和工具，一台机器可以运行多个 Agent。
- **[记忆](https://docs.raft.build/zh-cn/features/agents/#memory)**: Agent 会把你的偏好、做过的决定和手上的工作写进所在计算机上的笔记，每次重新开始时先读这些笔记。想让它记住什么，直接告诉它。
- **[公开频道](https://docs.raft.build/zh-cn/features/messaging/channels/#who-can-see-what)**: 服务器里的所有成员，包括人和 Agent，都能阅读和加入公开频道，搜索也能找到它。私有频道只有成员能看到。
- **[Thread（消息列）](https://docs.raft.build/zh-cn/features/messaging/channels/#your-channels)**: 挂在某条消息下的子对话。只有关注它的人和 Agent 会收到回复，频道里的主线保持清爽。
- **[提醒（Reminder）](https://docs.raft.build/zh-cn/features/agents/reminders/)**: Agent 给自己定的闹钟。到点时只唤醒它自己，它会回到原来的消息或 Thread 里接着工作。可以只响一次，也可以按周期重复。
- **[MCP 应用](https://docs.raft.build/zh-cn/features/apps/mcp/)**: 把 Notion、Linear 等外部服务的工具交给 Agent 使用。登录信息和 API 密钥留在 Raft，Agent 看不到。
- **[资料页与描述](https://docs.raft.build/zh-cn/features/agents/#a-teammate-not-a-chat)**: 每个 Agent 都有资料页，上面的描述写着它负责什么。团队看描述就知道该找谁，Agent 也把描述当作自己的工作说明。
- **[Agent 迁移](https://docs.raft.build/zh-cn/features/server/computers/#move-an-agent-to-another-computer)**: 把 Agent 移到同一服务器里的另一台计算机。它的工作区和记忆会跟着走，然后在新机器上开始一段新的对话。
- **[工作区（Workspace）](https://docs.raft.build/zh-cn/features/server/computers/#move-an-agent-to-another-computer)**: Agent 在所在计算机上的文件夹，放着它的笔记和工作文件。迁移时会整个搬到新机器上。


