语音转写处理工作流 (Long Audio Transcript Processor)
此技能旨在通过文件系统辅助,安全、有序地处理超长语音转写文本。它通过分段处理、上下文维护(术语表、主题记录)和状态追踪,确保处理过程的可持续性和高质量。
使用时机
当用户提供一个或多个长篇语音转写文件,并要求进行:
- 校对与修正:修复识别错误、重复、中断等。
- 整理与格式化:区分发言人,整理段落。
- 长文本处理:文本过长,无法一次性放入 LLM 上下文。
- 需要中断与恢复:工作可能跨越多次对话。
工作流
1. 准备阶段 (Initialization)
首先,必须初始化工作区。询问用户是否已准备好源文件。
运行初始化脚本:
python3 .gemini/skills/long-audio-transcript-processor/scripts/setup_workspace.py "path/to/file1.txt" "path/to/file2.txt" ...
(注意:请根据实际技能安装路径调整脚本路径,通常是 .gemini/skills/...)
初始化后,工作区结构如下:
语音转写处理_YYYY-MM-DD-HH-MM/
├── 0-工作日志.md # 进度追踪与计划
├── 1-原始文件/ # 存放用户提供的原始语音文本
├── 2-要求和信息/ # 存放活动背景、发言人等信息(用户补充)
├── 3-校对和术语表.md # 动态更新的术语库和错误模式
├── 4-分段主题.md # 记录已处理分段的主题脉络
└── 5-最终输出/ # 存放校对完成的分段文件
关键操作:
- 检查生成的目录。
- 同步背景知识:确保将用户提供的任何背景文档(如 MRD、PRD、会议背景、相关邮件等)文档复制到
2-要求和信息/目录下,也在该目录下创建 Markdown 文档记录用户的说明。这是保证后续处理准确性的基石。
2. 分段处理循环 (Processing Loop)
在进入循环前,总是先读取以下文件以加载上下文(确保跨分段的信息一致性):
0-工作日志.md(检查进度)2-要求和信息/下的所有背景和要求文档3-校对和术语表.md(加载最新积累的术语和校对规则)4-分段主题.md(加载已有上下文主题)5-最终输出/下的文件 -- 列出文件名即可
步骤:
- 确定任务:从
0-工作日志.md中找到第一个未完成([ ])的分段。 - 读取内容:从
1-原始文件/读取对应文件的对应行号范围。- 使用
read_file的offset和limit参数,或者sed命令提取。
- 使用
- 执行校对:
- 输入:原始分段文本。
- 参考:术语表、背景信息、前序分段主题。
- 执行:
- 修正错别字、重复、同音错误,减少冗余的语气词。
- 标记不确定内容为
(...)。
- 输出结果:
- 输出校对结果。将校对后的语音转写脚本,写入
5-最终输出/$原始文件名_$开始行-$结束行.txt。 - 输出额外文档。如果有额外文档创建要求,则在
5-最终输出/下创建相应文件并写额外文件。 - 更新术语表。如果在本段发现了新的专有名词、特定错误模式或确认了某个模糊术语的正确写法,追加 到
3-校对和术语表.md。仅追加,用行号段落区分不同分段的内容。 - 更新主题。将本段核心主题 追加 到
4-分段主题.md。仅追加,用行号段落区分不同分段的内容。
- 输出校对结果。将校对后的语音转写脚本,写入
- 更新状态:
- 更新日志:在
0-工作日志.md中标记分段为[x]。
- 更新日志:在
- 反馈与沉淀:
- 告知用户本段已完成,简述关键修改、新发现的术语或不确定点。
- 询问是否有新增术语或错误修正。
- 如有反馈,更新
3-校对和术语表.md并修正5-最终输出中的对应文件。
3. 中断恢复 (Resuming)
如果对话中断,不要 重新初始化。
直接执行 分段处理循环 的“在进入循环前”步骤:通过读取 2-要求和信息/ 和 3-校对和术语表.md 完整找回记忆。
然后继续下一个未完成的分段。
4. 衍生任务 (Derivative Tasks)
除了标准转写外,用户可能要求并行生成其他产物(如 Q&A 问答库、摘要、待办事项)。
- 定义:在
2-要求和信息/下创建任务说明文档(如额外任务_问答积累.md)。 - 执行:在每次“输出结果”后,检查衍生任务要求,从当前分段中提取相关信息。
- 存储:衍生文件存放在
5-最终输出/下,文件命名应清晰(如问题和回答-主题.md)。 - 原则:衍生文件的更新同样遵循**“只追加”**,用行号段落区分不同分段的内容。
5. 调整与整合 (Adjustment and Integration)
在所有分段处理完成后,进入此阶段。
-
成果汇总与提醒:
- 列出所有产出的核心文件(分段文本、术语表、摘要、衍生文档)。
- 提醒用户:
- a) 可以提出任何额外的整理、合并或格式调整要求(例如:合并为一个文档,提取特定角色的发言)。
- b) 可以将内容发送给相关人员(如 PM、技术负责人)进行审阅和订正。
-
订正处理标准:
- 当用户反馈订正意见时,或者用户转发他人的订正内容时,必须使用以下 Emoji 标记修改痕迹,以便清晰追踪变动:
{🔴 原始内容}:标记被修改或删除的原始文本。{🟢 新内容}:标记新增或修正后的文本。{‼️ 需特别留意,可能出错}:标记模型认为存在矛盾、风险或不确定的地方,或者用户特别强调的注意点。
- 更新动作:根据订正内容,同步更新
3-校对和术语表.md和5-最终输出/中的对应文件,确保下一次处理或合并时使用最新数据的正确版本。
- 当用户反馈订正意见时,或者用户转发他人的订正内容时,必须使用以下 Emoji 标记修改痕迹,以便清晰追踪变动:
关键文件说明
0-工作日志.md: 核心状态文件。必须 保持最新。3-校对和术语表.md: 动态更新的知识库。发现新术语或特定错误模式时,务必更新此文件,以保证后续分段处理的一致性。该文件的编辑也遵循只追加原则。4-分段主题.md: 帮助 LLM 保持对长文本整体脉络的理解。
注意事项
- 文件操作:所有生成的文件应严格存放在初始化的工作目录中。
- 行号对应:读取原始文件时,务必确保行号范围准确。
- 只追加原则:对于
3-校对和术语表,4-分段主题.md和任何额外输出文件,严格遵循 只追加、不修改的原则,避免在 loop 过程中,覆盖已有内容。 - 第一时间记录额外要求:如果用户在过程中提出了额外要求,尤其是需要调整处理方式或补充信息,应立即记录在
2-要求和信息/中,并通知后续处理环节。 - 说话人识别:语音转写的说话人一般正确,除非用户指出需要做识别。识别时,根据上下文(提问 vs 回答、专家 vs 小白、行业背景差异)区分真实角色,在输出中显式标记角色(如
同行 (测试)、访客 (学生))。 - 背景驱动:禁止在不读取背景文档的情况下开始处理分段。