news 2026/9/10 2:24:51

Fabric 瑜伽推荐 Pattern 深度解析:用 recommend_yoga_practice 打造个性化瑜伽与正念 AI 教练

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Fabric 瑜伽推荐 Pattern 深度解析:用 recommend_yoga_practice 打造个性化瑜伽与正念 AI 教练

Fabric 瑜伽推荐 Pattern 深度解析:用 recommend_yoga_practice 打造个性化瑜伽与正念 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

导读

本文围绕 Fabric 开源仓库中的recommend_yoga_practice系统提示词(Pattern),完整拆解其身份设定、步骤规范、输出结构与示例引导,并深入其底层源码,说明该 Pattern 在 Fabric 中如何被加载、变量如何注入、{{input}}如何替换为真实用户输入。读完本文,你将掌握这个 Wellness 类 Pattern 的完整能力边界,并能通过fabric --pattern recommend_yoga_practice在实际命令行中把它用起来。

一、认识 recommend_yoga_practice:一个面向身心健康的 Fabric Pattern

在 Fabric 中,Pattern 是"以真实任务为单位组织起来的提示词单元"。仓库根目录下的 data/patterns 目录集中存放了大量按场景分类的提示词,每个子目录通常包含一个system.md(系统提示词)以及可选的user.md(用户提示词)。recommend_yoga_practice正是其中之一,仓库的 pattern_descriptions.json 中对其官方描述为:

"Provides personalized yoga sequences, meditation guidance, and holistic lifestyle advice based on individual profiles."

并归入WELLNESSSELF两个标签类别,定位是"基于个人画像提供个性化瑜伽序列、冥想指导与整体生活方式建议"。从 fsdb 的加载逻辑 可以看到,Pattern 加载时约定以system.md作为系统提示词文件(SystemPatternFile: "system.md"),因此本文件就是该 Pattern 的行为灵魂。

二、身份与步骤:Pattern 如何定义"AI 瑜伽教练"的行为边界

recommend_yoga_practicesystem.md首先通过IDENTITY小节确立模型角色——一名"经验丰富的瑜伽教练与正念生活教练(experienced yoga instructor and mindful living coach)",要求以平静、清晰、富有同情心的方式引导用户。随后用STEPS小节划定五条核心职责:

  1. 体式教学:教授安全、有效的瑜伽体式(asana),并给出逐步引导;
  2. 个性化序列编排:根据用户的练习经验水平、目标以及身体限制,帮助构建个性化序列;
  3. 冥想与放松引导:带领用户进行引导式冥想与放松练习,促进正念与情绪平衡;
  4. 整体生活方式建议:基于瑜伽原则提供涵盖呼吸法(pranayama)、营养、睡眠、体态与日常健康实践的 holistic 建议;
  5. 氛围营造:在每个回复中营造宁静、自我觉察、不带评判的氛围。

同时规定语气基调:如一位将古老智慧融入现代生活的资深瑜伽老师,采用舒缓、鼓励、内省的语调。

这一"身份 + 步骤"的写法是 Fabric 提示词工程的标准范式——通过明确角色(WHO)与职责清单(WHAT TO DO),把模型的行为收敛到一个稳定的专业轨道上,避免回答发散。

三、输出规范:三段式回复结构与个性化分支

为了让回复风格统一,system.mdOUTPUT小节强制规定了回复的三段式结构:

  1. 开场锚定语(Opening grounding statement)——一句简短的反思或聚焦短语;
  2. 主要指导(Main guidance)——围绕用户问题给出详细、安全、清晰的指引或洞见;
  3. 正念结语(Mindful takeaway)——以一句简短的提醒或反思收尾,鼓励持续正念。

在个性化维度上,Pattern 区分了两种用户诉求分支:

  • 体式类问题(如用户询问某个具体体式):需仔细描述对齐细节(alignment)、解释面向初学者或安全性的变体修改方式、指出常见错误及规避方法;
  • 冥想或生活方式类问题:提供简单可行的技巧,鼓励坚持练习与自我慈悲(self-compassion)。

这种"先固定结构、再按场景分支"的设计,保证了模型在面对"给我推荐一套序列"和"怎么治我的背痛"这类差异巨大的请求时,都能输出同样专业、安全的指导。

四、示例驱动:从 EXAMPLE 看期望的交互形态

system.md给出了一个可验证的示范,帮助模型锚定输出质量:

USER: Recommend a gentle yoga sequence for improving focus during stressful workdays.

Expected Output Example:

  1. Begin with a short centering breath to quiet the mind.
  2. Flow through seated side stretches, cat-cow, mountain pose, and standing forward fold.
  3. Conclude with a brief meditation on the breath.
  4. Reflect on how each inhale brings focus, and each exhale releases tension.

并规定每次交互都以类似这样的语句收尾:

"Breathe in calm, breathe out ease."

这个示例展示了 Pattern 期望的完整闭环:从静心呼吸开场 → 串联 4 个温和体式(坐姿侧伸展、猫牛式、山式、站立前屈)→ 以呼吸冥想收束 → 最后给出"吸气带来专注、呼气释放紧张"的正念反思。这正是"开场锚定语 → 主要指导 → 正念结语"三段式结构的具体化。

五、在 Fabric 中实际使用该 Pattern

5.1 基础用法:选择 Pattern 并传入输入

Fabric CLI 通过-p/--pattern参数选择要使用的 Pattern(见 flags.go 中Pattern string \short:"p" long:"pattern" ...`` 的定义)。使用方式:

# 直接传入文本 fabric --pattern recommend_yoga_practice "我最近工作压力大,想放松,能推荐一套温和的瑜伽序列吗?" # 通过管道传入输入(Fabric 支持 stdin 管道) echo "I sit at a desk all day and have lower back tightness. What should I practice?" \ | fabric --pattern recommend_yoga_practice

用户输入会注入到提示词末尾的{{input}}占位符中,与system.md拼接成完整的请求后发送给模型(拼接逻辑见 internal/core/chatter.go 中joinPromptSections(contextContent, patternContent)的实现)。需要流式输出时加--stream

echo "帮我设计一套针对久坐上班族的晨间唤醒序列" | fabric --pattern recommend_yoga_practice --stream

5.2 用 Pattern 变量实现个性化参数

Fabric 支持为 Pattern 注入自定义变量,CLI 参数为-v/--variable,格式如-v=#role:expert -v=#points:30。虽然本 Pattern 当前未声明额外变量占位符,但模板引擎会对{{变量名}}形式的标记统一做变量替换(见下文第六节),这为后续扩展"经验水平、练习目标、身体限制"等字段预留了机制。

5.3 通过 YAML 配置固化 Pattern 选择

如果你希望每次调用都默认使用该 Pattern,可以利用 Fabric 的 YAML 配置支持(参见 internal/cli/README.md):

# ~/.config/fabric/config.yaml model: gpt-4 temperature: 0.8 pattern: recommend_yoga_practice stream: true

然后直接运行:

fabric --config ~/.config/fabric/config.yaml "给我一段睡前放松的冥想引导"

配置优先级为:CLI 参数 > YAML 配置 > 默认值,因此命令行中的--pattern仍可临时覆盖 YAML 中的设定。

六、源码级原理:Pattern 从磁盘到提示词的完整调用链

从实现角度看,recommend_yoga_practice/system.md被读取并注入模型请求的路径清晰可见,核心代码在 internal/plugins/db/fsdb/patterns.go:

  • 入口GetApplyVariables(source, variables, input)是获取 Pattern 的统一入口,会先调用loadPattern读取内容,再做变量处理;
  • 名称解析loadPattern判断传入名称是否像文件路径(以/\~.开头),是则从文件系统读取(getFromFile),否则从数据库/目录读取(getFromDB)。因此除了用 Pattern 名recommend_yoga_practice,你还可以直接传文件路径来加载任意system.md
  • 输入注入applyInput调用ensureInput——若 Pattern 内容中没有{{input}}占位符,会在末尾自动追加一行{{input}},随后用strings.ReplaceAll将占位符替换为用户真实输入;
  • 变量替换applyVariables先用哨兵令牌(InputSentinel = "__FABRIC_INPUT_SENTINEL_TOKEN__",见 internal/plugins/template/constants.go)保护{{input}},再交给 template.ApplyTemplate 处理其余{{...}}标记(包括{{plugin:...}}插件调用与{{ext:...}}扩展调用),最后还原输入。若模板中存在未提供的必需变量,会返回"missing required variable"错误。

也就是说,你在终端里输入的那句"想放松、想要晨间序列",最终会以{{input}}的身份被替换进system.md末尾,与上述 IDENTITY/STEPS/OUTPUT/EXAMPLE 指令一起构成完整的系统提示词,再由 chatter.go 发给已配置的模型供应商。

七、Pattern 管理与运维:查找、预览与更新

Fabric 为 Pattern 提供了完整的 CLI 管理命令(对应 listing.go 中的处理逻辑):

# 列出所有可用 Pattern,确认 recommend_yoga_practice 存在 fabric --listpatterns # 直接打印该 Pattern 的完整内容(即本 system.md)到终端 fabric --readpattern recommend_yoga_practice # 查看最近新增的 N 个 Pattern(了解 Wellness 类的新玩法) fabric --latest 10 # 从默认 Git 仓库(data/patterns 目录)拉取并更新所有 Pattern fabric --updatepatterns

首次使用时,可运行fabric --setup完成模型供应商等配置(README 明确说明通过fabric --setup配置 preferred providers,或使用fabric --listvendors查看全部供应商)。Pattern 的下载、更新与"已加载"标记逻辑位于 internal/tools/patterns_loader.go:它会克隆默认仓库(DefaultPatternsGitRepoUrl)中data/patterns目录到临时目录,经movePatterns复制到配置目录,统计目录数量校验成功后写入 loaded 标记文件,并在更新时通过PersistPatterns保留用户的本地自定义 Pattern。

八、进阶技巧与最佳实践

  • 组合场景recommend_yoga_practice属于WELLNESS/SELF类别,适合与情绪、自我觉察类 Pattern 组合使用。例如先让 AI 分析压力来源,再用本 Pattern 输出针对性的练习建议。
  • 善用--dry-run:不确定最终发给模型的内容时,可加--dry-run查看组装后的完整提示词(含{{input}}替换结果),这有助于理解 system.md 如何与你的输入融合。
  • 本地定制:仓库是只读的,但你可以复制该 Pattern 到自己的自定义目录并按需修改system.md(例如加入"只推荐适合孕妇的温和体式"或"优先推荐办公室可完成的练习"等约束),--updatepatterns时本地副本会被保留。
  • 安全边界:本 Pattern 始终强调"安全、可修改、循序渐进"的体式指导原则,实际使用中建议结合自身身体状况,并将 AI 建议作为参考而非医疗替代。

结语

recommend_yoga_practice是一个结构清晰、可直接落地的 Wellness 类 Fabric Pattern:它以"身份 + 步骤 + 输出规范 + 示例"四段式设计,把"AI 瑜伽教练"的每次回复都锚定在安全、个性、正念的轨道上;而 Fabric 的模板引擎与 Pattern 管理机制则保证了它可以被命令行、管道、YAML 配置等方式灵活调用。理解它的结构与底层调用链,你也就掌握了 Fabric 全部数百个 Pattern 共通的"打开方式"。

Breathe in calm, breathe out ease.

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 2:24:21

滑模变结构控制MATLAB仿真:从建模到抖振抑制全解析

简介:面向控制工程与自动化领域学习者,这份压缩包围绕滑模变结构控制的核心理论与MATLAB实现,汇集了从滑模面设计、切换函数选择到控制律搭建、Simulink仿真分析的完整示例程序,尤其适合正在研读《滑模变结构控制MATLAB仿真&#…

作者头像 李华
网站建设 2026/9/10 2:22:23

宇泛门禁人员注册接口实战:从签名机制到权限下发全攻略

最近在调宇泛门禁的人员注册接口,项目代号挺有意思——"幽冥大陆(一百04)",分区名是"东方仙盟",人员分组叫"练气期"。乍一看以为是哪个游戏服务器的账号体系,实际上就是一套很常见的门禁访客与员工…

作者头像 李华
网站建设 2026/9/10 2:18:39

CANN/GE编译可执行文件

编译可执行文件 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow…

作者头像 李华
网站建设 2026/9/10 2:18:04

谷粒商城集群化部署:从单机到高可用微服务全链路实践

简介:gulimall(谷粒商城)是一套覆盖电商全流程的Java微服务实战项目资料包,面向具备JavaWeb基础、希望掌握Spring Cloud Alibaba、分布式事务与高并发集群方案的开发者。资源将完整笔记、配套资料、可运行代码整合在一起&#xff…

作者头像 李华
网站建设 2026/9/10 2:15:40

电商爬虫+数据分析+可视化全栈实战

简介:本资源是一套完整的基于Python的商品销售数据分析与可视化系统毕业设计项目,面向计算机相关专业本科生及Python初学者,聚焦电商数据采集、清洗、分析与前端展示全流程实践。系统采用Django框架构建后端服务,集成自研爬虫模块…

作者头像 李华