YouTube Research Pipeline:用 AI 打造自动化视频研究工作流

一个话题输入,全自动研究输出。本文介绍如何用 Claude Code Skills + NotebookLM 构建端到端的 YouTube 视频研究工作流,实现从搜索、筛选、分析到生成报告的全自动化。

问题背景

做技术调研时,YouTube 往往是最好的学习资源之一。但传统的视频研究流程非常低效:

  1. 手动搜索关键词
  2. 逐个点开视频查看
  3. 跳过广告、调整进度条
  4. 记笔记、整理要点
  5. 不同视频之间对比分析

一个话题调研下来,可能要花 2-3 个小时。而且容易遗漏重要信息,难以系统化整理。

能不能让 AI 帮我们完成这一切?

解决方案:YouTube Research Pipeline

我设计了一个全自动化的研究工作流:

1
2
3
4
5
┌─────────────┐    ┌──────────────┐    ┌─────────────┐    ┌──────────────┐    ┌─────────────┐
│ Search │ -> │ Select │ -> │ NotebookLM │ -> │ Analyze │ -> │ Deliverable │
│ YouTube │ │ Best Videos │ │ Ingest │ │ & Report │ │ (optional) │
│ (20-50) │ │ (5-8) │ │ │ │ │ │ │
└─────────────┘ └──────────────┘ └─────────────┘ └──────────────┘ └─────────────┘

输入:一个话题(如 “Claude Code Skills”)

输出:完整的研究报告 + 可选的 podcast/幻灯片/思维导图

核心技术栈

工具 用途 安装方式
yt-dlp YouTube 搜索和元数据提取 pip install yt-dlp
NotebookLM CLI 视频内容分析和生成 pip install notebooklm-py
Claude Code 工作流编排和 Skill 定义 Claude Code CLI

实现细节

Step 1:搜索 YouTube

使用 yt-dlp 的搜索功能,一次性获取 50 个候选视频:

1
2
3
4
yt-dlp "ytsearch50:Claude Code Skills" \
--flat-playlist \
--print "%(id)s|%(title)s|%(channel)s|%(channel_follower_count)s|%(view_count)s|%(duration_string)s|%(upload_date)s" \
--dateafter now-6months

参数说明

  • ytsearch50:搜索 50 个结果
  • --flat-playlist:只获取元数据,不下载视频
  • --dateafter now-6months:只看最近 6 个月的内容

Step 2:智能筛选最佳视频

50 个视频太多,需要筛选出最有价值的 5-8 个。我设计了一个评分系统:

因素 权重 评分方法
相关性 40% 标题与话题的关键词匹配度
参与度 30% 播放量 / 频道订阅数 比值
时效性 20% 越新分数越高
多样性 10% 同一频道最多 2 个视频

参与度比值的含义

1
engagement_ratio = view_count / channel_follower_count
  • > 1.0:爆款视频,表现超过频道平均水平
  • 0.3 - 1.0:参与度良好
  • < 0.3:正常表现

筛选规则

  • 每个频道最多 2 个视频(保证多样性)
  • 优先选择参与度 > 0.3 的视频
  • 时长 5-60 分钟最佳(跳过短视频和超长内容)

Step 3:创建 NotebookLM 笔记本

1
notebooklm create "Research: Claude Code Skills" --json

NotebookLM 会返回一个 notebook ID,后续操作都需要用到。

Step 4:添加视频源

把筛选出的视频作为数据源添加到 NotebookLM:

1
notebooklm source add "https://www.youtube.com/watch?v=VIDEO_ID" --json

NotebookLM 会自动解析 YouTube 视频,提取字幕和内容。

Step 5:等待处理完成

视频处理需要时间(30 秒到 10 分钟不等),需要等待:

1
notebooklm source wait <source_id> -n <notebook_id> --timeout 600

Step 6:运行分析

处理完成后,向 NotebookLM 提问进行分析:

1
notebooklm ask "What are the main trends across these videos?" --json

分析维度

问题类型 目的
趋势分析 “这些视频的主要趋势和模式是什么?”
关键要点 “最重要的 5 个要点是什么?”
异常观点 “有哪些独特或有争议的观点?”
研究空白 “哪些话题或角度被忽略了?”
共识总结 “所有来源都同意的观点是什么?”

Step 7:生成可交付物(可选)

NotebookLM 支持多种输出格式:

类型 命令 耗时
Podcast notebooklm generate audio "说明" 10-20 分钟
视频 notebooklm generate video "说明" 15-45 分钟
报告 notebooklm generate report --format study-guide 5-15 分钟
幻灯片 notebooklm generate slide-deck 5-15 分钟
思维导图 notebooklm generate mind-map 即时

输出格式示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
YouTube Research Pipeline Complete: Claude Code Skills
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 Research Summary
Videos searched: 50
Videos selected: 8
Notebook: fcbe7e02-e304-47d0-bbd3-fea0f2eb1284

🎬 Selected Videos (ranked by score)
1. Don't Build Agents, Build Skills Instead (AI Engineer) - Score: 87
2. How I use Claude Code (Meta Staff Engineer) - Score: 82
...

🎯 Key Takeaways
1. Skills 是 AI 的 SOP,确保一致性执行
2. 渐进式加载机制,仅 30-50 tokens 初始消耗
3. MCP 连接数据,Skills 处理数据

📈 Trends
• Skills + MCP + Sub-agents 组合使用
• 用脚本替代 LLM 数学计算

🔍 Outliers
• "不要构建 Agent,构建 Skills 代替"

❓ Gaps
• 企业级部署最佳实践较少
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

封装为 Claude Skill

我把这个工作流封装成了一个 Claude Code Skill,使用时只需要说:

“Research Claude Code Skills on YouTube”

或者:

“Create a podcast about React Server Components from YouTube research”

Claude 会自动执行整个流程,无需人工干预。

Skill 核心设计原则

  1. 全自动化:步骤之间无需确认
  2. 智能筛选:基于评分系统选择最佳视频
  3. 并行处理:多个视频源同时处理
  4. 错误容错:单个源失败不影响整体流程

实际效果

我用这个工作流研究了 “Claude Code Skills 和 MCP”:

指标 数据
搜索结果 50 个视频
精选分析 8 个视频
处理时间 约 15 分钟
产出 研究笔记 + 知识图谱 + 信息图

传统方式可能需要 2-3 小时,现在只需要一杯咖啡的时间。

经验总结

✅ 成功要素

  1. 评分系统是关键:好的评分算法能筛选出高质量内容
  2. 多样性很重要:限制同一频道数量,获取不同视角
  3. NotebookLM 的视频理解能力很强:能准确提取关键信息
  4. 输出格式要标准化:便于后续处理和引用

⚠️ 注意事项

  1. Windows 编码问题:NotebookLM CLI 输出包含 Unicode 符号,建议用 --json 参数
  2. 处理时间不稳定:视频长度影响处理时间,需要设置合理超时
  3. Rate Limit:生成 podcast 等可能触发限制,建议等待 5 分钟后重试

结语

这个 YouTube Research Pipeline 展示了 AI 时代的研究新范式:

  • 从手动到自动:AI 替代重复劳动
  • 从碎片到系统:结构化输出,便于后续使用
  • 从单一到多元:支持多种输出格式

如果你也想尝试,可以参考本文的实现思路,或者直接使用 Claude Code 和 NotebookLM CLI 搭建自己的研究工作流。


参考资料