妹妹要同时应付学校课业和 NIFT、UCEED 2027 的入学准备,看 YouTube 备考视频是日常。她已经看完一场讲解,想换下一个视频时,问题很具体:哪些部分才真正带来新东西?
她想补上错过的解释、额外的数据和事实,以及换个角度理解同一个知识点。但要找到这些部分,得先把已经看过的内容再坐一遍。视频可能有用,可她必须先看完才知道哪里有。
UNWATCH 就是从这个场景长出来的。在让人再投入一节课之前,能不能先告诉他:哪些看起来眼熟、哪些像是新的,以及这个判断的依据是什么?
用法很直接:粘贴已看过的 YouTube 链接,再粘贴正在考虑的那个。UNWATCH 读取可用的字幕,找出可能的重复内容,生成一份可编辑的观看清单,标出原视频里可以跳过的段落。新例子和不确定的内容默认保留。
有用的一步发生在按下播放之前。每一条建议跳过都附带字幕原文片段,用户可以核对判断依据、恢复某个段落,再按选定的区间观看原视频。不需要上传字幕,也不用装浏览器扩展。
在 React 的一次对比中,第二个教程用交互式 3D 场景讲 state。UNWATCH 保留了这些例子,只建议省略一段重复讲解 state 值和 setter 的内容。评估时间线从 9:56 变成 8:57,加上上下文留白后共省下 59.481 秒。两条被引用的字幕片段都经过人工核对,恢复该段落只需一次点击。
另外四组对比配置则全部保留。其中一组是 React 与 Docker 的不相关配对——两个视频共用“application”这类词,并不代表它们的讲解可以互换。
七项服务各管一段
核心路径不复杂:取回带时间戳的语音文本,比较讲解内容,校验建议段落,再交给学习者复核。七个合作服务支撑这条链路,每个都有明确分工。
- Mastra:开源工作流先跑字幕检索再跑比较,步骤之间用带类型的输入输出 schema 衔接。引用和时间线校验就在比较路径里执行,检索到的证据与建议清单之间的边界在代码中可见。出错时应用会停下并给出有用的报错,而不是抛出一个没有依据的结果。
- SerpApi:调用 youtube_video_transcript 引擎取回字幕及其时间戳,这些时间戳把建议段落和原视频对应起来,支撑证据链接。用户粘贴链接即可,不用下载视频或上传字幕。
- ElevenLabs:字幕路线拿不到可用文本时,可选的 Scribe 兜底把 YouTube 标准链接作为 source_url 提交,请求带时间戳的转写。开发中有一个真实的无字幕 Docker 源走过这条路径,后续运行复用了缓存转写。
- Ultramarine:Paper Instruments 的模型读取带时间戳的转写,提出段落、理由、字幕引用,并评估该段落是否带来独立细节。服务器在展示结果前会核对这些引用。仅仅重复一个术语,不应该删掉一个新例子或一条注意事项。
- MongoDB Atlas:按账号存储对比记录和会过期的字幕缓存,保存的会话可以重新打开,缓存转写可以复用。它还存着共享的服务预算账本,调用前做原子条件预留,请求同时到达也一样,重启服务器不会重置账本。
- Auth0:负责登录并签发访问令牌。后端校验签名、签发方和受众,再用验证过的用户身份限定会话访问范围。学习者可以主动同步一次对比,之后从账号里重新打开。
- Render:一个免费 Web 服务同时托管构建后的 React 界面和 Express API,服务商凭证留在服务端,前端调用同源接口。免费实例可能需要时间唤醒。
两个踩过的坑
第一个硬教训是:引用可以成立,跳过却可能是错的。早期一次结果把 Docker/VM 的讲解标成重复,可它其实补充了一条操作系统兼容性注意事项。之后收紧了提示词,并加入对独立细节的显式检查——只要模型识别出额外例子、注意事项或实操步骤,或者干脆没给出这项评估,该段落就保留。
长视频暴露了另一个问题:一次格式错误的模型响应可能让整场对比作废。现在的分块处理会保留未评估的部分,并保住它周围可用的部分,同时告诉用户发生了什么;用量数据不完整时,也不给出总成本估算。这条恢复逻辑有回归测试。屏幕录制里还展示了一次新的长 React 对比,保留了约 80 分钟内容,没有省略任何段落。
当前自动化测试有 20 项通过,覆盖来源校验、字幕缓存与转写兜底、有依据的段落引用、长视频时间线、保守恢复和预算隔离。生产构建通过。浏览器检查中,真实的 YouTube 嵌入从选定时间戳开始播放、暂停、跳到另一个区间,并提供完整视频模式。
真实 React 那次运行返回 19,563 个输入 token 和 2,170 个输出 token,按适配器配置费率估算模型用量为 0.00401945 美元。五次成功配置合计 0.02435370 美元。这些数字不含字幕与转写用量,也不含失败请求,是基于 token 的估算,不是服务商账单。
Mastra 是这套 AI 工作流的中心,步骤显式且可检查:取来源、做比较、校验能展示给学习者的内容。校验规则和服务适配器都在项目源码里,其他开发者可以改比较行为或替换服务商。发现那次错误跳过时,改的是校验边界并补一条针对性的回归测试,学习者的复核界面不用动。
妹妹已经试过这个原型。她的第一个用法是挑出第二个备考视频里值得注意的部分:一段新解释、一个额外事实,或者上一节课没覆盖的细节。目标是给剩下的备考留出更多时间。
目前的试点规模刻意保守:五组配置,其中包含反向配对,覆盖两个主要话题组,外加一组不相关话题的检查。只有一段被建议省略。这足以演示工作流,但不足以宣称普遍准确或学习效果提升。字幕分析也无法可靠判断无声演示,这类内容需要额外小心。
下一步想做的,是更广的评审集,以及收集“哪些建议跳过被人恢复了”的反馈。对这个原型来说,每条建议的捷径都应该可解释、可轻松撤销。
热门跟贴