

# 利用 YouTube 评论讨论查找教程中的不足

修改教程前，先将 1 条观众评论与具体的教学片段对应起来。阅读公开回复，听教学讲解，也要看视频画面。然后记录你的发现。教程可能缺少某项解释，也可能已经讲清了这一点。还有一种可能是，已核实的信息太少，无法判断。

教学不足是指缺少解释、表述不清，或使用条件与教程不符。教学不足对照表由多行记录组成。每行将 1 条评论与教学内容、判断结果和测试方法联系起来。

使用 [YouTube Comments Scraper](https://apify.com/chronometrica/youtube-comments-scraper) Actor 收集公开评论。Actor 是收集来源记录的托管程序。Task 是保存好的输入预设。公开的[视频评论分析 Task](https://apify.com/chronometrica/youtube-comments-scraper/examples/youtube-video-comment-analysis) 只提供初始输入，不能证明核查会自动完成。Actor 不会判断教学内容。这项工作由你完成。

这些限制适用于 2026-10-13 核查的公开版本。后续版本可能发生变化。请阅读你所用版本的运行输出。

## 收集有明确范围的评论样本

公开评论程序版本 1.1.6 接受已知的公开视频地址或视频 id。你可以在 `startUrls` 中提交 1 到 100 个地址。将 `maxCommentsPerVideo` 设为 1 到 1,000。这个数字是上限，表示你请求的顶级评论的最大数量。顶级评论是指非回复类评论。将 `commentSortMode` 设为 `top`、`newest` 或 `both`。Top 表示 YouTube 排在前面的评论。Newest 表示最新的评论。开启或关闭 `includeReplies`。开启回复时，`maxRepliesPerComment` 接受 1 到 100。回复是指顶级评论下的回应。回复记录另行计算，不占用顶级评论的数量上限。

已保存的 Task 仍使用歌曲视频示例，上限为 250，已开启回复，最多收集 10 条回复。判断教程前，请替换这个示例。

```json
{
  "startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
  "maxCommentsPerVideo": 250,
  "commentSortMode": "both",
  "includeReplies": true,
  "maxRepliesPerComment": 10
}
```

收集有明确范围的评论样本

首次核查时，使用 1 个你已确认公开的教程。将上限设为 2。将 `commentSortMode` 设为 `both`。将 `includeReplies` 设为 false。不要保留原来的回复数量上限。

```json
{
  "startUrls": ["https://www.youtube.com/watch?v=YOUR_TUTORIAL"],
  "maxCommentsPerVideo": 2,
  "commentSortMode": "both",
  "includeReplies": false
}
```

收集有明确范围的评论样本

另一次小规模对照测试使用了 1 个教学视频，上限为 2，并采用了 2 种排序方式。它写入了 2 条包含文字的顶级评论。其中 1 条记录的排序方式为 Top，另 1 条为 Newest。每条记录都有 `commentId`。`publishedAt` 为 null。OUTPUT 显示，`commentsWritten` 为 2，`repliesWritten` 为 0。`stopReasonCounts` 包含 `requested_comment_limit_reached`。不要寻找单独的 `stopReason` 字段。

`commentsWritten` 为 2 表示保存了 2 条评论记录。`repliesWritten` 为 0 表示保存了 0 条回复记录。这个 0 是该次运行的计数。`publishedAt` 为 null 表示未提供日期。未知不等于 0。不要将空缺日期存为 0。

这次对照测试不能证明回复导出功能有效。验收测试未涵盖自动收集回复。本方法不会将该文件视为重建后的完整评论讨论。回复可能改变评论含义时，请打开公开视频播放页并阅读回复。如果找不到某条回复，就将其保留为缺失。不要编造回复内容。

在笔记中保留[来源排序方式和数量上限](/zh-Hans/articles/%E6%8C%89%E6%9C%80%E7%83%AD%E9%97%A8%E6%88%96%E6%9C%80%E6%96%B0%E9%A1%BA%E5%BA%8F%E6%8A%BD%E5%8F%96%E8%AF%84%E8%AE%BA%E6%A0%B7%E6%9C%AC/)。数量上限用于选取一个小样本，不能据此确定最严重的教学问题。你的视频返回的组合可能不是 1 条 Top 记录和 1 条 Newest 记录。

每条评论记录应包含以下字段：

| 字段 | 含义 |
| --- | --- |
| `videoId` | 视频的公开 id |
| `videoUrl` | 公开视频链接 |
| `commentId` | 评论的公开 id |
| `sortMode` | 该条记录的排序方式：Top 或 Newest |
| `text` | 评论文字 |
| `authorChannelId` | 作者的公开频道 id，仅在来源提供时记录 |
| `publishedTimeText` | 评论旁显示的时间文字，仅在存在时记录 |
| `publishedAt` | 日期时间。Null 表示未知，不表示 0 |
| `scrapedAt` | 收集该条记录的时间 |
| `status` | 该条记录的处理结果 |

如果某项输入不可用，OUTPUT 会说明。判断记录前，先阅读 `status`。如果缺少文字，将该条记录单独保留。不要补写文字。如果缺少 `authorChannelId`，则作者未知。不要虚构人物。作者缺失不等于观众人数为 0。

评论数量不等于学习者人数，也不是人们理解程度的评分。如果没有写入评论，`commentsWritten` 为 0。这个 0 表示你没有评论样本，不表示观众理解了教学内容。不要将样本转换成情绪评分。

## 收集同一教程带时间信息的字幕

公开转录程序版本 0.1.43 接受已知的 `startUrls`、`preferredLanguages` 和 `outputFormats`。使用收集评论时所用的同 1 个教程。替换整个 `startUrls` 列表。不要将歌曲示例留在列表中。需要带时间信息的片段时，请请求 `json`。片段是指一段带时间信息的字幕。

```json
{
  "startUrls": ["https://www.youtube.com/watch?v=YOUR_TUTORIAL"],
  "preferredLanguages": ["en"],
  "outputFormats": ["json"]
}
```

收集同一教程带时间信息的字幕

`preferredLanguages` 表示语言偏好。示例使用 `en`，表示英语。如果你偏好其他字幕语言，请修改此值。这个字段不会翻译教学内容。

针对同一教学视频的转录对照测试成功了。它返回了非空的英语人工字幕轨道，以及带时间信息的片段。人工字幕轨道是指由人制作的字幕文件。这次对照测试表明，存在字幕轨道时，该版本能够返回字幕文字和时间信息。它不能证明你的视频有字幕。本文不复制真实的字幕文字。

使用公开的片段字段 `startSeconds`、`endSeconds`、`durationSeconds` 和 `text`。从片段中读取 `endSeconds`。如果存在 `durationSeconds`，将 `startSeconds` 与 `durationSeconds` 相加。所得结果应与 `endSeconds` 对应同一时间范围。如果缺少 `durationSeconds`，将其保留为未知。不要填入 0。

字幕可能有误，也可能漏掉图示或无声操作。缺少字幕不能证明画面未呈现这一点。如果缺少字幕轨道，请观看视频并听讲解。不要编造字幕文字。转录 Actor 不会读取评论，不会标注教学不足，也不能证明学习者未能理解。

## 按 8 个步骤完成核查

1. 收集评论前，先明确教学目标。用 1 句通俗的话写出要教的概念。写明学习者学完后应能完成什么。选择 1 个公开教程。在阅读评论前声明数量上限。首次核查的上限为 2。只依据观众实际说的话。不要猜测其年龄、技能或动机。
2. 解读样本前，先核查样本。确认视频 id、每个 `commentId`，以及 `text` 是否可用。阅读 OUTPUT，包括 `commentsWritten`、`repliesWritten` 和 `stopReasonCounts`。在笔记中清楚保留来源排序方式和数量上限。将缺失的作者或值为 null 的 `publishedAt` 标记为未知。不要将未知转成 0。2 条记录表示样本中有 2 条评论，不表示有 2 名学习者，也不是全班的成绩。
3. 选择 1 条提出具体任务或具体困惑的评论。保留来源链接。为自己的笔记引用文字时，只引用必需的部分。用平实的话写出你的理解，不额外推断原因。单凭一个问题，不能认定对方理解有误。单凭一句玩笑、不同意见或重复的说法，也不能认定对方理解有误。判断教学内容前，将笔记标记为 `stated_confusion`、`possible_gap` 或 `insufficient_context`。`stated_confusion` 表示评论提出了具体任务或问题。`possible_gap` 表示评论文字可能指向教学问题，但你尚未核查对应片段。`insufficient_context` 表示评论缺少判断所需的信息。
4. 回复可能改变评论含义时，阅读公开的评论讨论。打开视频页面，阅读该评论下的回复。回复可能说明观众的使用条件，也可能表明问题来自另一款产品。记录你核查了哪些内容，也记录哪些内容无法打开。小规模对照测试没有保存回复。不要将导出结果描述为完整的评论讨论。如果找不到回复，请说明回复背景信息不可用。不要写入你未读过的回复。
5. 在视频时间轴上找到对应的教学片段。使用带时间信息的字幕[寻找可能相关的时间区间](/zh-Hans/articles/%E5%9C%A8%E9%95%BF%E7%AF%87%E6%B2%B9%E7%AE%A1%E8%AE%B2%E5%BA%A7%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%A6%82%E5%BF%B5%E8%AE%B2%E8%A7%A3/)。然后播放该区间。以视频秒数记录开始时间和结束时间。记录所教概念、前文中相关的话，以及画面中的操作。先观看并听讲解，再作判断。字幕中缺少的一句话，仍可能通过图示表达清楚。字幕中出现某个词，不能证明口头讲解清楚或正确。使用视频播放时间，不要使用墙上时钟的时间。
6. 将评论与已核查的教学内容比较。先问 3 个问题：教程是否遗漏了解释？教程是否已经说明了这一点？还是仍缺少某项必要信息？然后保存 1 个状态。证据包括评论、你打开过的回复，以及你观看过的片段。`explanation_missing` 表示该片段没有讲解观众所问的要点。`explanation_present_question_unresolved` 表示该片段已说明这一点，而且已核查的内容均不能表明这位观众漏听或漏看了它。后续提问不能证明观众漏掉了讲解。不要说教师没有教好。除非已核查的回复表明观众确实漏掉了讲解，否则使用这个状态。`possible_wording_gap` 表示教程展示了这一点，但讲解始终没有将正确做法与观众的错误作明确对比。`setup_mismatch` 表示评论涉及不同的使用条件、产品或型号。`unresolved` 表示某项必要信息尚未核查，因此不能确定原因。将证据与状态保存在一起。1 条表达困惑的评论不能证明所有观众都遇到了同样的问题。
7. 只有证据支持修改教学内容时，才写出 1 项修改建议。你可以补充前置知识、演示 1 个具体步骤、说明单位、放慢讲解跳跃处的节奏，或在该片段旁加入简短回顾。前置知识是指学习者首先需要知道的信息。说明哪些内容应变得更清楚，并说明测试方法。不要承诺观众会观看更久，也不要承诺增加播放量。修改该片段的解释。修改菜单或总结整个视频属于另一项任务。如果状态为 `unresolved` 或 `setup_mismatch`，不要强行修改本教程。
8. 保存 1 条可供他人复核的教学不足记录。记录应包括评论及其讨论的来源、你已核查的背景信息、片段时间、预期教授的概念、状态、修改建议和验收检查。验收检查是一项测试，用于确认修改是否达到了目的，或确认没有充分理由进行修改。另一人应能打开相同来源，并据此理解决策过程。如果缺少背景信息，将记录保留为 `unresolved`。不要编造确切原因。

## 学习一个虚构的教学不足对照表示例

本节中的园艺教程、评论、回复和时间均为原创虚构内容。它们是教学示例，不是 Actor 输出，也不是产品运行结果。

这个虚构教程教授 1 项技能：学习者测量托盘，并使用同一种单位。虚构的字幕片段如下：

```json
[
  {
    "startSeconds": 20,
    "endSeconds": 28,
    "durationSeconds": 8,
    "text": "Measure the width inside the tray edges"
  },
  {
    "startSeconds": 28,
    "endSeconds": 33,
    "durationSeconds": 5,
    "text": "Use centimeters for both dimensions."
  }
]
```

学习一个虚构的教学不足对照表示例

用简单加法核查第 1 个时间范围。20 加 8 等于 28，与 `endSeconds` 一致。再核查第 2 个时间范围。28 加 5 等于 33，与 `endSeconds` 一致。这些计算只能确认虚构的时间信息，不能判断教学内容。

字幕文字没有提到尺子。在这个故事中，你播放 20–28 秒的片段并观看画面。尺子的起点位于左侧内缘。只有看过画面，你才知道这一点。字幕没有提到尺子，不表示画面是空白的。字幕文字也不能证明口头讲解已经足够。

外沿是指托盘外侧的边缘。教程展示了内缘，但从未说明测量不包括外沿。

| 评论 | 概念 | 已核查的评论讨论 | 已核查的教学片段 | 状态 | 修改建议 | 验收检查 |
| --- | --- | --- | --- | --- | --- | --- |
| 虚构园艺教程下的 C1。评论文字：“我应该从托盘外侧测量吗？” | 以内缘为起点和终点测量宽度。 | 你打开了评论讨论。回复说明观众测量的是外沿。 | 20–28 秒。口头讲解：“测量托盘边缘内侧的宽度。”尺子的起点位于左侧内缘。讲解没有将内缘与外沿作对比。 | `possible_wording_gap` | 在 20 秒处同时展示内外两侧边缘，标出内缘，并说明测量不包括外沿。 | 复核者仅凭新片段，无须查看评论讨论，就能准确指出测量起点和终点所在的边缘。 |
| 虚构园艺教程下的 C2。评论文字：“我可以混用英寸和厘米吗？” | 2 个尺寸使用同一种单位。 | 已核查的回复均未说明这位观众漏掉了关于单位的那句话。 | 28–33 秒。口头讲解：“2 个尺寸都用厘米。” | `explanation_present_question_unresolved` | 仅作为可选修改：在 28 秒附近加入可见的单位标注或简短回顾。保留原句。不要假定教程缺少这条规则而重写教学内容。 | 复核者仍能在 28–33 秒找到原来说明单位的句子。不能仅凭这个问题就认定观众漏掉了解释。 |
| 虚构园艺教程下的 C3。评论文字：“按钮不见了。” | 找到按钮。评论没有提供设备或版本。 | 没有可供核查的回复。设备和版本仍未知。 | 不可用。片段时间未知。不要编造时间。 | `unresolved` | 不修改教学内容。 | 该记录保持未解决状态。复核者不补写设备、版本、原因或片段时间。 |
| 虚构园艺教程下的 C4。评论询问的是另一种产品型号。 | 本视频所教型号的操作步骤。 | 你打开了评论讨论。回复确认评论涉及另一种型号。 | 不将当前教程认定为问题原因。不指定片段时间。 | `setup_mismatch` | 不修改本教程。注明评论提到的是另一种型号。 | 复核者能在已核查的回复中看到另一种型号，并保留本教程原有的操作步骤。 |

C1 最初标记为 `stated_confusion`，因为它提出了具体的测量问题。该片段已经说明要在托盘内缘之间测量。画面也与此一致，因为尺子的起点位于左侧内缘。解释并未缺失，因此状态不是 `explanation_missing`。已核查的回复说明观众使用了外沿。教程从未将外沿与内缘作对比。因此，适用的状态是 `possible_wording_gap`。回复没有说明观众为何选择外沿。不要编造动机。修改内容是在 20 秒处作明确对比。测试只使用新画面和新句子。

C2 最初也标记为 `stated_confusion`。28–33 秒的讲解已经给出规则：2 个尺寸都用厘米。已核查的评论讨论中，没有内容表明这位观众漏掉了那句话。在清楚的讲解之后提出问题，不能证明观众漏掉了讲解。因此，状态为 `explanation_present_question_unresolved`。单位标注可能帮助后来的观众注意到这条规则。这是可选修改。它不能替代原句，也不能造成规则原本缺失的假象。

查找片段前，C3 标记为 `insufficient_context`。“按钮不见了”没有提供设备或版本。也没有回复补充这些信息。你无法选定视频时间，也无法确定原因。未知的背景信息仍应保持未知。状态保持为 `unresolved`，验收检查不允许强行修改。

C4 最初提出的是具体问题，因此在核查评论讨论前，可以标记为 `stated_confusion`。已核查的回复说明，其型号与本教程中的型号不同。因此，状态改为 `setup_mismatch`。不要编造当前片段存在的问题，也不要为解答另一种型号的问题而修改本教程。

统计这个故事中的记录。`possible_wording_gap` 有 1 条，`explanation_present_question_unresolved` 有 1 条，`unresolved` 有 1 条，`setup_mismatch` 有 1 条。总共是 4 条评论记录。1 条记录不等于 1 名身份已核实的人。故事没有说明有多少人观看，也没有说明每位观众都遇到了同样的问题。字幕时间只帮助你找到片段，不能代替观看画面和听讲解。

## 下一步

选择 1 条明确提出具体困惑的评论。播放视频中的对应时刻，观看画面，不要只看字幕文字。保存 1 项修改建议，以及另一人可以重复执行的测试方法。使用 [YouTube Comments Scraper](https://apify.com/chronometrica/youtube-comments-scraper) Actor 获取评论记录。在[视频评论分析 Task](https://apify.com/chronometrica/youtube-comments-scraper/examples/youtube-video-comment-analysis) 中填入你自己的教程。Actor 只负责收集记录。片段仍由你判断。

## 来源和延伸阅读

- [YouTube Comments Scraper Actor](https://apify.com/chronometrica/youtube-comments-scraper)
- [视频评论分析 Task](https://apify.com/chronometrica/youtube-comments-scraper/examples/youtube-video-comment-analysis)
- [带时间戳的转录 Task](https://apify.com/chronometrica/youtube-transcript-scraper/examples/youtube-timestamped-transcript-json)
- [如何分析你的 YouTube 受众](https://www.reddit.com/r/YouTubeCreators/comments/1tdvbvx/how_do_you_analyze_your_youtube_audience_across/)