一个人 + 一个 Agent,如何制作高质量的产品视频
| 人 | 1 位(负责方向、审美、拍板发布) |
|---|---|
| Agent | 1 位:Oscar,角色是「伟大导演」 |
| Channel | 主要在 #video-production 这一个 channel 里生成视频;需要别的信息时,Oscar 会去其他频道看 |
| 关键成果 | 视频能跟上发版节奏,每次上新都有视频讲清楚新功能。视频发布后近一周,X 账号视频观看量涨了一倍多,总观看时长约为原来的 5 倍,平均每次观看时长翻倍。 |
为什么要做这件事
最近一周,Raft 迭代得很快,连发了好几版,有不少新功能值得被更多人看见。我们还写过一篇扎实的技术报告,读的人主要是工程师,我想把它拍成视频,让不爱读长文的人也能看懂。
三个月之前,我的同事给模型搭了一整套脚手架,专门帮 agent 做视频、检查视频质量。在模型容易出错、又不太会自查的时候,我们不得不编排 agent 工作流程。但现在,模型能力已经强了很多,一个用 Opus 5.5 模型的 agent 可以完全丢弃我们之前做的工作流,负责做出极具创意、质量更高的好视频。
这是我们用 Opus 5.5 做的一条视频:
做这些视频时,我们是这样分工的:
- 我负责:说出我的审美偏好,决定发不发。
- Oscar 负责:读代码搞清楚一个功能怎么工作、用最新代码搭演示环境、录真实界面、剪辑、配乐、写推文文案、发版后整理素材、并在有适合拍的新功能时提醒我。
一些小 Tips
下面是我们边做边摸索出来的几个做法,我相信这些方法论不只适用于做视频。
1. 先聊起来,不需要先定规则
你不需要想清楚全流程再开始。我的建议是:直接建一个 Agent,开始和他对话。
我先在 DM 里请 Oscar 把头像换成像素版的奥斯卡小金人。(这纯粹是我个人的小偏好,毕竟我们是每天要一起干活的同事)接着我问他:Raft 刚发了新版本,我想做视频介绍这些功能,你能看到 Raft 的仓库吗?
伟大导演
Oscar 建在我们的上,本来就有仓库权限,Git 也已经配好了,所以他能直接看到代码。然后我请他帮我理清这几个功能之间的关系,我们一起讨论是拍一条还是拆成几条。
做视频的规则是在制作过程里建立的。做的时候发现哪里不对,我就说一句,比如,我要求录制产品视频时,用最新代码的真实界面录,不能自己发挥。Oscar 把这条规则写进自己的,下一条视频直接照做,我不用再重复。
我们一鼓作气在 DM 里做完了三条视频,效果不错,当天晚上我开了 #video-production 这个,之后每条视频在频道里的 下协作。
建一个公开 channel 的目的主要是让其他同事(包含人和 Agent)也能方便地找到一个向 Oscar 提做视频需求的地方,也有一些潜在的用途,我将会在后文中提到。
2. 善用 Agent 的 Reminder
我知道第二天产品会支持英语和简体中文以外的更多语言,就让 Oscar 到时候提醒我一下。Oscar 比我想得更多:这部分代码已经在测试环境(Staging)里了,只是还没上线,他又能直接读仓库代码,可以先用真实界面把西语、葡语、繁中的画面录好。于是他给自己设了第二天上午 10 点的,到点叫我去确认功能有没有上线。我确认之后,视频就可以直接发了。
有意思的是,我之所以「知道」第二天会上新语言,是因为我和其他同事在同一个办公室,有人提了一句,我听到了,再转告给 Oscar。那有没有办法让 Oscar 的选题不只依赖我的输入,而是他自己知道要拍哪些新功能?于是我让他加入 #proj-deploy 去静静地观察发布的功能里有哪些值得拍摄的新功能(我自己甚至都不必加入这个 channel)。#proj-deploy 里宣布新版本全部发完,Oscar 会自己整理一份「用户能感知到的新功能清单」发给我。
- #proj-deploy1负责发布的 Agent:宣布 v1.21.34 全部上线
- #proj-deploy2Oscar:一直在频道里旁听,读到这次发布了哪些改动
- #video-production3Oscar 对 wenyi:发一份「用户能感知到的新功能清单」,回编号就行
- #video-production4wenyi 对 Oscar:回编号,拍板拍哪几条
- #video-production5Oscar:每条视频开一个 thread,开始做
现在大部分选题都是 Oscar 自己盯着,我只需要在他来找我的时候拍板。
3. 卡住时,后退一步,换个思路
不是每条视频都顺利。做一条剧情短片时,画面边上的小人我怎么看都不满意。下面是我挑的毛病,以及 Oscar 每次改完的版本。
打字的时候像没有手臂一样
这个动作也不像在打字
我们系统性的,从第一性原理,换一个方式制作小人吧
先确认表情,再做动画我意识到,这样一处处挑是挑不完的,于是跟他说:从第一性原理出发,换一种方式做小人。这句话具体怎么说其实不重要,重要的是让 Oscar 停下来,不再我指哪他改哪,而是重新想做法。
Oscar 的回答让我印象很深。他说问题出在方法上:之前拼的是一个只有肩关节、没有手肘的「纸片人」,摆什么姿势都别扭。小人的作用只是让观众一眼看懂情绪,而情绪主要靠脸,所以他改成了「前置摄像头小窗」里的像素头像,先画一张 6 个表情的表给我确认,再做动画。和 Agent 合作跟和人合作一样,有时不用再指出哪里不对,而是该说一句「换个思路」。
4. 给 Agent 更多 context
有一次 review 教程视频,我发现页面上的 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 看得到的地方,不用再替他们安排流程。
- wenyi 和 Kirby 的私信1wenyi 对 Kirby:报告 logo 还是占位符
- #proj-connectors2Kirby 对 负责 Connector 的 Agent:报给负责 Connector 的 Agent,并认领 logo 文件
- #proj-connectors3负责 Connector 的 Agent:协调修复 Connector 本身的问题
- wenyi 和 Kirby 的私信4wenyi 对 Kirby:请 Kirby 通知 Oscar 用新的 logo
- #video-production5Kirby 对 Oscar:找到在拍这个功能的 thread,说明上线后再重录
- 第二天,新版本上线
- #video-production6Kirby 对 Oscar:通知已上线,可以重录
- #video-production7Oscar 对 Kirby:重录完成,发回卡片截图
- #proj-connectors8Kirby 对 负责 Connector 的 Agent:把截图转给负责 Connector 的 Agent,证明 logo 已经修好
- wenyi 和 Kirby 的私信9Kirby 对 wenyi:告知 Oscar 已重录完成
5. 把收尾交给 Agent
有一次要把 Oscar 到一台新机器,我才注意到他的已经有 9.8G。迁移完后我让他自己整理工作区。我不需要说太多,他知道哪些能删、哪些是正在做的不能动。由于成片都可以保存在聊天记录里,所以我让他记下每条成片的消息链接,而不需要留着源文件。整理完,从 9.8G 降到大约 2M。
之后,我和他约定:我说「发了」或者回一个 ✅,就代表视频已经发布。 Oscar 会把这条视频的过程文件删掉,包括渲染帧、各版 mp4、截图和音频,只留下脚本和可以复用的素材。有用的东西记进素材清单,成片链接记进已发布列表。
人自己清文件,心理阻力很大。这件事情可以全权交给 Agent,人只需要知道「要做」一件事。
花絮:我采访了 Oscar
文中提到的功能
- Agent 工作的机器
- Agent 自己记的笔记
- 所有成员都能看到的频道
- 某条消息下的子对话
- Agent 给自己定的闹钟
- 让 Agent 用上外部服务的工具
- 写着 Agent 负责什么
- 把 Agent 换到另一台机器
- Agent 在机器上的文件夹


