用AI编码代理写YouTube描述

有些任务并不那么有趣。每个视频都需要一个带有钩子、时间戳、链接和标签的描述。每次手动制作都会很繁琐。所以我构建了一个代理技能。

用AI编码代理写YouTube描述
AI编程/Vibe Coding 遇到问题需要帮助的,联系微信 ezpoda,免费咨询。

制作了数十个视频后,我学到了很多东西。从研究正确的主题到剪辑,每个视频都会带来独特的挑战。有些任务并不那么有趣。每个视频都需要一个带有钩子、时间戳、链接和标签的描述。每次手动制作都会很繁琐。

复制粘贴模板有帮助,但它们无法适应视频的实际内容。它们无法从转录稿中提取时间戳,也无法确定哪些五个标签能在这个特定主题上获得最广泛的触达。我想要更智能的东西。所以我构建了一个代理技能。

1、什么是代理技能?

技能想象成一个你交给 AI 编码代理的结构化知识包,比如Gemini CLIGoogle 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、视频描述技能,详细解析

视频描述技能有六个步骤:

  1. 分析转录稿和任何补充文档(博客文章、规格表)。
  • 确定目标平台: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

汇智网翻译整理,转载请标明出处