Fabric 模式深度解析:用 create_upgrade_pack 从内容中提取世界观与任务算法更新
导读
create_upgrade_pack 是 Fabric 开源框架中负责"认知升级"的核心模式(Pattern):它不再满足于对输入内容做简单的摘要或金句摘录,而是要求 LLM 以"专家"身份,把一段文字(文章、播客、演讲、书籍章节等)中蕴含的**世界观信念(World Model Beliefs)与任务算法信念(Task Algorithm Beliefs)**系统性地抽取出来,分别输出为 15 词一条的要点清单,从而让读者把"一次性的阅读输入"沉淀为"可复用的决策与行动升级包"。本文将以 data/patterns/create_upgrade_pack/system.md 为骨架,结合 Fabric 仓库中的模式加载机制、CLI 参数与使用方式,完整讲解该模式的设计意图、提示词结构、输出规范、实战调用方式,以及它与其他"知识提取类"模式的分工与组合用法。
一、模式定位:它不是摘要,而是"决策与行动的升级"
1.1 该模式要解决什么问题
大多数人在阅读、听播客、看视频后,只能复述"内容讲了什么",却难以回答两个更关键的问题:
- 这段内容告诉我"世界是如何运作的"?(世界观)
- 这段内容告诉我"某件事应该怎么做"?(任务算法)
create_upgrade_pack 正是为此而生。它在 IDENTITY and PURPOSE 中把模型设定为 "extracting world model and task algorithm updates from input"(从输入中提取世界观与任务算法更新)的专家,并明确要求模型先"退后一步、逐步思考"(Take a step back and think step-by-step about how to achieve the best possible results),再按固定步骤执行抽取。
1.2 与"摘要/金句"类模式的分工
从仓库的 data/patterns/pattern_explanations.md 中可以清晰看到知识提取类模式的差异:
| 模式 | 输出重点 | 与 create_upgrade_pack 的区别 |
|---|---|---|
summarize |
20 词一句话 + 要点 + 收获 | 偏"压缩还原",保留原信息 |
extract_alpha |
24 条 8 词高价值观点 | 偏"新颖与惊喜",不分类 |
extract_wisdom |
洞见、想法、金句、引用、建议 | 偏"智慧素材收集" |
create_upgrade_pack |
世界观信念 + 任务算法信念 | 偏"认知/行为升级",双轨分类输出 |
换句话说,create_upgrade_pack 站在更高抽象层级:它关心的不是"作者说了什么",而是"作者对世界如何运作的判断"和"作者认为某事该如何执行的方法论"——这两者恰好是可以迁移到读者自己决策与行动中的"升级包"。
二、提示词骨架逐段拆解
该模式的 system.md 结构紧凑,共五个部分:身份、步骤、输出说明、示例、输出规则。逐段理解其设计意图,是正确使用它的前提。
2.1 IDENTITY and PURPOSE:设定专家身份
You are an expert at extracting world model and task algorithm updates from input.
一句话把模型锚定为"世界观/任务算法提取专家",并要求模型在开始前退后一步、逐步思考,以保证输出质量。这是 Fabric 模式(Pattern)提示词的常见开场方式,可参考仓库模板 data/patterns/official_pattern_template/system.md 中 IDENTITY 段的写法对比理解。
2.2 STEPS:双层"虚拟白板"分析法
该模式没有依赖复杂的外部工具,而是要求模型在"心智虚拟白板"上完成两步思考:
- 列出内容中的全部世界观信念——即"关于世界如何运作的信念"(beliefs about the world that describe how it works),写入虚拟白板;
- 列出内容中的全部任务算法信念——即"某个任务应该如何执行、或应该遵循哪些行为"的信念(beliefs about how a particular task should be performed, or behaviors that should be followed),写入虚拟白板。
这一"先全量罗列、后筛选输出"的两阶段流程,是保证最终 15 词要点精炼但完整的关键。仓库中 extract_alpha 等同类模式也采用"先深度消化、再挑选精华"的结构(见 data/patterns/extract_alpha/system.md),可以推断这是 Fabric 知识提取类模式的一致设计风格。
2.3 OUTPUT INSTRUCTIONS:两个必出章节
输出被严格规定为两个章节,且全部使用无序列表:
- WORLD MODEL UPDATES:一组描述内容中世界观信念的要点,每条 15 词。注意要求"不是单纯的事实或观点,而是关于世界如何运作的更高层描述,可用于帮助决策"(
higher-level descriptions of how the world works that we can use to help make decisions)。 - TASK ALGORITHM UPDATES:一组描述任务算法信念的要点,每条 15 词;并且必须按真实世界/人类任务场景拆分子章节,子章节标题为 1~2 个词的实用分类名(如
Reading、Writing、Morning Routine、Being Creative、Hygiene、Web Application Assessment)。
2.4 EXAMPLES:格式参照
文档给出的示例极具代表性:
WORLD MODEL UPDATES
- One's success in life largely comes down to which frames of reality they choose to embrace.
- Framing—or how we see the world—completely transforms the reality that we live in.
TASK ALGORITHM UPDATES
Hygiene
- If you have to only brush and floss your teeth once a day, do it at night rather than in the morning.
Web Application Assessment
- Start all security assessments with a full crawl of the target website with a full browser passed through Burpsuite.
从示例可见两个规律:世界观条目是"可迁移的决策原则"(如"人生成功取决于选择何种现实框架"),任务算法条目则按生活(Hygiene)与专业(Web Application Assessment)两类场景分别归类——这为实际使用时的子章节命名提供了直接范式。
2.5 输出硬性规则(OUTPUT INSTRUCTIONS 末尾)
- 只输出 Markdown;
- 每条要点必须恰好 16 词(示例中为 15 词,正文规则区明确
Each bullet should be 16 words in length,两者并存时以正文规则为准,写作时应严格计数); - 不给出警告或说明,只输出要求的两个章节;
- 使用无序列表,禁止编号列表;
- 不同条目不得以相同开头词起句;
- 必须完整遵循以上全部指令。
三、在 Fabric 中如何实际使用该模式
3.1 前置条件:确保模式已加载
create_upgrade_pack 位于仓库的 data/patterns/create_upgrade_pack/ 目录下。Fabric 的模式(Patterns)默认从该目录批量加载。底层加载逻辑见 internal/tools/patterns_loader.go:安装阶段会通过 PopulateDB() 从 DefaultPatternsGitRepoUrl(data/patterns 文件夹)拉取并拷贝全部模式到本地配置目录,同时生成 loaded 标记文件与 unique_patterns 清单,并在 IsConfigured() 中检查标记文件是否存在。因此首次使用前需运行:
fabric --setup
该命令完成 API 提供商配置与模式库下载(对应 -S, --setup 选项,见 README.md)。若之后希望同步新增的模式,可运行:
fabric --updatepatterns
对应 -U, --updatepatterns 选项(见 README.md)。加载完成后可用 fabric --listpatterns 确认 create_upgrade_pack 已就绪。
3.2 通过 -p 参数调用
Fabric 的核心调用方式是通过 -p/--pattern 指定模式(该参数定义于 internal/cli/flags.go)。以 Linux/macOS 为例,从剪贴板输入内容并流式输出:
pbpaste | fabric --pattern create_upgrade_pack --stream
如需将输入与输出分离、便于保存"升级包"文件:
pbpaste | fabric --pattern create_upgrade_pack > upgrade_pack.md
阅读本地文章文件同样直接:
cat article.md | fabric --pattern create_upgrade_pack
Windows PowerShell 用户可参考 README.md 中的管道用法,将文本通过管道喂给 fabric --pattern create_upgrade_pack。命令入口为 cmd/fabric/main.go,其 main() 调用 cli.Cli(version) 完成参数解析与执行。
3.3 与 Docker 的搭配
若使用容器方式部署,可按 README.md 的方式挂载配置目录后调用:
docker run --rm -it -v $HOME/.fabric-config:/home/appuser/.config/fabric kayvan/fabric:latest -p create_upgrade_pack
3.4 实用技巧:为常用模式建立别名
create_upgrade_pack 适合高频使用,可参考 README.md 的别名机制,将其注册为 shell 命令:
for pattern_file in $HOME/.config/fabric/patterns/*; do
pattern_name=$(basename "$pattern_file")
alias "$pattern_name"="fabric --pattern $pattern_name"
done
此后可直接运行 create_upgrade_pack < input.txt 调用,无需每次输入完整 --pattern 参数。
四、输出规范速查表
下表汇总了该模式的全部输出约束,便于对照检查生成结果:
| 约束项 | 要求 |
|---|---|
| 输出格式 | 仅 Markdown,两个章节:WORLD MODEL UPDATES、TASK ALGORITHM UPDATES |
| 每条长度 | 16 词(示例段落中写为 15 词,正文规则区明确 16 词,以正文为准) |
| 列表类型 | 无序列表(-),禁止编号列表 |
| 条目开头 | 每条不得以相同单词开头 |
| 世界观条目 | 高层的"世界如何运作"描述,可用于辅助决策 |
| 任务算法条目 | 按 1~2 词真实场景分类(如 Reading、Writing、Morning Routine、Hygiene、Web Application Assessment)建立子章节 |
| 附加内容 | 不输出警告、说明或任何非要求内容 |
五、实战示例:从一篇内容生成升级包
假设输入是一篇讲"如何高效晨间工作"的文章,create_upgrade_pack 的理想输出形态如下(演示格式,实际以模型按规则输出为准):
WORLD MODEL UPDATES
- Morning energy levels are largely determined by the previous night's sleep quality and routine.
- Willpower is a depletable resource that gets consumed by small decisions throughout the day.
- Consistent habits compound more reliably than sporadic bursts of intense motivation.
- Attention follows emotional reward, so boring tasks naturally get postponed indefinitely.
- Environment design shapes behavior more powerfully than most people realize or admit.
TASK ALGORITHM UPDATES
Morning Routine
- Prepare tomorrow's clothes and workspace tonight so morning decisions are eliminated completely.
- Drink water before coffee to rehydrate after sleeping before introducing caffeine.
- Exercise first to anchor the day around proactive energy rather than reactive scrolling.
- Write the single most important task before checking any messages or feeds.
Reading
- Read twenty pages daily instead of waiting for a large uninterrupted block.
- Take notes immediately after each chapter rather than finishing the whole book first.
要点是:世界观部分给出"可迁移的决策原则",任务算法部分按 Morning Routine、Reading 等场景归类,各自独立成节。
六、深层原理与源码佐证
6.1 模式的加载与执行链路
从源码结构看,create_upgrade_pack 与所有内置模式一样,属于 internal/plugins/template 模板插件体系管理的提示词资源:模式被组织为 system.md(系统提示词,即本文所解析文件),可选的 user.md 提供用户侧提示词。运行时由 internal/tools/patterns_loader.go 的 PopulateDB() 下载并落盘,-p create_upgrade_pack 则通过 internal/cli/flags.go 解析后交给执行链路组装成完整请求。
6.2 为什么是"15/16 词"与"双轨分类"
文档对条目长度的硬约束(15/16 词)与 Fabric 其他提取类模式一脉相承(如 extract_alpha 要求 8 词、extract_ideas 要求 15 词,见 data/patterns/pattern_explanations.md)。可以推断其设计意图:词数上限强制模型"压缩表达",迫使输出从复述走向提炼;而世界观/任务算法的双轨分类,则保证一份输出同时服务"认知更新"与"行为更新"两个升级维度。
6.3 升级包的使用闭环
将 create_upgrade_pack 的输出归档为 upgrade_pack.md 后,可将其作为后续会话的上下文或"个人知识库"条目长期复用;结合 data/patterns 中 extract_wisdom、extract_alpha、summarize 等模式,可以构建"摘要 → 精华 → 升级包"的完整内容消化流水线,让每次阅读都沉淀为可检索、可复用的认知资产。
七、常见问题与使用建议
- 输出超长/超词数:该模式强制 16 词与无序列表,若模型输出编号列表或长句,可补充"严格按照 system.md 输出规则执行"的说明后重试。
- 子章节命名困难:参考示例中的
Hygiene、Web Application Assessment,按"受众可识别的真实场景"命名(如Reading、Writing、Being Creative、Morning Routine),1~2 个词即可。 - 区分世界观与任务算法:判断标准是"它描述世界如何运作(可解释现象、指导判断)"还是"它规定某任务应如何执行(可照做)"。
- 更新模式库:仓库新增/修订模式后,运行
fabric --updatepatterns同步;自定义模式不受影响(PersistPatterns会在更新时保留自定义模式目录,见 internal/tools/patterns_loader.go)。
结语
create_upgrade_pack 是 Fabric 模式库中少有的"元认知"级提示词:它把阅读行为从信息消费升级为认知与行为的迭代。理解它的双轨抽取逻辑、16 词约束与场景化输出,不仅可以直接用于个人学习流水线,也为自建"知识→决策→行动"类模式提供了可复用的设计范式。配合 data/patterns/create_upgrade_pack/system.md 原文与 internal/tools/patterns_loader.go 的加载实现,即可在任意支持 Fabric 的环境中稳定复现这一升级流程。
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