用AI编码代理写YouTube描述
有些任务并不那么有趣。每个视频都需要一个带有钩子、时间戳、链接和标签的描述。每次手动制作都会很繁琐。所以我构建了一个代理技能。
AI编程/Vibe Coding 遇到问题需要帮助的,联系微信 ezpoda,免费咨询。
制作了数十个视频后,我学到了很多东西。从研究正确的主题到剪辑,每个视频都会带来独特的挑战。有些任务并不那么有趣。每个视频都需要一个带有钩子、时间戳、链接和标签的描述。每次手动制作都会很繁琐。
复制粘贴模板有帮助,但它们无法适应视频的实际内容。它们无法从转录稿中提取时间戳,也无法确定哪些五个标签能在这个特定主题上获得最广泛的触达。我想要更智能的东西。所以我构建了一个代理技能。
1、什么是代理技能?
将技能想象成一个你交给 AI 编码代理的结构化知识包,比如Gemini CLI或Google Antigravity,以便它能够可靠地执行特定任务。不是你粘贴到聊天窗口的一次性提示。一个可重用、可版本控制、可测试的指令集,就像其他任何代码一样存在于你的项目中。
技能文件夹中包含以下内容:
video-description/
├── SKILL.md # 主指令文件(带有 YAML frontmatter)
├── references/
│ ├── TEMPLATES.md # 平台特定的输出模板
│ └── EXAMPLES.md # 少样本输入/输出对
├── scripts/
│ ├── validate.py # 自动化输出验证
│ └── test_validate.py # 验证器的测试套件
└── assets/
└── evaluations.json # 回归测试用例
SKILL.md 文件具有 YAML frontmatter(名称和描述,以便代理可以自动发现它)和用纯 markdown 编写的逐步工作流程。references/ 目录保存代理读取以获取上下文的模板和示例。scripts/ 目录是最有趣的地方,但我会说到那里。
2、视频描述技能,详细解析
视频描述技能有六个步骤:
- 分析转录稿和任何补充文档(博客文章、规格表)。
- 确定目标平台:YouTube、LinkedIn 或通用格式。
- 选择基于视频类型和平台的
TEMPLATES.md中的模板。 - 起草使用所选模板的描述。
- 添加元数据 — 时间戳、资源链接、社交行动号召。
- 验证输出通过运行脚本。
足够简单。但内嵌在这些步骤中的设计决策使其实际上有用。
始终使用第一人称单数。此技能支持我的个人频道,它补充了我在Google Cloud Tech频道制作的官方视频。技能明确指示代理使用 "I" 和 "my" 而不是 "we" 或 "our"。这是一件小事,确保了一致的口吻。
恰好五个标签。不是"几个"。不是"最多十个"。五个。具有广泛的吸引力。这个约束迫使代理进行选择,而不是泛泛地粘贴通用标签,并且通过编程方式强制执行(稍后会详细介绍)。
平台感知模板。 TEMPLATES.md 文件包含三种不同的格式:专业模板(适合 LinkedIn)、教育模板(带有时间戳的 YouTube)和产品展示模板。每种都有不同的结构。代理根据上下文选择正确的那个。
以下是 YouTube 模板的样子:
# [标题:朗朗上口且以利益为导向]
[2 句话的钩子,解释我将教你什么以及为什么这很重要。]
🚀 **亲自尝试**:[链接]
## 这个视频包含什么?
- [关键点 1]
- [关键点 2]
- [关键点 3]
## 时间戳
00:00 - 介绍
01:30 - [主题 A]
05:45 - [主题 B]
10:20 - 总结和下一步
#Tag1 #Tag2 #Tag3 #Tag4 #Tag5
这是一个真实的输出,该技能为我的一期视频生成的:
# 代理可发现性和互操作性已解释
我探索 AI 代理如何从独立系统演变为互联的生态系统。我将带你了解网络发现的历史、代理卡片和 UCP 的当前状态,以及 MCP 服务器卡片和统一 AI 目录的未来。
🚀 **了解更多关于 Vertex AI 代理的信息**:https://cloud.google.com/vertex-ai/docs/agents
## 这个视频包含什么?
- 如何适应 AI 代理的网络发现模式,如 `.well-known`。
- A2A 协议和代理卡片在代理间通信中的作用。
- 通用商业协议 (UCP) 如何实现代理商务。
- 像 MCP 服务器卡片和统一 AI 目录这样的新兴标准。
## 时间戳
00:00 - 介绍:连接的必要性
00:20 - 过去:网络发现标准
00:38 - 现在:A2A 代理卡片
00:50 - UCP:商业清单
01:10 - 未来:MCP 服务器卡片
01:50 - AI 目录和统一卡片
02:30 - 结论
#AI #Agents #A2A #MCP #UCP
它从转录稿中提取了时间戳,选择了教育性 YouTube 模板,综合了来自转录稿和配套博客文章的关键点,并全程使用第一人称单数。无需修正。
3、验证层:像软件一样测试 AI 输出
这部分改变了我对与 AI 代理工作的看法。
scripts/validate.py 文件对生成的描述运行自动检查。这是一个标准的 Python 脚本。只是正则表达式和字符串操作:
def validate_description(content):
errors = []
warnings = []
# 长度:如果太长(>5000 个字符)或太短(<100),标记
char_count = len(content)
if char_count > 5000:
warnings.append(f"描述非常长({char_count} 个字符)。")
elif char_count < 100:
warnings.append(f"描述非常短({char_count} 个字符)。")
# 时间戳:如果未找到,发出警告
if not re.findall(r"\b\d{1,2}:\d{2}\b", content):
warnings.append("未找到时间戳。")
# 标签:恰好需要 5 个
hashtags = re.findall(r"#\w+", content)
if len(hashtags) != 5:
errors.append(f"预期恰好 5 个标签,找到 {len(hashtags)} 个。")
# POV:标记 "we/our/us"
if re.search(r"\b(we|our|ours|us)\b", content, re.IGNORECASE):
warnings.append("检测到 'we/our/us'。偏好 'I/my'。")
return errors, warnings
它更进一步。test_validate.py 文件包含一个完整的pytest套件,使用模拟 LLM 响应与 evaluations.json 中的评估用例配对:
[
{
"query": "为关于 AI 代理的技术深度挖掘创建一个视频描述。",
"expected_behavior": [
"使用第一人称单数 'I' 和 'my'",
"包含恰好 5 个标签",
"通过 scripts/validate.py 验证"
]
}
]
每个测试用例生成一个模拟输出,对其运行 validate_description() 进行结构检查,然后运行单独的 check_semantic_expectations() 函数进行启发式检查 — 输出是否实际上包含第一人称代词?标签数量是否符合行为规范的要求?
重要的是这个模式:**将代理输出视为可测试的工件。**你可以像为函数编写单元测试一样为 AI 工作流编写单元测试。结构断言捕获格式违规。语义断言捕获内容漂移。
4、30 秒内开始
安装代理技能只需一个命令。克隆devrel-demos 仓库并创建你想要的技能的符号链接:
# 对于 Gemini CLI(全局)
mkdir -p ~/.gemini/skills
ln -s ~/devrel-demos/agents/skills/video-description ~/.gemini/skills/video-description
# 对于特定项目
mkdir -p .gemini/skills
cp -r ~/devrel-demos/agents/skills/video-description .gemini/skills/
# 对于 Antigravity(IDE)
# 复制到 ~/.gemini/antigravity/skills/video-description
然后只需问:"从这个转录稿创建一个 YouTube 视频描述。"代理读取 SKILL.md,遵循工作流程,应用模板,并验证自己的输出。
5、超越 YouTube 描述
视频描述技能是一个小而自包含的示例。它演示的模式更大。
代理技能为你提供了一个AI 行为的可移植打包格式。它们只是文件夹中的 markdown 和脚本 — 没有专有格式,没有供应商锁定。它们与任何读取 SKILL.md 文件的代理配合使用。这种平台无关的方法对于像代理到代理 (A2A)、通用商业协议 (UCP)和模型上下文协议 (MCP)这样的新兴标准至关重要,它们定义了代理如何发现和相互交互。你可以将其版本化到 Git,在 PR 中审查,并在团队之间共享。
什么使一个好的技能?三件事:
- 清晰的工作流程。代理可以顺序遵循的分步指令。歧义是敌人。
- 少样本示例。锚定代理对"好"输出理解的明确输入/输出对。平庸的技能和优秀的技能之间的区别往往取决于
EXAMPLES.md中示例的质量。 - 机器可验证的输出。可以编程检查输出是否满足你标准的验证脚本。这是大多数人跳过的部分 — 也是使技能可靠而不仅仅是方便的部分。
如果你有一个重复的内容任务,将这种模式编码为技能是值得的。你未来的自己(以及你的团队)会感谢你。
原文链接: I Taught My AI Coding Agent to Write YouTube Descriptions
汇智网翻译整理,转载请标明出处