Skills

Cross Video QA

用户问「我哪一期讲过 X」「这几部视频里谁说过 Y」「X 在我的视频里是怎么讲的」「有哪些讲 X...

Install

npx skills add JimLiu/baocut --skill cross-video-qa -g -a claude-code -y
Repository
JimLiu/baocut1.6k
Category
Engineering
Updated
3d ago
License
See repository
Context cost
Lightabout 592 tokens
Runs scripts
No, instructions only

What it does

用户问「我哪一期讲过 X」「这几部视频里谁说过 Y」「X 在我的视频里是怎么讲的」「有哪些讲 X 的视频」这类要在多部视频里找答案的问题时用:按意思检索、按视频去重、按当前版本重新定位,只凭找回来的原话回答,每条论断注明视频与时间,覆盖不全时说明。不用于总结或改写一部视频(那是总结、博客),也不改视频。

跨视频问答

用户想知道的是「讲过没有、在哪讲的、怎么讲的」。答案的价值在出处:每一条说法都要能让用户回到那部视频的那一刻去核对。找不到就说找不到,不拿常识或猜测补。

1. 想清楚要找什么

  1. 把问题改写成一两句检索句:说的是什么事,而不是用户原话里的口头词。换一种说法再写一句(同义词、行话与大白话、另一种语言的说法),两句分别检索,覆盖不同的讲法。
  2. 用户限定了范围(某个项目、某几部视频)时带上 projectId、videoIds。问某个说话人说过什么时,检索没有说话人筛选:照常检索,再看命中的 speaker 与上下文对不对得上。

2. 检索

  1. 用 space_search_v2 检索(mode 用默认的 hybrid;kinds 先给 ["speech"] 找原话,原话不够再放开到字幕与译文)。一句检索一次,limit 取 20 左右;两句检索的命中按 hitId 合并,同一部视频同一段时间的算一条。第一页都相关、还有 nextCursor 时,传回 cursor 再取一页。
  2. 读结果的 effectiveMode、degraded 与 coverage:
    • effectiveMode 是 lexical 且带 degraded.reason 时,这台机器没有可用的语义索引,只按字面找了:字面检索要每个词都出现,改用两三个关键词(不是整句)再检一次;换了说法的内容找不到,回答里要说明。
    • 工具报 SEMANTIC_UNAVAILABLE 时语义检索还没就绪:改用 space_search 按关键词找,回答里说明。
    • degraded.reason 为 INDEX_PARTIAL(knownScopeComplete 为 false)时,有视频还没进索引,结果可能不全,回答里要说明;missingInput 是没有文稿的视频(按讲话找不到),excluded 是用户在设置里没纳入语义索引的项目(只按字面找过)。需要时用 space_index_status 看是哪几部。
  3. 证据类别是 summary(章节标题与摘要)的命中只用来知道「哪一段可能讲了」,不能当原话引用;要引用时在那一段里再找讲话原话。
  4. weak 的命中只是按意思勉强沾边:先读原文确认真的在讲这件事再用;全部是 weak 时多半没有答案,照「没找到」处理。

3. 去重与重新定位

  1. 按 videoId 分组,每部视频只留最相关的一到三条。同一段话的文稿与字幕工具已经只留一条;译文与原话都命中时只留原话。
  2. 命中的 needsResolve 为 true 时,视频在建索引之后改过:用 space_resolve_search_hit 按当前版本重新定位。
    • resolved:用返回的 spans 作时间(同一句出现几次就有几段,取第一段)。
    • not-in-timeline:这句还在文稿里但已经剪出时间线,时间是素材的源时间;引用时注明「已剪掉」。
    • gone:已经没有了或你看不到,丢掉这条。
    • unsupported:没法重新定位,时间可能已经不准;引用时注明。
  3. 命中只是一小段,读不出完整意思时,用 speech_relevant(intent 写检索句,videoIds 只给这部视频,neighbors 给 2)取前后文。
  4. 命中的 clock 为 sequence 时是时间线上的时间,可以直接写;为 source 时是素材的源时间,引用时注明。

4. 回答

Read the whole SKILL.md on GitHub

More in Engineering