Fabric 模式解读:extract_wisdom_agents 如何用 11 名异构 AI Agent 团队协同抽取文本智慧
本文以 Fabric 仓库中 data/patterns/extract_wisdom_agents/system.md 为绝对主体,逐节拆解这一「多智能体编排式」提示词的完整设计:从 IDENTITY 的系统角色设定、STEPS 中十个 11 人 Agent 团队的并行分工,到 OUTPUT INSTRUCTIONS 对输出格式的刚性约束,并结合同目录下 extract_wisdom 家族其他变体与 Fabric 的 Pattern 加载机制,说明它解决什么问题、如何被 Fabric 调用,以及与你日常使用的单智能体版本有何差异。读完本文,你将能准确读懂这份 system.md 的内部逻辑,并知道如何在自己的 Fabric 工作流里引用它、以及如何基于同一骨架扩展出你自己的多智能体抽取模式。
一、先定位:这是 Fabric 体系中的一份 Pattern(模式)
Fabric 的核心抽象是「Pattern」:每个 Pattern 是一个位于 data/patterns/ 目录下的独立提示词目录,通常由 system.md(系统提示,定义身份与任务)以及可选的 user.md(用户提示模板)组成。主仓库 README.md 对此有明确说明:Fabric 的 Pattern 与常见 prompt 的差异在于——使用 Markdown 组织以保证可读性与可编辑性、指令极其清晰且强调执行顺序、并且几乎只用 System 段。
从源码看,Pattern 的默认来源目录正是仓库内的 data/patterns。在 internal/tools/patterns_loader.go 中,DefaultPatternsGitRepoFolder 被硬编码为 data/patterns,默认 Git 仓库指向 Fabric 官方源,Pattern Loader 会把该目录作为插件源加载。因此,本文剖析的 extract_wisdom_agents 一旦被安装/同步到你的 Pattern 目录,就可以被 Fabric 以 --pattern extract_wisdom_agents 的方式直接调用。
本文件所在路径是:
data/patterns/extract_wisdom_agents/system.md
它属于 Fabric 中流传最广、被反复演化的 extract_wisdom(抽取智慧)模式家族。家族里还包括 extract_wisdom、extract_wisdom_dm、extract_wisdom_nometa、extract_wisdom_with_attribution 等多个变体(详见下文第六节),而 extract_wisdom_agents 是其中唯一引入“多 Agent 团队”编排叙事的版本。
二、逐段拆解 system.md:一份完整的系统提示词
该文件是纯文本 Markdown,采用「IDENTITY → STEPS → OUTPUT INSTRUCTIONS → INPUT」四段式结构,这也是大量 Fabric Pattern 的通用骨架。下面按文件实际顺序逐段讲解。
2.1 IDENTITY:角色设定的三要素
原文开篇即声明系统身份:
- 你是一个高级 AI 系统,负责协调「多个 AI Agent 团队」(teams of AI agents),从文本内容中抽取令人惊讶、富有洞见且有趣的(surprising, insightful, interesting)信息。
- 关注主题列表被显式列出:生命的目的与意义、人类的繁荣、技术在未来人类中的角色、AI 对人类的影响、模因(memes)、学习、阅读、书籍、持续改进等。这意味着该模式不是通用信息抽取器,而是带有价值取向的「智慧萃取器」——它的目标是提炼值得进入长期记忆与行动建议的内容,而非罗列事实。
- 输出仍以传统单轮回复形式返回:值得注意,这里的「多个 Agent」并不是外部可并发的多进程工具,而是要求模型在单次推理中扮演一个编排者 + 模拟多角色分工。这一设定与该家族其他版本(如
extract_wisdom只要求「你」单角色完成全部抽取)形成鲜明对比。
2.2 STEPS:十个「11 人 Agent 团队」的分工管线
这是该 Pattern 的核心与精华所在。它定义了一套由十个提取团队组成的工作管线,每个团队都负责把输入加工成一个固定命名的输出区块。文件同时要求:
- 先“退一步、逐步思考”,以获得最佳结果;
- 深度思考输入的「本质与含义」(原文用「28 小时 12 分钟」这类夸张修辞强化慢思考意图);
- 在脑海中建立一块「虚拟白板」,把输入中的重要概念、观点、事实全部摊开;
- 最后“启动”各团队,令其并行工作,各团队把结果交给本队的通才(generalist)汇总并记录到白板上。
十个团队及各自的产出区块(section)整理如下:
| # | 输出区块 | 抽取目标 | 数量约束 | 通用规则 |
|---|---|---|---|---|
| 1 | SUMMARY |
25 词以内的内容摘要,须包含「谁在讲 + 讲了什么」 | 25 words | 10 位不同视角专家各自产出,第 11 位通才汇总 |
| 2 | IDEAS |
最令人惊讶/有洞见/有趣的观点 | 20–50 条(至少 20 条;不足 50 则全取) | 同上 |
| 3 | INSIGHTS |
比 IDEAS 更精炼、更抽象、更高层次的真知灼见(由原文 + IDEAS 共同提炼) | 10–20 条 | 同上 |
| 4 | QUOTES |
最好的原话摘录(必须逐字 verbatim 来自输入) | 10–20 条 | 同上 |
| 5 | HABITS |
演讲者/被提及者值得效仿的实用习惯(作息、阅读、工作法、饮食运动等) | 10–20 条 | 同上 |
| 6 | FACTS |
输入中提及的、关于外部世界的有效且有趣的事实 | 10–20 条 | 同上 |
| 7 | REFERENCES |
演讲者提到的写作、艺术、工具、项目及其他灵感来源(全部收录) | 全部,不设上限 | 同上 |
| 8 | ONE-SENTENCE TAKEAWAY |
一条 15 词以内、最能代表内容精髓的单一金句式总结与建议 | 15 words | 同上 |
| 9 | RECOMMENDATIONS |
从内容中能提炼的建议 | 15–30 条 | 同上 |
| 10 | AGENT TEAM SUMMARIES |
用一句 15 词句子概括每个 Agent 团队各成员的产出,以刻画不同 Agent 对最终输出的贡献 | 每个团队一句 | 本变体独有 |
每个团队的内部结构是统一的:11 名成员 = 10 名不同视角/背景的专家 + 1 名通才(generalist)。文件明确举例:例如一位心理学专家、一位哲学专家、一位技术专家等。专家各自独立产出,通才吸收 10 份输入并汇出最终区块;随后该团队的工作记录会被「写回虚拟白板」。
2.3 AGENT TEAM SUMMARIES:为每个团队建立可追溯性
第十个步骤 AGENT TEAM SUMMARIES 是这个版本最独特的创新:它要求为每一个 Agent 团队分别输出一句 15 词的句子,概括该团队成员的工作结果。这样最终回复不仅在内容上有九个价值区块,还附带一条「过程元数据层」,让读者能看到不同背景的专家各自如何贡献——相当于给多视角萃取的协作过程做了一次可读的回放与审计。
2.4 OUTPUT INSTRUCTIONS:刚性输出契约
该模式对输出格式的约束比大多数 Pattern 更细致,逐条解析如下:
- 只输出 Markdown,且「输出中不要使用加粗或斜体」——即禁止出现星号。这是为了保证下游程序(管道、存储、再处理)拿到的是一份“干净”的纯 Markdown 文本。
- 所有区块内容必须使用 bullet(
-)列表,不使用编号列表。 - 所有通才产出的句子必须控制在 15 词以内。这继承了该家族对「词数预算」的执着:短句强制模型做高密度提炼,减少水分。
- 各区块内部与相互之间禁止重复:不重复 idea、insight、quote、habit、fact 或 reference。
- 列表项不得以相同开头的词起句,避免机械套话、提高每一条的差异化。
- 最终强调:所有 Agent 都必须遵守以上全部指令。
2.5 INPUT:接缝即接口
文件末尾只有一行 INPUT:,作为占位符——这正是 Pattern 的接缝设计:Fabric 在运行时会把用户传入的内容(stdin、剪贴板、YouTube 转录、URL 抓取文本等)拼接在这里,system.md 即构成完整请求。这解释了为什么该文件不包含任何具体输入样例:输入是运行时的,不是模式自带的。
三、机制纵深:这种“假多智能体”设计解决了什么问题
从实现上看,extract_wisdom_agents 并没有引入任何外部 Agent 框架,它是在单次模型推理内用提示词模拟多角色并行。这套设计要解决的问题,与单智能体 extract_wisdom 相比存在明显升级:
- 视角多样性对抗盲区。单角色抽取者容易受其隐含偏好影响,只挑“自己感兴趣的”内容;而强制 10 种视角(心理、哲学、技术……)并行产出,等于对同一文本做 10 次差异化采样,最后再由通才融合,覆盖了交叉学科遗漏。
- 数量下限保证覆盖度。IDEAS 要求至少 20 条、RECOMMENDATIONS 要求 15–30 条等,强制模型把「看起来没价值」的边角内容也纳入考察,避免早期注意力坍缩。
- 短句与去重约束提升信噪比。15 词句子 + 禁止相同开头 + 禁止重复,逼迫每一条独立成义,产出的列表可直接粘贴进笔记软件。
- 输出即知识管理素材。与
data/patterns/extract_wisdom/README.md描述的使用场景一致:这类输出主要服务于时间筛选(快速判断内容值不值得精读)与笔记替代(免去手工笔记)。extract_wisdom_agents在同样的使用意图上,进一步以多视角提升筛选与笔记的质量。
四、与 extract_wisdom 家族其他变体的差异对照
同一主题在仓库中演化出多个版本,逐字对照源码可发现它们的差异点集中在:是否引入 Agent 编排、词数预算、每条目标数量、是否要求引语署名。下表基于仓库实际文件整理:
| 维度 | extract_wisdom(基础版) |
extract_wisdom_agents(本文) |
extract_wisdom_dm |
extract_wisdom_nometa |
extract_wisdom_with_attribution |
|---|---|---|---|---|---|
| 文件 | system.md | system.md | system.md | system.md | system.md |
| 角色机制 | 单一 AI 抽取者 | 协调 10 支「10 专家 + 1 通才」团队 | 超强智能体自述(如 4,312 IQ 等夸张身份) | 极简身份,无「退一步思考」步骤 | 同基础版,单一抽取者 |
| SUMMARY | 25 词 | 25 词 | 25 词 | 25 词 | 25 词 |
| IDEAS | 20–50(≥20),bullet 恰为 16 词 | 20–50(≥20) | 20–50(≥25),bullet 恰为 16 词 | 20–50(≥25),bullet 恰为 16 词 | 同基础版,16 词 |
| INSIGHTS | 10–20,16 词/条 | 10–20,15 词/条 | 10–20,16 词/条 | 10–20,16 词/条 | 同基础版 |
| QUOTES | 15–30,原文末附演讲者名 | 10–20,verbatim | 15–30 | 15–30 | 15–30,格式为 "引言" — 演讲者名 |
| HABITS / FACTS | 15–30,16 词/条 | 10–20,15 词/条 | 15–30,16 词/条 | 15–30,16 词/条 | 同基础版 |
| REFERENCES | 全部提及 | 全部提及 | 全部提及 | 全部提及 | 全部提及 |
| ONE-SENTENCE TAKEAWAY | 有(15 词) | 有(15 词) | 有(15 词) | 无 | 有(15 词) |
| RECOMMENDATIONS | 15–30,16 词/条 | 15–30,15 词/条 | 15–30,16 词/条 | 15–30,16 词/条 | 同基础版 |
| AGENT TEAM SUMMARIES | 无 | 有 | 无 | 无 | 无 |
| 禁止加粗/斜体 | 未强制 | 强制(禁止星号) | 未强制 | 未强制 | 未强制 |
以上事实均直接摘自上述各文件正文(data/patterns/ 下各 system.md)。归纳而言:
extract_wisdom是家族基准:单智能体、全区块、16 词 bullet;extract_wisdom_dm是带夸张身份与“作品会被专家评分”压力的版本,且把「无警告无注释、只输出区块」写进约束;extract_wisdom_nometa是精简版:砍掉了 ONE-SENTENCE TAKEAWAY 等“元层”步骤;extract_wisdom_with_attribution则专注于引语的署名格式("Quote" — Speaker Name);extract_wisdom_agents是结构化程度最高的版本:统一的 11 人团队模型、全 15 词短句、额外输出 AGENT TEAM SUMMARIES、并禁止任何粗体斜体。
若你想基于这些版本二次创作,extract_wisdom_agents 的骨架(团队+白板+汇总)最值得借鉴;若只要最快上手,家族中其他单智能体版本心智负担更低。
五、在 Fabric 中如何实际使用这类抽取模式
Pattern 使用方式与家族其他成员一致,无需任何额外安装(Pattern 目录已内置于仓库 data/patterns/,由 internal/tools/patterns_loader.go 负责加载)。以下是主仓库 README.md 展示的标准调用姿势:
# 1. 从剪贴板/管道读入文本并运行 Pattern
pbpaste | fabric --pattern extract_wisdom_agents
# 2. 流式输出即时结果
pbpaste | fabric --stream --pattern extract_wisdom_agents
# 3. 直接把 YouTube 视频转文本并抽取智慧(--stream 可选)
fabric -y "https://youtube.com/watch?v=uXs-zPc63kM" --stream --pattern extract_wisdom
其中 -y 走的是 YouTube 处理管线,-p/--pattern 用于指定 Pattern 名(见 README.md)。由于本模式是全 System 型 Pattern,运行时会要求模型严格遵循 # OUTPUT INSTRUCTIONS 的格式契约,因此输出会是一份纯 Markdown、全 bullet、每条约 15 词、无粗体斜体的结构化萃取结果,可以直接存为笔记或被脚本进一步消费。
若你想把它跑在非 Fabric 场景(如直接粘贴给任意大模型),做法同样是:取 system.md 全文 + 待分析文本追加到 INPUT: 之后。这与仓库的通用说明一致——Fabric 的 Pattern 可被复用到任何 AI 应用(参见 README.md)。你也可以把该文件复制到自定义 Pattern 目录(如 ~/.config/fabric/patterns/,见 README.md)后用新名字调用,例如 fabric --pattern my_wisdom_agents。
六、延伸阅读与仓库引用路径
如果你希望继续在本仓库深入,建议按以下顺序阅读:
- 模式本体:
data/patterns/extract_wisdom_agents/system.md——本文剖析对象; - 家族基准版:
data/patterns/extract_wisdom/system.md及其使用说明data/patterns/extract_wisdom/README.md; - 变体对照:
extract_wisdom_dm、extract_wisdom_nometa、extract_wisdom_with_attribution三个目录下的system.md,以及data/patterns/pattern_explanations.md中的模式说明汇总; - 加载机制:
internal/tools/patterns_loader.go——确认data/patterns为默认 Pattern 源; - CLI 调用:
README.md——Pattern 设计哲学、--pattern与 YouTube 管道用法。
需要再次强调的事实边界:本文所有区块名、数量约束、词数预算、团队结构均直接取自仓库内上述 system.md 文件原文;文件中的「28 小时 12 分钟」「虚拟白板」「10 名不同背景专家」属于提示词内部的角色化修辞与执行指令,并非仓库声称的、外部真实运行的 Agent 基础设施。理解到这一层,你才算真正读懂 extract_wisdom_agents:它不是一套 Agent 框架,而是一份用结构化分工约束模型注意力、以求得高覆盖与高质量萃取的编排式提示词工程范本。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0629
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python07
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00