IDENTITY and PURPOSE

📅 发布时间:2026/9/6 18:17:07
IDENTITY and PURPOSE
IDENTITY and PURPOSE【免费下载链接】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/FabricYou are an expert at interpreting the heart and spirit of a question and answering in an insightful manner.STEPSDeeply understand whats being asked.Create a full mental model of the input and the question on a virtual whiteboard in your mind.Answer the question in 3-5 Markdown bullets of 10 words each.OUTPUT INSTRUCTIONSOnly output Markdown bullets.Do not output warnings or notes—just the requested sections.INPUT:INPUT:该提示词采用 Fabric 社区通用的分段式组织方式四个区块各司其职 ### 2.1 IDENTITY and PURPOSE身份与目的 第一行 You are an expert at interpreting the heart and spirit of a question... 定义了模型的角色**一个善于捕捉问题核心与精神的专家**。这里的措辞刻意避开了具体的学科领域如法律专家编程专家使该模式成为一个通用型问答入口——无论输入是技术、商业还是生活类问题都先要求模型理解问题真正在问什么而非字面意思。 ### 2.2 STEPS执行步骤 STEPS 区块把隐式推理过程显式化为三步 1. **Deeply understand whats being asked.** —— 先理解问题本身 2. **Create a full mental model of the input and the question on a virtual whiteboard in your mind.** —— 在虚拟白板上为输入和问题建立完整的心理模型。这一步是典型的思维脚手架mental scaffolding写法引导模型在回答前完成一次结构化理解 3. **Answer the question in 3-5 Markdown bullets of 10 words each.** —— 输出强约束35 条 Markdown 列表、**每条 10 个词**。 第三步是这段提示词最硬核的参数它同时锁定了**数量**3-5 条与**长度**10 words each。这种双维度约束把开放式问答收敛为固定形状的输出非常适合管道化下游处理如嵌入知识库、生成卡片、作为其他模式的输入。 ### 2.3 OUTPUT INSTRUCTIONS输出约束 markdown - Only output Markdown bullets. - Do not output warnings or notes—just the requested sections.两条硬性约束只输出 Markdown 列表禁止输出任何警告、说明或前缀文本如好的以下是回答。这是为了让输出可被程序直接消费——没有寒暄、没有元注释输出即结果本身。2.4 INPUT 占位符文件结尾# INPUT: INPUT:INPUT:行是 Fabric 约定俗成的用户输入锚点。当用户通过命令行传入输入如fabric -p ai -i 什么是幂等性时Fabric 会把输入内容附加到模板渲染后的提示词末尾模型在INPUT:标记之后看到真实问题。这也解释了为什么该模式不需要user.md所有指令都在 system 提示词内用户输入只需原样拼接即可。三、源码视角Fabric 如何加载并执行 ai/system.md3.1 模式的存储约定system.md 是固定文件名Fabric 的文件系统存储层在 internal/plugins/db/fsdb/db.go 中定义了模式的目录结构db.Patterns PatternsEntity{ StorageEntity: StorageEntity{Label: Patterns, Dir: db.FilePath(patterns), ItemIsDir: true}, SystemPatternFile: system.md, UniquePatternsFilePath: db.FilePath(unique_patterns.txt), CustomPatternsDir: , // Will be set after loading .env file }关键事实ItemIsDir: true说明每个模式就是一个目录如ai/而SystemPatternFile: system.md硬编码了系统提示词的文件名。读取时按模式目录 /system.md拼接路径见 internal/plugins/db/fsdb/patterns.go 中filepath.Join(o.Dir, name, o.SystemPatternFile)的拼接逻辑。因此你新建任何自定义模式时都必须遵守目录名即模式名、system.md 即提示词这一约定。3.2 模式从哪里来Git 仓库下载 本地目录缓存internal/tools/patterns_loader.go 定义了两个关键常量const DefaultPatternsGitRepoUrl https://github.com/danielmiessler/fabric.git const DefaultPatternsGitRepoFolder data/patternsPatternsLoader.PopulateDB()internal/tools/patterns_loader.go的执行流程为创建临时目录前缀fabric-patterns-用完即删代码注释中还特别提到该设计是为了避免空目录泄漏对应 issue #2190通过githelper.FetchFilesFromRepo从上游仓库拉取data/patterns文件夹若拉取结果为空触发tryPathMigration()自动把旧的patterns路径迁移为新的data/patterns路径internal/tools/patterns_loader.gomovePatterns()将新模式拷入本地配置目录且PersistPatterns()会保留本地已存在但上游没有的自定义模式目录只覆盖/更新同名模式最后写入unique_patterns.txt所有模式名的字母序列表并创建空文件loaded作为已加载标记——internal/tools/patterns_loader.go 中IsConfigured()正是靠检查这个标记文件是否存在来判断模式是否就绪。对使用者的实际意义fabric -U--updatepatterns执行的就是这条链路ai模式会随官方仓库更新而你在本地模式目录中新建的自定义模式哪怕目录名冲突规则不同在更新后会被保留。3.3 变量替换与输入注入的模板机制Fabric 的模板引擎位于 internal/plugins/template/template.go支持{{input}}、{{ext:...}}等语法。值得注意的是该引擎对{{input}}采用哨兵 token 机制在变量保护阶段先把{{input}}替换为内部哨兵__FABRIC_INPUT_SENTINEL_TOKEN__扩展执行时再还原为真实输入。测试文件 internal/plugins/template/template_sentinel_test.go 专门验证了扩展参数中的哨兵 token 会被真实输入替换、且不会泄漏到最终输出这一行为。ai模式没有使用{{input}}语法而是依赖末尾的INPUT:锚点加输入拼接这是两种互补的输入注入方式方式适用场景代表模式INPUT:锚点 尾部拼接提示词整体是 system 指令输入原样追加data/patterns/ai/system.md{{input}}变量 哨兵替换输入需要嵌入提示词中间或经扩展函数加工含user.md的模式如 data/patterns/explain_code/对比可以看出来ai/目录下只有 system.md 没有 user.md而像explain_code/、summarize/这类模式同时提供 system.md 和 user.md 模板输入通过{{input}}精确落在提示词中指定位置。选择哪种方式取决于你是否需要控制输入在提示词中的位置——ai模式把输入放在最末尾配合先建模、再作答的 STEPS 设计让模型先消化指令、最后才看到问题。四、实战运行与调试 ai 模式Fabric 的命令行用法摘自 README.md 的 Usage 段落中与运行ai模式直接相关的参数有# 基本用法向 ai 模式提问-i 传入输入-p 选择模式 fabric -p ai -i What is the essence of compound interest? # 查看该模式的原始提示词不发送请求直接打印 fabric --readpatternai # 只打印将要发送给模型的内容不真正调用调试提示词必备 fabric -p ai -i 你的问题 --dry-run # 指定模型与温度 fabric -p ai -m model -t 0.7 -i 你的问题-p, --pattern从可用模式中选择这里填ai模式名即 data/patterns/ai/ 的目录名--readpattern把指定模式的文件内容打印到终端适合快速核对提示词是否被上游更新过--dry-run打印最终拼装出的提示词而不发送是验证你的输入 system 提示词组合的最佳调试手段-t, --temperature默认 0.7。ai模式追求简洁洞见若希望输出更稳定可复现可配合-e, --seed固定随机种子-o, --output把结果写入文件便于后续管道处理其 Markdown 列表输出。预期输出形如符合 3-5 条、每条约 10 词的约束- Money earns interest, then interest earns more interest. - Time magnifies small early contributions into large sums. - Delaying compounding reduces final outcomes significantly. - Reinvesting returns accelerates wealth growth exponentially.【免费下载链接】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),仅供参考