首页
/ Fabric 模式解读:extract_wisdom_agents 如何用 11 名异构 AI Agent 团队协同抽取文本智慧

Fabric 模式解读:extract_wisdom_agents 如何用 11 名异构 AI Agent 团队协同抽取文本智慧

2026-09-08 16:34:46作者:贡沫苏Truman

本文以 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_wisdomextract_wisdom_dmextract_wisdom_nometaextract_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 相比存在明显升级:

  1. 视角多样性对抗盲区。单角色抽取者容易受其隐含偏好影响,只挑“自己感兴趣的”内容;而强制 10 种视角(心理、哲学、技术……)并行产出,等于对同一文本做 10 次差异化采样,最后再由通才融合,覆盖了交叉学科遗漏。
  2. 数量下限保证覆盖度。IDEAS 要求至少 20 条、RECOMMENDATIONS 要求 15–30 条等,强制模型把「看起来没价值」的边角内容也纳入考察,避免早期注意力坍缩。
  3. 短句与去重约束提升信噪比。15 词句子 + 禁止相同开头 + 禁止重复,逼迫每一条独立成义,产出的列表可直接粘贴进笔记软件。
  4. 输出即知识管理素材。与 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

六、延伸阅读与仓库引用路径

如果你希望继续在本仓库深入,建议按以下顺序阅读:

  1. 模式本体:data/patterns/extract_wisdom_agents/system.md——本文剖析对象;
  2. 家族基准版:data/patterns/extract_wisdom/system.md 及其使用说明 data/patterns/extract_wisdom/README.md
  3. 变体对照:extract_wisdom_dmextract_wisdom_nometaextract_wisdom_with_attribution 三个目录下的 system.md,以及 data/patterns/pattern_explanations.md 中的模式说明汇总;
  4. 加载机制:internal/tools/patterns_loader.go——确认 data/patterns 为默认 Pattern 源;
  5. CLI 调用:README.md——Pattern 设计哲学、--pattern 与 YouTube 管道用法。

需要再次强调的事实边界:本文所有区块名、数量约束、词数预算、团队结构均直接取自仓库内上述 system.md 文件原文;文件中的「28 小时 12 分钟」「虚拟白板」「10 名不同背景专家」属于提示词内部的角色化修辞与执行指令,并非仓库声称的、外部真实运行的 Agent 基础设施。理解到这一层,你才算真正读懂 extract_wisdom_agents:它不是一套 Agent 框架,而是一份用结构化分工约束模型注意力、以求得高覆盖与高质量萃取的编排式提示词工程范本

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
898
5.82 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
921
1.84 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.8 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
531
596
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.02 K
519
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.36 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
391