
Fabric summarize Pattern 深度解析用 ONE SENTENCE SUMMARY / MAIN POINTS / TAKEAWAYS 三段落机制驾驭内容摘要【免费下载链接】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是 Fabric 开源 AI 增强框架项目 README中最具代表性的内容摘要 Pattern 之一其核心定义位于 data/patterns/summarize/system.md。这篇技术指南将以该 Pattern 的完整提示词为骨架逐段拆解它的角色设定IDENTITY、三段式输出结构OUTPUT SECTIONS与约束规则OUTPUT INSTRUCTIONS并结合仓库源码说明它如何在 Fabric 的 CLI、配置与 Pattern 加载机制中落地运行。读完本文你将能够独立使用fabric --pattern summarize处理任意长文本理解其输出格式为何被设计为「一句话 十条要点 五条启发」的结构并能基于此自定义属于自己的摘要 Pattern。一、Pattern 的角色设定IDENTITY and PURPOSEsummarize的提示词开篇即明确了模型的角色定位见 data/patterns/summarize/system.md 第 1-5 行身份IDENTITYYou are an expert content summarizer.——模型被定义为一个「专家级内容摘要器」职责是把输入内容转化为遵循固定格式的 Markdown 摘要。目的PURPOSEYou take content in and output a Markdown formatted summary using the format below.——输入任意内容输出符合下文给定格式的 Markdown 摘要。行为引导Take a deep breath and think step by step about how to best accomplish this goal using the following steps.——提示模型先深呼吸、逐步思考再执行。这是 Fabric 系列 Pattern 中常见的「分步思考」提示技巧用于降低模型直接输出时的草率程度提升结构化输出的稳定性。在 Fabric 的 Pattern 体系里一个完整 Pattern 目录通常包含system.md系统提示词与可选的user.md用户提示词。summarize目录下仅有system.md而 data/patterns/summarize/user.md 为空文件说明该 Pattern 不需要额外的用户侧指令所有待摘要内容直接通过标准输入stdin或消息参数注入到提示词末尾的INPUT:标记之后。二、输出结构详解OUTPUT SECTIONSsummarize的核心精华在于它规定了一套「三段式」输出骨架任何符合要求的模型输出都必须完整包含这三个部分1. ONE SENTENCE SUMMARY一句话总结Combine all of your understanding of the content into a single, 20-word sentence in a section calledONE SENTENCE SUMMARY:.要求把对内容的全部理解压缩进一个不超过 20 个英文单词的句子并以ONE SENTENCE SUMMARY:作为该段标题。这是整个 Pattern 信息密度最高的部分强制模型先提炼全文最核心的主张再去展开细节。从 docs/images/fabric-summarize.png 的真实运行截屏可见这一部分输出的是一句对原文如《The Zen of Python》整体主题与价值取向的概括。2. MAIN POINTS核心要点Output the 10 most important points of the content as a list with no more than 16 words per point into a section calledMAIN POINTS:.要求输出内容中最重要的 10 个要点以MAIN POINTS:为段标题且每个要点不超过 16 个单词。10 这个数量与 16 词的长度上限共同构成了对信息筛选能力的强约束模型无法简单复制原文必须评估、排序并压缩每条信息。截屏中该段呈现为编号列表例如「优美优于丑陋、扁平优于嵌套、可读性优于性能」这类 Python 设计哲学要点的浓缩表述。3. TAKEAWAYS最佳启发Output a list of the 5 best takeaways from the content in a section calledTAKEAWAYS:.要求输出内容中提炼出的 5 条最佳启发/可带走的知识以TAKEAWAYS:为段标题。与前两段不同TAKEAWAYS 更侧重「读完之后你能带走什么」即从原文抽象出可迁移的结论、方法论或行为建议例如「偏好简单、优先可读性、避免歧义」这类实践指引。三、输出约束规则OUTPUT INSTRUCTIONS仅规定输出结构还不够summarize还通过一组显式指令约束输出格式与质量原文第 15-22 行这些规则是保证输出「机器可解析、人类可阅读」的关键规则原文表述作用格式一致Create the output using the formatting above.严格沿用三段落标题与结构保证每次输出格式稳定便于后续程序化处理纯 MarkdownYou only output human readable Markdown.只输出人类可读的 Markdown不掺杂解释、前言或附带说明编号列表Output numbered lists, not bullets.MAIN POINTS 与 TAKEAWAYS 必须使用编号列表而非项目符号提升序号可引用性不输出警告Do not output warnings or notes—just the requested sections.禁止输出警告、备注等冗余内容只保留要求的三个段落不重复条目Do not repeat items in the output sections.三个段落内部及段落之间不得出现重复条目差异化开头Do not start items with the same opening words.每个列表条目不得以相同词语开头避免机械重复鼓励表达多样性这六条规则加上前面的结构要求实际上定义了一个「契约式摘要」格式对 LLM 而言它是输出协议对人类读者而言它是速读模板对下游程序而言它甚至是可直接解析的半结构化数据。四、在 Fabric 中运行 summarize Pattern4.1 前置安装与配置Fabric 提供了多种安装方式详见 README.md 安装章节以 Go 源码安装为例go install github.com/danielmiessler/fabric/cmd/fabriclatest安装后执行初始化下载 Patterns 数据集并配置 AI 供应商fabric --setup--setup过程由 internal/cli 的初始化逻辑驱动其中 Patterns 的下载与落盘由 internal/tools/patterns_loader.go 的PopulateDB完成该函数将官方仓库默认https://github.com/danielmiessler/fabric.git中的data/patterns目录克隆到临时目录再拷贝到本机配置目录最后通过创建loaded标记文件确认加载完成源码见gitCloneAndCopy与movePatterns。由于summarize就位于该data/patterns目录下因此只要 Patterns 加载成功summarize便立即可用。4.2 通过 stdin 管道输入内容summarize 最典型的使用方式是「管道输入 Pattern 处理」# macOS 上把剪贴板中的文章正文送入 summarize pbpaste | fabric --pattern summarize # Linux 上把文件内容送入 summarize cat article.txt | fabric --pattern summarize # 直接把命令输出送入 summarize git log --oneline -20 | fabric --pattern summarize命令执行时internal/cli/flags.go 的Init会检测 stdin 是否为管道模式pipedToStdin并调用readStdin将全部标准输入读取为消息内容随后BuildChatRequest将-p summarize解析为PatternName: summarize最终由核心对话引擎把system.md内容与INPUT:后的用户输入拼接后发送给模型完整参数解析与消息组装逻辑见 internal/cli/flags.go 的Init、BuildChatRequest。4.3 常用配套参数结合 internal/cli/flags.go 中的 Flags 定义与 README.md 的使用示例实际调用 summarize 时可按需组合以下参数# 流式输出逐 token 显示结果 pbpaste | fabric --pattern summarize --stream # 指定模型与采样参数temperature 默认 0.7top_p 默认 0.9 pbpaste | fabric -p summarize -m claude-sonnet-4-5 -t 0.3 # 将结果保存到文件 pbpaste | fabric -p summarize -o summary.md # 结果同时复制到剪贴板 pbpaste | fabric -p summarize --copy # 指定输出语言需模型支持 pbpaste | fabric -p summarize -g zh4.4 用 --dry-run 调试提示词拼装Fabric 提供了--dry-run参数可以在不消耗 API 额度的情况下预览将要发送给模型的完整请求包括 system 提示词与拼接后的输入echo test input | fabric --dry-run -p summarize对于想深入理解 summarize Pattern 如何与输入拼装的开发者这是最直接的调试手段——README.md 的 Dry Run Mode 章节也专门强调了它在「检查提示词构造、验证输入格式」上的价值。4.5 为 summarize 创建快捷别名Fabric 支持把每个 Pattern 变成 shell 命令。按 README.md 的 aliases 章节在.zshrc或.bashrc中加入循环脚本后即可直接使用summarize my_article_title # 等价于 fabric --pattern summarize --stream4.6 通过 Docker 使用使用官方镜像时同样以-p summarize指定 Patterndocker run --rm -it -v $HOME/.fabric-config:/home/appuser/.config/fabric kayvan/fabric:latest -p summarize五、源码视角Pattern 的加载、查询与文件结构5.1 Pattern 的物理组织在仓库中summarize位于 data/patterns/summarize/ 目录包含system.md系统提示词即本文解析的核心内容user.md用户提示词当前为空说明无需额外用户指令。这种「一个目录一个 Pattern、system.md 与 user.md 分离」的组织方式是 Fabric 所有 Pattern 的统一约定。Pattern 的提示词全部使用 Markdown 编写正如 README.md 的「Our approach to prompting」章节所强调的Markdown 既便于人类阅读与编辑也便于作为接收方的 AI 理解结构。5.2 在运行时如何被识别Pattern 的发现与列举由 internal/tools/patterns_loader.go 及 fsdb 存储层负责。PopulateDB在加载成功后还会生成unique_patterns.txtcreateUniquePatternsFile汇总所有 Pattern 名称供补全与列举使用。与之配合的 CLI 查询能力包括见 internal/cli/listing.go# 列出所有可用 Pattern fabric --listpatterns # 在终端打印 summarize 的完整提示词内容 fabric --readpattern summarize # 查看最新添加的 10 个 Pattern fabric --latest 10其中--readpattern summarize会把 data/patterns/summarize/system.md 的原文直接打印到终端是学习该 Pattern 设计细节的最快途径。5.3 运行流程调用链小结一次完整的fabric -p summarize请求其核心调用链可归纳为flags.Init解析-p读取 stdin 拼装消息internal/cli/flags.gohandleListingCommands先处理查询类命令非summarize场景则不命中见 internal/cli/listing.goPattern 内容从本机 Patterns 存储读取system.md作为系统消息、用户输入作为用户消息按用户指定的供应商与模型发起对话请求输出遵循三段落结构的 Markdown 摘要。六、基于 summarize 自定义你的摘要 Pattern由于 Pattern 就是纯文本提示词复制并修改即可得到个性化摘要工具。Fabric 的 Custom Patterns 机制允许你在自己的配置目录下放置同名或新命名的 Pattern官方加载逻辑会将其合并进可用列表。基于summarize的骨架可以衍生出大量变体例如改变语言在 OUTPUT INSTRUCTIONS 中追加Output everything in Chinese.得到中文摘要器调整粒度把20-word sentence改为40-word sentence、10 most important points改为5适配不同场景的摘要深度增加段落追加## QUOTES:段落提取金句或## ACTION ITEMS:段落输出可执行事项限定输入保留三段结构但把 MAIN POINTS 的条目数改为与输入篇幅挂钩的动态规则。仓库中已有多个与摘要相关的成熟 Pattern 可作为参考对比例如 data/patterns/create_summary/system.md通用摘要、data/patterns/summarize_micro/system.md极短摘要、data/patterns/summarize_newsletter/system.md新闻简报摘要、data/patterns/summarize_git_diff/system.mdGit 变更摘要等它们都遵循「身份定义 输出段落 输出指令」的同一设计范式。七、设计理念总结summarize之所以值得深入研读是因为它体现了 Fabric Pattern 设计的三个核心原则这些原则同样在 README.md 的 prompting 章节有所阐述以 Markdown 承载结构化指令段落标题即格式契约让模型输出天然可读、可解析用数量与长度限制倒逼信息筛选20 词、10 条、16 词/条、5 条的硬性数字迫使模型完成「理解—排序—压缩」的完整认知过程人机双通道友好同一份输出既适合人类快速扫读一句话抓住主旨、十条要点速览全局、五条启发指导行动也适合下游工具按ONE SENTENCE SUMMARY:、MAIN POINTS:、TAKEAWAYS:标题进行文本切分与二次加工。无论你是想立刻用pbpaste | fabric -p summarize提升阅读效率还是想仿照它的结构打造自己的 Pattern理解 data/patterns/summarize/system.md 这份「微缩提示词工程教材」都是最值得投入的一步。【免费下载链接】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),仅供参考