AI书房
用书来读懂AI
这里收录金京镇律师的AI、法律、产业、历史、政治、文化主题在线书。每本书都按目录、序言、章节、尾声整理,方便连续阅读。
[AI书房] 第20章 YouTube分析工作流与邮件自动发送
Claude Code完全掌握
Claude Code完全掌握
第20章 YouTube分析工作流与邮件自动发送
金京镇
YouTube频道数据采集与趋势分析
VS Code已经打开。左侧文件浏览器里有一个名为「YouTube Analysis」的项目文件夹,空空如也,等着被填满。右侧是Claude Code的对话窗口,光标一闪一闪。我们要从这个空文件夹出发,搭建一套自动化系统:采集YouTube频道数据、分析趋势、生成专业报告,再通过邮件发送出去。
这一章把前面讲过的MCP、技能、GWS命令行方式、WAT框架,放进同一条工作流里走一遍。
项目初始化
第一件事是把claude.md文件放进项目里。这个文件相当于智能体的系统提示词(System Prompt),告诉智能体WAT框架的三层结构:工作流、智能体、工具。
文件放好之后,在Claude Code里说「请根据这个claude.md文件初始化项目」。智能体会创建temp、tools、workflows文件夹,配置好.env和.gitignore。项目骨架就搭起来了。
在计划模式下传达需求
切换到计划模式。这个步骤的重要性在前面几章已经反复说过,这里直接进入实操。
「我想做一个自动化工具,大规模抓取AI和AI自动化领域的YouTube视频与频道数据。我需要知道哪些视频正在走红、哪些内容表现好、AI行业整体氛围如何,这样才能做出更多人想看的内容。请告诉我怎么获取这些数据,帮我调研一下可用的API或MCP服务器,看看有没有现成的技能可以用。调研结束后,请生成一份幻灯片报告,要有图表、图片和专业的视觉设计。做好之后用Gmail发给我。」
这段话故意写成「脑中倾倒(brain dump)」的样子,不是打磨好的需求文档。计划模式的威力恰恰在这里发挥出来。
智能体的调研与提问
智能体不只是坐在那里思考。它会执行网络搜索,调研YouTube数据采集方法和MCP服务器的用法,然后抛回一连串问题。
逐一回答这些问题:频道靠自动发现、频率设为每周、需要写入Google Sheets、邮件发到自己的Gmail。这些答案一项项填满了需求文档里的空白。
[图20-1] 计划模式下智能体抛出问题并收集回答的界面截图]
制定执行计划
智能体给出的计划规模不小,打算创建7个Python工具。
1. fetch_youtube_data.py,采集YouTube数据 2. analyze_youtube_data.py,分析采集到的数据 3. generate_charts.py,生成图表图片 4. generate_slides.py,组装幻灯片 5. send_email_report.py,发送邮件报告 6.
export_sheets.py,导出到Google Sheets 7. discover_channels.py,自动发现AI频道
工作流命名为youtube_weekly_report。它充当指挥者,按顺序调用这7个工具。
批准计划后,智能体会列出待办清单,逐项执行。这段时间你可以在另一块屏幕上做别的事,偶尔切过来看看进度就好。
安装依赖与配置API密钥
工具创建完毕后,智能体会提示下一步操作。
API密钥存在.env文件里。跟智能体说「请安装依赖,YouTube API密钥我自己来拿」就行。把API密钥交给Claude Code时,确认它只写入.env文件。
OAuth认证需要在Google Cloud项目中启用YouTube Data API、Gmail API和Google Sheets API。操作步骤和第19章讲GWS命令行方式时一样。
首次验证运行
全部配置完成后,智能体会自行跑一遍流水线做验证。结果如下。
[图20-2] 首次验证运行结果摘要,展示采集到的数据规模]
自动生成幻灯片
打开邮箱里收到的报告。标题是「AI Automation YouTube Analytics」,这是一份周报。
邮件正文
追踪30个频道、分析187条视频,这两个核心数字放在最上方。本周热门视频列表和内容创作建议写在正文里。
PowerPoint幻灯片的构成
打开附件里的PowerPoint文件,会看到以下这些幻灯片。
[图20-3] 自动生成的PowerPoint幻灯片截图]
Google Sheets的数据结构
报告发出的同时,数据也会写入Google Sheets。表格里有3个标签页。
频道统计(Channel Stats):记录频道ID、频道名称、订阅数、总观看量、视频数,按日期排列。每周运行一次就多一行,可以追踪频道随时间的增长轨迹。
热门视频(Top Videos):包含视频ID、标题、频道名称、观看量、点赞数、评论数、互动率、发布后天数。把互动率和发布天数放在一起看,就能准确找到「正在起势」的视频。
周报汇总(Weekly Summary):运行日期、追踪频道数、分析视频数、中位观看量、中位互动分数、热门关键词,一行写完。周报数据积累起来之后,行业趋势的变化一目了然。
转为PDF报告
如果不想用PowerPoint,想要一份带品牌设计的PDF报告,可以用Canvas Design技能。在Claude Code模板网站上找到这个技能并安装。把安装命令贴进Claude Code,.claude/skills文件夹里就会生成技能文件和字体。
「我刚装好Canvas Design技能。请不要再生成PowerPoint,改用这个技能做PDF报告。做得专业一些、好看一些。项目文件夹里有一张logo的PNG文件,每一页都要放上去。」
智能体会把原来的generate_slides.py替换成新的PDF生成工具,更新工作流文件。邮件发送工具的附件格式也从PowerPoint改为PDF。
第一次生成PDF时可能会出问题:只有封面和末页,中间的图表页全丢了。这时候用自然语言告诉智能体。
「PDF只有两页,封面和末页在,但图表全没了。」
智能体找到了问题根源,修正了工具,更新了工作流,然后重新生成了一份9页的完整PDF。Logo出现在顶部,日期清晰标注,所有图表和建议一应俱全。
[图20-4] 应用品牌设计后的PDF报告完成画面]
Gmail联动:报告自动发送
工作流的末尾一步,是将完成的报告通过Gmail发送出去。
邮件发送工具的构成
send_email_report.py工具负责处理以下几个环节。
它通过GWS命令行方式调用Gmail API,不需要另外配置SMTP或设置应用专用密码。只要OAuth认证已完成,一行gws命令就能把邮件发出去。
同步更新Google Sheets
邮件发送的同时,数据也会写入Google Sheets。你不需要手动创建表格。智能体会新建一个表格,或者在已有表格中添加标签页,设定列结构(Schema),再填入数据。每周执行时自动追加新行,时间序列数据就这样自然积累起来。
验证与优化
工作流做完了,并不意味着可以直接上线。验证和优化这一步还没走完。
迭代改进的实际过程
第一次运行就一切完美,这种情况少之又少。YouTube分析工作流同样经历了多轮修改。
每发现一个问题,用自然语言告诉智能体就行,它会自己排查原因并修复。修复内容会反映到工具文件和工作流文件中,下次运行时同样的问题就不会再出现。
安全审查
部署之前,安全审查是必须做的。
「请做一下安全审查。检查一下有没有API密钥泄露,有没有安全漏洞。」
智能体会审查全部代码,逐项检查以下内容。
即使安全审查中发现了需要关注的条目,也不一定意味着真的存在漏洞。如果智能体报告「有3个需关注的条目,但所有密钥都已安全管理」,就可以继续推进部署。
[图20-5] 安全审查结果汇总画面]
部署:借助Modal实现定时执行
要让工作流按周定时运行,就需要部署到云端。这里用到的是Modal这个AI基础设施平台。Modal只在自动化任务实际运行时才计费,成本效率很高,还提供免费额度。
部署过程是这样的。
「我想把YouTube分析工作流部署到Modal上,请设置为每周一早上6点自动执行。」
智能体会按顺序完成以下操作。
1. 更新脚本中的环境变量路径 2. 生成Modal部署文件 3. 配置Cron定时任务 4. 将API密钥和认证凭据注册为Modal Secret 5. 执行部署并验证
部署完成后,可以在Modal控制台上确认应用状态。先用手动触发(manual trigger)再验证一次,确认正常运行后,再激活定时触发器。
部署后的运维
前面章节提到过一个重要区分,这里再强调一次:被部署的是工作流和工具,智能体本身不会被部署。所以,已部署的工作流在运行中遇到新错误时,不会自我修复。
运维的流程是这样的。
1. 在Modal上查看执行日志 2. 发现错误时切回Claude Code 3. 在本地修改并测试工作流 4. 将修改后的版本重新部署到Modal
工作流稳定之后,这个周期会逐渐缩短。初期可能每周需要检查一到两次,但随着边界情况逐一解决,最终只靠自动执行就够了。
整体架构总览
下面把YouTube分析工作流的完整结构做一个全景梳理。
[claude.md 系统提示词] │ ▼ [工作流: youtube_weekly_report.md] │ ├── discover_channels.py ─── YouTube Data API ├── fetch_youtube_data.py ─── YouTube Data API ├── analyze_youtube_data.py ├── generate_charts.py ├── generate_pdf_report.py ─── Canvas Design技能 ├── export_sheets.py ─── GWS CLI → Google Sheets └── send_email_report.py ─── GWS CLI → Gmail
[图20-6] YouTube分析工作流的整体架构示意图]
MCP(Firecrawl)、API(YouTube Data)、命令行方式(GWS)、技能(Canvas Design),以及WAT框架,在同一个工作流中有机地结合在一起。串联这一切的,只是自然语言对话。
从一个空文件夹起步,到每周YouTube趋势报告自动出现在邮箱里,我们走完了全部流程。从一条提示词出发,与智能体一问一答,造出了7个工具和1个工作流,经过验证、修改,最终部署上线。
这个过程中获得的感觉,用自然语言描述目标、回答智能体的提问、确认产出并提出修改意见的节奏,今后无论构建哪种类型的自动化,都同样适用。
人工智能专家 金京镇律师
AI法律政策专家 · 前国会议员 · 著作等身
如果这本书曾在你身边停留过片刻,请支持我们,让下一个故事也能与世界见面。
(自愿赞助账户:韩国农协银行 302-1096-0948-81 户名:金京镇)
