ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

用 Fabric 的 summarize_meeting 模式:从会议音频到结构化会议纪要的完整实战指南

用 Fabric 的 summarize_meeting 模式:从会议音频到结构化会议纪要的完整实战指南 用 Fabric 的 summarize_meeting 模式从会议音频到结构化会议纪要的完整实战指南【免费下载链接】FabricFabric is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.项目地址: https://gitcode.com/GitHub_Trending/fa/Fabric导读summarize_meeting是开源框架 Fabric项目根目录内置的一个提示词模式Pattern专门用于把会议转写文本Meeting Transcript自动加工成结构化的会议纪要涵盖概述、关键讨论点、任务、决策、风险、时间线与后续行动项等八个标准区块。本文以 data/patterns/summarize_meeting/system.md 为骨架结合仓库中的 CLI 参数解析、模式加载与音频转写源码给出从一段会议录音到可直接分发的 Markdown 纪要的完整可运行方案并逐条讲解每个输出区块的提取规则与格式化约束。一、模式定位Fabric 如何用提示词即产品解决会议纪要问题Fabric 的核心思想是把 AI 能力拆解为大量解决特定问题的提示词文件Pattern每个 Pattern 由system.md系统指令与可选的user.md用户输入模板组成。summarize_meeting即属于其中的 SUMMARIZE 类别仓库内的分类清单可以佐证在 scripts/pattern_descriptions/pattern_descriptions.json 中它的描述为 Summarize meetings capturing discussions and decisions标签为SUMMARIZE / WRITING / BUSINESS在 data/patterns/suggest_pattern/user.md 中同样登记了该描述。从项目变更历史CHANGELOG.md可以看到该模式由 PR #1146 引入定位就是从音频转写创建包含 Key Points、Tasks、Decisions、Next Steps 等结构化区块的会议摘要。它的典型应用场景包括周会、站会录音转写后的快速纪要生成客户会议、评审会议的内容复盘需要向未参会成员同步结论 待办 决策的跨团队沟通。二、输出骨架八个标准区块的提取规则system.md要求 AI 在分析会议转写时把信息分类放入以下八个区块均为英文 Section 标题输出时加粗区块内容要求OVERVIEW25 词以内的会议概述必须包含会议目的与关键参与者KEY POINTS提取 10–20 条最重要的讨论点聚焦核心议题、争论与重要观点TASKS提取会议中出现的所有行动项与任务分配注明负责人与截止时间若提及DECISIONS提取会议中做出的 5–10 项最重要决策CHALLENGES提取会议中提出的显著挑战、风险或顾虑TIMELINE提取所有截止日期、重要日期与里程碑REFERENCES提取所有被提及的文档、工具、项目或资源NEXT STEPS提取 5–10 项最重要的后续跟进事项或下一步动作这套八区块结构刻意覆盖了会议纪要被反复追问的八个问题这次会讲了什么、定了什么、谁做什么、什么时候做、有什么风险、后续怎么办。在信息提取层面system.md还要求各区块之间不得重复信息Do not repeat information across sections迫使模型对信息做一次分类去重而不是把同一件事在 KEY POINTS 和 NEXT STEPS 里各写一遍。三、输出格式规范为什么每条要点必须是恰好 16 词summarize_meeting的输出约束是整个 Pattern 最具辨识度的部分也最容易被忽略只输出 MarkdownOnly output MarkdownKEY POINTS / TASKS / DECISIONS / NEXT STEPS 四条列表的每条要点都必须恰好写成 16 个英文单词Write the ... bullets as exactly 16 words所有区块一律使用项目符号列表禁止使用编号列表不要用相同的开头词开启各条要点Do not start items with the same opening words若转写中缺少某区块信息写入No information available而不是编造内容不输出警告或注释只输出要求的区块每个区块标题使用Markdown 加粗格式**OVERVIEW**等。16 词约束的工程意义在于它把摘要的摘要变成了可量化校验的输出契约——模型必须在信息密度与可读性之间做取舍从而避免长篇复述转写原文。而所有区块用项目符号则保证了输出可以被下游脚本稳定解析例如按**标题切分区块、按-逐行解析条目。四、实战一直接从文本转写文件生成纪要假设你已经有一份会议转写文本meeting_transcript.txt最简单的调用方式是使用--pattern参数cat meeting_transcript.txt | fabric --pattern summarize_meeting参数说明定义见 internal/cli/flags.go-p, --pattern指定要使用的 Pattern 名称此处为summarize_meeting-o, --output把结果写入文件例如--output meeting_notes.md-m, --model/-V, --vendor指定模型与供应商-t, --temperature默认 0.7若要更稳定一致的纪要结构可适当调低--dry-run只打印将要发送给模型的内容而不真正调用便于调试。写入文件并查看cat meeting_transcript.txt | fabric --pattern summarize_meeting --output meeting_notes.md cat meeting_notes.md五、实战二从会议录音/视频自动走转写 → 纪要流水线这是该 Pattern 最完整的用法。Fabric 的 CLI 支持先转写音频/视频文件再把转写结果自动拼进消息后交给 Pattern 处理调用链见 internal/cli/cli.go 中TranscribeFile分支与 internal/cli/transcribe.gofabric --transcribe-file meeting_recording.mp3 --transcribe-model whisper-1 --pattern summarize_meeting --output meeting_notes.md关键参数--transcribe-file要转写的音频或视频文件路径--transcribe-model转写所用模型如 OpenAI 的whisper-1。源码 internal/cli/transcribe.go 表明默认供应商为 OpenAI且必须显式提供转写模型否则直接报错--split-media-file当媒体文件大于 25MB 时用 ffmpeg 自动切片再转写转写文本会自动AppendMessage到用户消息中见 internal/cli/cli.go随后handleChatProcessing会带上summarize_meeting的 system 指令一起发送。如果是 YouTube 上的会议录像可直接用--youtube抓取字幕/转写fabric --youtube https://www.youtube.com/watch?vxxxx --transcript --pattern summarize_meeting --output meeting_notes.md其中--transcript抓取英文字幕文本--transcript-with-timestamps可额外携带时间戳时间戳会进入 TIMELINE 与 REFERENCES 的提取上下文。更多 YouTube 处理细节见 docs/YouTube-Processing.md。六、原理支撑Pattern 是如何被加载与注入的从源码层面理解输入 → Pattern → 模型 → 结构化输出的完整链路有助于排查问题例如 Pattern 名称打错、或更新后未生效加载模式文件来自仓库的data/patterns/目录。加载器 internal/tools/patterns_loader.go 在配置阶段从默认 Git 仓库克隆data/patterns目录到本地配置目录并通过createUniquePatternsFile()生成去重排序后的模式清单该文件还实现了旧路径patterns到新路径data/patterns的自动迁移逻辑tryPathMigration。选择CLI 解析--pattern summarize_meeting后把该名称写入ChatRequest.PatternName见 internal/cli/flags.go 的BuildChatRequest。注入聊天处理器读取summarize_meeting/system.md作为系统消息用户消息管道输入或转写文本作为用户消息一并发送给模型。更新使用fabric --updatepatterns可重新拉取最新版模式文件把本机模式库与仓库中的data/patterns/summarize_meeting/system.md对齐。七、最佳实践与注意事项输入质量决定纪要质量summarize_meeting依赖转写文本中的谁说了什么、定了什么。转写中说话人标签speaker diarization越完整OVERVIEW 的关键参与者与 TASKS 的责任人提取就越准确16 词约束面向英文该约束以英文单词计数若输入为中文会议转写模型往往会把恰好 16 个英文单词宽松处理为大致 16 词/16 字——如有硬性对齐需求可通过--variable传入补充指令或选择支持中文的转写模型后再人工微调信息缺失不要硬编system.md明确要求缺失区块写No information available这是为了保证纪要可审计——读者能一眼看出哪些信息会议里根本没提而不是被模型脑补区块不重复是强约束同一事项只允许出现在一个区块例如下周三前上线应只出现在 TASKS或 TIMELINE不要在 NEXT STEPS 再写一遍输出文件组织建议把纪要按--output meeting_notes_YYYYMMDD.md命名归档便于后续检索与跨会议对比NEXT STEPS 跨会议比对尤其有价值调试手段先用--dry-run检查发送给模型的完整 prompt 是否符合预期再执行真实调用执行前可用fabric --readpattern summarize_meeting在终端直接查看当前本机的 Pattern 原文。八、与其他 Summarize 类模式的选型参考仓库中的 data/patterns/pattern_explanations.md 对summarize_meeting的定位是分析会议转写提取结构化摘要概述、关键点、任务、决策、挑战、时间线、参考文献与后续步骤。与同类模式对比summarize通用内容压缩无八区块结构适合文章、文档concall_summary同样面向会议但与summarize_meeting的输出骨架不同可对比选择summarize_board_meeting / summarize_lecture / summarize_debate分别面向董事会、讲座、辩论等更垂直的场景若需要极简摘要可考虑create_micro_summary / summarize_micro。选型建议凡是会后要分派任务、记录决策、跟踪风险的场景优先使用summarize_meeting只需要一段话概括时再考虑轻量模式。结语summarize_meeting是 Fabric 把提示词工程产品化的典型代表它把专业会议纪要的八要素结构、16 词硬约束、信息去重与缺失兜底全部固化进一份system.md再配合 Fabric 的转写与 YouTube 抓取能力形成从音频到结构化 Markdown 的完整流水线。掌握它的区块规则与 CLI 用法后你可以用一条命令稳定地产出高质量会议纪要并在此基础上扩展出任务看板、决策日志等更细粒度的自动化工作流。【免费下载链接】FabricFabric is an open-source framework for augmenting humans using AI. It provides a modular system for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.项目地址: https://gitcode.com/GitHub_Trending/fa/Fabric创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进