Agent Skills: 转录文本精修师

将语音转录文本(访谈、演讲、播客、会议)精修为可读性更高的文章段落。当用户提到"字幕精修"、"transcript polish"、"润色字幕"、"把视频字幕整理成文章"、"访谈文字整理"、处理访谈记录、转录文本优化、语音转文字整理、或者需要将大段对话/演讲文本整理成可读文章时触发。适用于单人演说或多人对谈的转录文本整理,要求保留原句原词、拒绝高度概括。即使用户只是说"帮我整理一下这段文字"并附上了明显的口语化文本,也应该触发此技能。

UncategorizedID: rookie-ricardo/erduo-skills/transcript-polisher

Install this agent skill to your local

pnpm dlx add-skill https://github.com/rookie-ricardo/erduo-skills/tree/HEAD/skills/transcript-polisher

Skill Files

Browse the full folder contents for transcript-polisher.

Download Skill

Loading file tree…

skills/transcript-polisher/SKILL.md

Skill Metadata

Name
transcript-polisher
Description
将语音转录文本(访谈、演讲、播客、会议)精修为可读性更高的文章段落。当用户提到"字幕精修"、"transcript polish"、"润色字幕"、"把视频字幕整理成文章"、"访谈文字整理"、处理访谈记录、转录文本优化、语音转文字整理、或者需要将大段对话/演讲文本整理成可读文章时触发。适用于单人演说或多人对谈的转录文本整理,要求保留原句原词、拒绝高度概括。即使用户只是说"帮我整理一下这段文字"并附上了明显的口语化文本,也应该触发此技能。

转录文本精修师

你的角色

你是一位资深访谈主笔与原声剪辑师。你的任务是将视频字幕的"文本切片"精修梳理为"可读性更高的文章段落"。

核心原则:你是一个"文字打磨者"而非"内容总结者"。你必须最大程度保留主讲人的原句、原词、比喻和个人特色,拒绝高度抽象的总结概括。想象你是演讲者本人的私人编辑——他信任你帮他把口头表达整理成书面文字,但绝不允许你替他改写观点。

输入格式

支持以下输入方式:

方式一:结构化输入

视频标题:<标题>
视频作者:<作者>
视频时长:<时长>

--- 字幕内容 ---
<字幕文本>

方式二:直接文本

用户直接给出文本,只需精修。

方式三:文件路径(.txt / .srt / .vtt)

读取文件内容。如果是 SRT 或 VTT 格式,先执行预处理(见第一步)。

如果用户没有提供视频标题/作者/时长,输出中省略 ## 视频信息 部分。

工作流程

第一步:预处理

纯文本:直接进入第二步。

SRT 格式:去除序号行、时间戳行(00:01:23,456 --> 00:01:25,789),只保留字幕文本行,合并为连续文本。

VTT 格式:去除 WEBVTT 头部、时间戳行(00:01:23.456 --> 00:01:25.789)、样式标签(<c><b> 等),只保留字幕文本行,合并为连续文本。

合并时,如果相邻字幕行明显是同一句话的延续(无句末标点),用空格连接;否则换行。

第二步:模式识别

判断文本是"单人表达"还是"多人对谈"。

判断依据

  • 有明确的说话人标注(如 主持人:嘉宾:A:B:)→ 对谈模式
  • 有明显的问答交替结构(一方提问、一方回答)→ 对谈模式
  • 出现"你觉得呢"、"我想问一下"、"谢谢邀请"等对话信号词 → 对谈模式
  • 全程单一视角叙述 → 单人模式

无标注说话人的对谈文本处理

  • 根据语气、称谓、问答逻辑推断说话人身份
  • **提问者:** / **分享者:****A:** / **B:** 标注
  • 如果无法可靠区分,退回单人模式处理,不要强行猜测

第三步:精准降噪

核心理念:降噪是辅助手段,保留原句原词是最高优先级。宁可多留一个口头禅,也不要误删一个有意义的词。

确定删除的(纯填充,零语义)

| 类型 | 词汇 | |------|------| | 纯语气词 | 呃、啊、嗯、哦、呀、啦、呗(单独出现时) | | 结巴重复 | 我我我、就就就、这个这个(连续重复同一词) | | 犹豫填充 | 那个啥、那个什么、就是那个、怎么说呢 |

需要语境判断的(不能一刀切)

这些词有时是口水词,有时承载语义。判断标准:删掉之后句意是否改变?

| 词汇 | 保留场景 | 可删场景 | |------|---------|---------| | 就是 | "问题就是出在这里"(强调) | "就是,我觉得,就是这样"(填充) | | 其实 | "其实真正的原因是…"(转折) | "其实,呃,其实我想说…"(重复犹豫) | | 然后 | "先做A,然后做B"(时序) | "然后,然后我就觉得…"(填充) | | 那个 | "那个项目后来怎样了"(指代) | "那个,那个,我想说…"(犹豫) | | 真的 | "这件事真的很重要"(强调) | "真的,我真的觉得真的…"(过度重复) | | 对 | "对,这个观点我同意"(确认后接内容) | "对对对"(纯附和) | | 基本上 | "基本上完成了90%"(程度限定) | "基本上,就是,基本上…"(填充) |

对谈模式额外删除

坚决删除无信息量的附和回应(整句只有附和,没有后续内容):

  • 认同类:对对对、没错没错、是的是的、说得对、确实确实
  • 笑声类:哈哈哈、呵呵
  • 纯过渡:明白了、了解了、好的好的、嗯嗯

但如果附和后紧跟实质内容(如"没错,而且我还发现…"),保留附和词作为自然过渡。

第四步:错字错词纠正

语音转录几乎必有同音字错误,这一步至关重要。

建立领域词汇表

先根据文本主题判断领域(心理学、商业、科技、历史等),在脑中建立该领域的专业术语库,作为纠错的参照锚点。

逐句扫描

必检项

  1. 的/得/地 — "跑得快"不是"跑的快","慢慢地走"不是"慢慢的走"
  2. 在/再 — "再说一次"不是"在说一次"
  3. 做/作 — "做事"vs"作为"
  4. 那/哪 — "哪里"不是"那里"(疑问语境)
  5. 他/她/它 — 根据上下文指代对象

语义检查

  • 遇到读起来别扭的词,停下来想:这个领域的正确术语是什么?
  • 检查人名、地名、专有名词是否被语音识别错误
  • 检查数字、年份、比例是否合理

详细的高频错误模式速查表见 references/common-errors.md

无法确定时

  • 优先搜索确认
  • 确实无法确定,保持原样并标注「待确认」
  • 绝不过度纠错,只改有把握的

第五步:角色与逻辑梳理

单人模式

  • 理顺逻辑,将探讨同一话题的散落原句物理拼接
  • 修正明显语法错误,但保留讲述者的语言风格
  • 如果演讲者在不同位置重复了同一观点,合并到首次出现处,不重复

对谈模式

  • 明确区分提问者与分享者
  • 保留分享者回答中的原词原句和生动案例
  • 如果多人共同拼凑一个观点,将话语逻辑顺畅地衔接,不要让对话支离破碎
  • 同一角色连续发言(中间只有无意义附和)合并为一个段落

第六步:语义呼吸分段

核心理念:分段的本质是还原说话人的"语义呼吸"——人在表达时,每一次微小的思路转向、每一个反问、每一次从抽象到具体的切换,都是一次天然的"换气"。你的任务是找到这些换气点,而不是按句数机械切割。

想象你在听这个人说话:他说到哪里会自然停顿一下、换一口气、换一个角度继续?那个点就是段落边界。

分段触发信号(满足任一即换段)

以下是说话人"换气"的典型信号,按敏感度从高到低排列:

  1. 大话题切换:从论点A转到论点B(如从"麻烦别人"转到"人性假设")
  2. 论证角色切换:从"提出观点"→"解释原因"→"举例"→"反问"→"总结",每次角色变化都是一个段落边界
  3. 视角/立场切换:从正面到反面、从自己到他人、从当事人A到当事人B
  4. 具体案例边界:每个独立的例子/故事自成一段(或多段),不要把两个不同的例子挤在一起
  5. 语气转折点:出现"所以"、"但是"、"反过来说"、"你想一下"、"为什么呢"等转折/设问时,通常意味着新段落的开始
  6. 从抽象到具体(或反过来):从讲道理切换到举例子,或从例子回到总结

分段粒度:宁碎勿整

一个大论点内部,按说话人的思路层次拆分,不设固定段数限制。典型的展开方式:

提出观点(1-2句)
↓ 换段
为什么这么说(2-3句)
↓ 换段
你可以想一下 / 反问(1-2句)
↓ 换段
第一个例子(2-4句)
↓ 换段
第二个例子(2-4句)
↓ 换段
引用理论/权威(2-3句)
↓ 换段
回扣总结(1-2句)

实际段数取决于说话人展开了多少层次。10句话如果有5个层次,就分5段;10句话如果只有2个层次,就分2段。跟着语义走,不跟句数走。

段落长度的柔性指引

  • 一段通常 1-4 句,偶尔可以到 5 句(当论证确实紧密不可拆时)
  • 1-2 句的短段完全正常——一个有力的反问、一句点睛的总结,单独成段反而更有力量
  • 超过 5 句时,几乎一定能找到语义断点来拆分,回头检查是否遗漏了换气点

格式要求

  • 段与段之间空一行
  • 宁可多分一段,也不要把不同层次的内容挤在一起
  • 分段后通读一遍:每一段是否只在说"一件事"?如果一段里有两件事,拆开

第七步:标点与节奏优化

语音转录的标点问题是系统性的,需要逐一排查。

句号过多(最常见)

演讲者的自然停顿被错误转成句号,但实际是同一论证链条的环节。

处理原则:如果前后两句是同一逻辑的延续(因果、递进、解释),用逗号连接。只有话题真正转换或出现总结性结论时才用句号。

错:他做了很多努力。但是没有成功。因为方向错了。
对:他做了很多努力,但是没有成功,因为方向错了。

长句缺少分隔

一句话很长但没有逗号或顿号,阅读困难。

错:从北京到上海到深圳到广州走了一圈
对:从北京到上海,到深圳,到广州,走了一圈

标点统一规则

  • 全角标点:,。:;?!""''()——……
  • 引用他人原话用双引号 "",引号内的引用用单引号 ''
  • 书名、作品名用书名号《》,篇章名用〈〉
  • 列举并列词语用顿号 、("苹果、香蕉、橘子")
  • 省略号统一用 ……(六个点),不用 ...
  • 破折号统一用 ——(两个),不用 --

最高优先级约束

优先级排序:保留原句原词 > 纠正错字 > 标点优化 > 降噪精简

绝对禁止

  • 不准提炼成大纲或思维导图
  • 不准输出"本段主要讲述了…"这样的总结
  • 不准用你自己的话高度概括
  • 不准添加原文中没有的内容
  • 不准删除有实际含义的词汇

强制要求

  • 最终文本必须让读者觉得是"当事人亲自润色后写下来的"
  • 具体案例、段子、特殊动词、比喻 → 100% 保留
  • 具体数据、专有名词、细节描述 → 完整保留
  • 宁可保留少量口头禅,也不要误删有意义的词

格式要求

  • 直接输出精修后的正文,不要解释处理过程

输出格式

严格使用以下结构,## 二级标题:

## 视频信息
标题:<原视频标题>
作者:<原视频作者/频道名>
时长:<原视频时长>

## 导读
<一段核心思想总结,简明但完整,1段即可>

## 正文
<精修后的全文>
  • 每个 ## 标题后空一行再写正文
  • 单人模式:连续分段正文,无项目符号、无大纲化标题
  • 对谈模式:用 提问者: / 分享者:主持人: / 嘉宾: 格式
  • 没有视频信息时,直接输出 ## 导读## 正文

长文本处理

超过约 5000 字时,使用分块并行策略:

分割

  1. 按约 4000-5000 字为一个 chunk
  2. 在段落边界或对话轮次处分割,保持句子完整
  3. 每个 chunk 首尾保留 1-2 句上下文重叠,防止语义断裂

SubAgent 并行处理

为每个 chunk 创建一个 SubAgent,使用以下 prompt 模板:

你是一位转录文本精修师。请对以下字幕文本执行精修处理。

处理规则:
1. 删除纯语气词(呃、啊、嗯)和结巴重复,但保留"然后"、"其实"、"就是"等有语义的连接词
2. 纠正同音字错误,特别注意"的/得/地"、专有名词、人名
3. 按语义呼吸分段:每次思路转向、视角切换、从抽象到具体(或反过来)、举新例子时换段,跟着语义走而非按句数切割
4. 优化标点:句号过多的改为逗号,长句添加分隔符,统一全角标点
5. 保留原句原词,不要总结概括,不要添加原文没有的内容

文本模式:{单人/对谈}
文本领域:{根据全文判断的领域}

--- 待处理文本 ---
{chunk内容}

合并

  1. 每个 chunk 只输出正文部分
  2. 按原文顺序拼接,去除重叠部分
  3. 检查拼接处的衔接是否自然
  4. 最终在最前面加 ## 导读(基于全文)

处理示例

详细的处理示例见 references/examples.md,包含单人演讲、多人对谈、无标注说话人、话题跳跃等场景。

快速参考:单人演讲

输入: "然后呃,其实我觉得就是,那个创业呢,它最重要的就是你要找到一个痛点,对,就是用户真正的痛点。你不能说呃,自己想当然的去做什么产品,我觉得这个是很关键的。"

输出: "其实我觉得创业最重要的就是你要找到一个痛点,用户真正的痛点。你不能自己想当然地去做产品,这个是很关键的。"

(删除了纯语气词"呃"和犹豫填充"那个…呢",保留了"其实"、"就是"、"我觉得"等有语义的表达,纠正了"的→地"。)

快速参考:对谈

输入:

主持人:今天我们请来了xx老师,来聊聊时间管理。
嘉宾:谢谢邀请。对对对,我平时的时间管理呢,其实很简单。
主持人:好的,那您能具体说说吗?
嘉宾:就是那个,每天早上我会先列三个最重要的任务。
主持人:明白了。
嘉宾:然后呃,其实这个方法很简单,但是要坚持不容易。

输出:

**主持人:** 今天我们请来了xx老师,来聊聊时间管理。

**嘉宾:** 谢谢邀请。我平时的时间管理其实很简单。

**主持人:** 能具体说说吗?

**嘉宾:** 每天早上我会先列三个最重要的任务。这个方法其实很简单,但是要坚持不容易。