raw_query 模式:让 Fabric 以通用 AI 身份交付最优结果
2026/9/11 5:58:24 网站建设 项目流程

raw_query 模式:让 Fabric 以通用 AI 身份交付最优结果

【免费下载链接】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

raw_query 是 Fabric 模式体系中定位极其特殊的一个 Pattern:它不预设任何专业角色、不指定任何处理步骤,而是要求模型扮演"通用 AI",基于对输入内容的充分消化与对发送者意图的深度揣摩,直接给出最佳输出。它既是一个可实际调用的模式,也是理解 Fabric 模式加载机制、测试通知链路的最佳切入点。读完本文,你将掌握 raw_query 的完整语义、在仓库中的底层实现位置,以及把它用于日常查询与功能测试的实战方法。

一、模式原文:一个极简而完整的 Prompt 骨架

raw_query 的完整内容位于 data/patterns/raw_query/system.md,全文仅由三个章节构成,没有任何冗余修饰:

# IDENTITY You are a universal AI that yields the best possible result given the input. # GOAL - Fully digest the input. - Deeply contemplate the input and what it means and what the sender likely wanted you to do with it. # OUTPUT - Output the best possible output based on your understanding of what was likely wanted.

虽然篇幅极短,但它遵循了 Fabric 模式的标准三段式结构,三个章节各司其职:

章节作用对模型的约束
IDENTITY定义模型在该模式下扮演的身份以"通用 AI"自居,不受任何领域专家角色限制
GOAL明确任务目标先完整消化输入(Fully digest),再深度思考输入的含义与发送者意图(Deeply contemplate)
OUTPUT规定输出形态基于对意图的理解,输出"可能的最佳结果"

从提示工程的角度看,这是一个典型的"最小约束 + 最大自由度"设计:IDENTITY 给模型一个稳定的人格锚点,GOAL 引导两条思考路径(内容层"它说了什么"与意图层"他想让我做什么"),OUTPUT 则把评判标准交给模型自身的理解力。仓库中 data/patterns/pattern_explanations.md 对其官方释义为:"Fully digests and contemplates the input to produce the best possible result based on understanding the sender's intent."(完整消化并沉思输入,基于对发送者意图的理解产出最佳结果。)

二、它在 Fabric 模式体系中的定位

Fabric 的每个模式都是data/patterns/下的一个目录,目录内通过system.md(系统提示)与可选的user.md(用户提示模板)共同定义一次完整调用。raw_query 只提供system.md,不带user.md,这意味着它的输入完全由调用方通过命令行或管道提供。

在 data/patterns/suggest_pattern/user.md 中,raw_query 被归类在 AI 评测类模式组内,官方一句描述为:"Process direct queries by interpreting intent."(通过解读意图处理直接查询。)这个定位非常关键——它区别于 analyze_* 系列(分析型)、create_* 系列(创作型)、summarize 系列(摘要型),属于"无预设处理管线"的直通型模式:输入是什么,就按最合理的理解去响应什么。

因此,raw_query 最适合的使用场景包括:

  • 开放式提问:当你希望模型自由作答,而非套用某个固定输出模板时;
  • 内容快速再处理:将一段文本交给模型,由它自行判断该总结、改写、翻译还是提取要点;
  • 管线端点测试:作为最简单、输出最稳定的模式,用于验证 Fabric 的调用链路、通知机制与输出格式是否符合预期。

三、源码视角:模式如何被加载与调用

要真正用好 raw_query,需要理解 Fabric 的模式加载机制。从源码结构看,模式实体在 internal/plugins/db/fsdb/db.go 中被定义为基于文件系统目录存储的实体,并明确指定系统提示文件名为system.md

db.Patterns = &PatternsEntity{ StorageEntity: &StorageEntity{Label: "Patterns", Dir: db.FilePath("patterns"), ItemIsDir: true}, SystemPatternFile: "system.md", UniquePatternsFilePath: db.FilePath("unique_patterns.txt"), CustomPatternsDir: "", }

可以看到:每个模式以目录(ItemIsDir: true)形式存放,其中system.md是系统提示的标准文件名。raw_query 目录下的 system.md 正是被这一机制识别并加载的核心文件。

而模式仓库的获取与更新则由 internal/tools/patterns_loader.go 负责:它从默认的 Git 仓库克隆data/patterns目录(见 internal/tools/patterns_loader.go 中的DefaultPatternsGitRepoUrlDefaultPatternsGitRepoFolder常量),下载完成后会统计模式目录数量并写入loaded标记文件,同时生成unique_patterns.txt列出全部模式名。这意味着 raw_query 与其他所有模式一样,会随fabric -U(更新模式)或首次 setup 自动同步到本地。

在 CLI 层面,internal/cli/flags.go 定义了模式选择的核心参数:

Pattern string `short:"p" long:"pattern" yaml:"pattern" description:"Choose a pattern from the available patterns" default:""`

即通过-p/--pattern指定要使用的模式名。相关参数还包括:

  • -l/--listpatterns:列出全部可用模式;
  • --readpattern <name>:将指定模式的提示内容打印到终端(可用于直接查看 raw_query 的 system.md 全文);
  • -U/--updatepatterns:从远程仓库更新模式;
  • -v/--variable:为模式变量传值(raw_query 未定义变量,因此无需使用)。

四、实战:raw_query 的典型调用方式

4.1 管道输入:最标准的调用形态

Fabric 的典型用法是把任意内容通过管道喂给模式:

echo "Explain the concept of entropy in one sentence." | fabric -p raw_query

由于 raw_query 不预设输出格式,模型会结合"通用 AI"身份,自主决定用最合适的方式回答——这正是它与summarizeextract_wisdom等强约束模式的核心差异。

4.2 文件与 URL 输入

# 处理本地文件 cat notes.txt | fabric -p raw_query # 处理网页内容(Fabric 内置网页抓取能力) fabric -y "https://example.com/article" -p raw_query

4.3 输出到文件

echo "Draft a short product description for a noise-cancelling headset." \ | fabric -p raw_query -o result.md

-o会把模型输出写入指定文件,方便后续归档或继续加工。

4.4 组合参数

raw_query 同样受 Fabric 全局参数控制,例如温度、流式输出、模型选择:

# 指定模型与温度 echo "What are three ways to improve code review?" | fabric -p raw_query -m openai/gpt-4o -t 0.3 # 流式输出 echo "Summarize this paragraph: ..." | fabric -p raw_query -s

五、raw_query 在仓库中的真实用途:通知机制测试

raw_query 在 docs/Desktop-Notifications.md 中被官方选作桌面通知功能的测试模式,这是它最重要的实战用途之一。

Fabric 的--notification参数可以在命令完成后触发系统通知,用于长任务提醒。官方文档给出的自定义通知命令测试方式(docs/Desktop-Notifications.md):

# 测试 $1 与 $2 是否正确传递 fabric --pattern raw_query --notification-command 'echo "Title: $1, Message: $2"' "test input"

以及排查通知不显示时的最小复现命令(docs/Desktop-Notifications.md):

echo "test" | fabric --pattern raw_query --notification --dry-run

选 raw_query 而非其他模式来测试,原因显而易见:它不需要任何额外输入结构、没有必填变量、输出格式自由,任何输入都能得到合理响应,因此是验证"通知参数传递是否正确、链路是否通畅"的最小实验样本。通知标题默认为 "Fabric Command Complete" 或 "Fabric: [pattern] Complete",消息正文取输出的前 100 个字符(超长截断加 "..."),详见 docs/Desktop-Notifications.md。

六、与其他模式的横向对比

为便于理解 raw_query 的定位,可将其与仓库中若干模式对照:

模式提示结构输出约束适用场景
raw_query仅 IDENTITY/GOAL/OUTPUT,无步骤无固定格式,自由发挥开放式提问、意图解读、链路测试
rate_value(见 data/patterns/rate_value/system.md)含详细 STEPS 与计算算法强制输出 JSON,含 VPM 指标评估内容的价值密度
extract_wisdom含多步骤提取流程结构化要点清单从长文本/视频中抽取洞见
summarize摘要流程多语言摘要结构内容压缩

可以看出,绝大多数 Fabric 模式都通过# STEPS章节规定了"怎么做",而 raw_query 刻意省略了步骤,把处理方式完全交给模型。这也是它名称的由来——像"直接查询"一样,不做中间加工。

七、使用建议与注意事项

  1. 不要把它当作专用分析器:需要结构化输出(如 JSON、评分、固定字段)时,请选择 rate_value、rate_content 等带输出指令的模式;raw_query 的优势在自由应答。
  2. 可用于快速验证环境:换模型、换供应商、调试通知时,先用fabric -p raw_query打一条最小输入,能快速区分"配置问题"与"模式问题"。
  3. 可通过--readpattern raw_query随时回顾其提示全文,确认本地模式版本与仓库 data/patterns/raw_query/system.md 是否一致;如需更新到最新,执行fabric -U
  4. 身份设定决定了输出上限:raw_query 的全部能力来自"universal AI"这一身份锚点与两条思考目标。实际使用时,输入中携带足够的上下文(背景、期望、约束),模型对"发送者意图"的揣摩才会更准确——这符合其 GOAL 章节对"深度思考意图"的设计初衷。

结语

raw_query 以不到十行的提示文本,诠释了 Fabric 模式设计中最核心的思想:把"该做什么"交给提示结构,把"如何做最好"交给模型。它既是日常使用的通用查询入口,也是测试与调试 Fabric 链路的标准探针。结合 internal/plugins/db/fsdb/db.go 中的模式加载机制与 internal/cli/flags.go 中的参数体系,你可以在完全理解其底层工作方式的基础上,把它嵌入到自己的 AI 工作流中。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询