尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Fabric 双人心理画像与人物互动故事创作:create_story_about_people_interaction 模式实战解析

Fabric 双人心理画像与人物互动故事创作:create_story_about_people_interaction 模式实战解析 Fabric 双人心理画像与人物互动故事创作create_story_about_people_interaction 模式实战解析【免费下载链接】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 仓库中的create_story_about_people_interaction模式定义于 data/patterns/create_story_about_people_interaction/system.md展开完整拆解其心理画像 → 对比分析 → 故事建构的三段式提示词设计并结合仓库源码说明该模式在 Fabric 中的加载机制、CLI 调用方式与扩展方法。读完后你将能够熟练地把任意两个人的性格、经历与动机资料输入该模式产出符合心理学现实、以人物互动为驱动核心的高质量虚构叙事并理解如何在 Fabric 中自定义属于自己的 pattern。一、模式定位为双人互动而生的写作模式Fabric 是一个通过众包 AI 提示词pattern解决具体问题的开源框架每个 pattern 都以一个目录形式存放目录下包含system.md系统提示词与可选的user.md。create_story_about_people_interaction正是其中负责分析两个人、比较他们的互动动力学并据此创作一个现实主义的、由人物驱动的故事的专用模式。在仓库的模式索引 data/patterns/pattern_explanations.md 第 99 条中该模式被描述为Analyze two personas, compare their dynamics, and craft a realistic, character-driven story from those insights.分析两个人物画像比较他们之间的互动动力学并基于这些洞察创作一个现实主义的、由角色驱动的故事。而在自动化生成的模式描述清单 scripts/pattern_descriptions/pattern_descriptions.json 中它被标注了ANALYSIS分析与WRITING写作两个标签说明它同时承担心理学分析与叙事创作双重职责——这一点在其提示词结构中有直接体现。与仅处理单一人物的 create_story_about_person/system.md 不同本模式的核心单元是一对人物它不仅要求刻画每个人更要求刻画两个人相遇之后会发生什么。它的适用场景包括但不限于基于现实中两人的公开资料访谈、传记、社交动态创作符合其性格逻辑的相遇故事为虚构角色小说、剧本、游戏 NPC推演两人之间的关系发展在团队建设、心理咨询等场景中用叙事方式呈现两种性格的碰撞与调和为写作练习提供心理学约束下的创作框架避免角色行为违和。二、提示词结构全解析从人格剖面到叙事推演该模式的核心文本本身即是一套完整的三步工作流。以下逐段还原其设计意图并标注可直接复用的关键指令。Step 1 – 心理画像构建Psychological Profiling模式要求对输入中的每个人分别进行细致的心理分析并且强调不止于显意识特质仔细分析输入中每个人的信息为每个人构建一份综合心理画像重点关注可能的无意识驱动力、压抑倾向与更深层的心理图景而非仅仅停留在有意识的性格特征上标注出其中浮现的矛盾、未整合的特质或未解决的心理动力。这一步骤的心理学取向相当明显它借鉴了精神分析视角无意识、压抑、防御要求模型像临床心理学家一样去读输入文本背后的动机结构。例如过度追求完美背后可能是对失败的恐惧回避冲突背后可能是被压抑的愤怒——这些正是输入文本不会直接写出、需要分析者推断的内容。Step 2 – 对比分析Comparative Analysis第二步把两个画像放到同一张桌子上进行对照对比并对照两份心理画像识别两者之间潜在的**张力tension、吸引力attraction或协同效应synergy**区域预测这些心理动力学在真实人际互动中可能如何体现。这里的核心概念是人际动力学预测两个人在性格上互补、冲突还是同构决定了故事走向的基本盘。例如害怕失败的完美主义者与压抑愤怒的讨好者之间既可能产生互相理解也可能爆发冲突——模式要求模型先预测、后叙事让故事成为预测的演绎而非天马行空的想象。Step 3 – 故事建构Story Construction第三步将前两步的分析结果转化为虚构叙事约束条件非常明确写一篇以这两个人物为中心的虚构叙事故事应主要由两人之间的互动驱动必须反映两人相遇后最可能、最符合心理学现实的结果允许冲突、合作或两者兼有——但必须有意义且由角色驱动情节必须扎实、可信、忠于人物的心理构成而不是生硬造作。值得注意的是由互动驱动driven primarily by their interaction这一句它排除了事件驱动或巧合驱动的情节结构要求情节发展的每一个转折都能追溯到人物心理与两人关系的逻辑上。输出格式要求模式强制要求输出分为三个清晰标注的部分Profile A人物 A 画像Profile B人物 B 画像Story故事这种结构化输出便于下游处理读者/调用方可以独立引用画像部分做进一步分析也可以只取故事部分进行润色或本地化。从工程角度看它也为测试该模式的输出一致性提供了稳定的解析锚点。输入示例原文档原文模式给出了一个输入样例并明确要求输入用三重反引号定界Person A: Highly ambitious, detail-oriented, often perfectionistic. Has a fear of failure and tends to overwork. Childhood marked by pressure to achieve. Secretly desires freedom from expectations. Person B: Warm, empathetic, values relationships over achievement. Struggles with self-assertion, avoids conflict. Childhood marked by neglect. Desires to be seen and valued. Often represses anger.翻译过来即人物 A野心勃勃、注重细节、常追求完美。害怕失败容易过度工作。童年被成就压力笼罩。内心隐秘地渴望摆脱期望。人物 B温暖、共情力强重视关系胜过成就。难以自我主张回避冲突。童年被忽视。渴望被看见、被珍视。常常压抑愤怒。这个示例示范了高质量输入应包含的信息维度性格特质、恐惧、工作模式、童年经历、隐秘欲望、情绪处理方式。输入越立体画像越准确故事越可信。三、输入规范如何为模式准备双人资料基于提示词对输入的要求性格特质、习惯、恐惧、动机、优势、弱点、背景细节或可识别的行为模式一份理想的输入可以按照如下维度组织以下为推荐结构非模式强制要求维度示例表述核心性格特质外向/内向、尽责性、宜人性等可观察倾向行为习惯与工作模式过度工作、拖延、回避冲突、追求细节恐惧与脆弱点害怕失败、害怕被忽视、害怕失控动机与欲望渴望成就、渴望自由、渴望被看见童年/成长背景高压期望、情感忽视、重大变故优势与资源共情力、执行力、创造力、韧性情绪处理方式压抑、外化、合理化、升华需要特别提醒的是定界符纪律模式要求输入被三重反引号包裹。在 Fabric 的调用链中用户输入会作为{{input}}占位符被注入提示词详见下文第四节因此你在终端中通过管道传入的原始文本本身就应该保留这三重反引号确保模型能够精确区分指令与数据。如果输入来自多个来源例如两人的资料分散在不同文件可以先拼接成统一格式再传入建议保持Person A / Person B的标签式结构与官方示例保持一致。四、在 Fabric 中调用该模式CLI 与底层加载机制4.1 CLI 调用方式Fabric 的 CLI 通过--pattern简写-p参数选择模式其定义位于 internal/cli/flags.goPattern string short:p long:pattern yaml:pattern description:Choose a pattern from the available patterns default:将准备好了的双人资料文件已用三重反引号定界通过标准输入传入即可cat two_people.txt | fabric --pattern create_story_about_people_interaction # 或简写形式 cat two_people.txt | fabric -p create_story_about_people_interaction也可以先用--listpatterns-l确认模式名拼写正确fabric --listpatterns | grep story若想直接查看该模式在本地磁盘上的原始提示词内容可用--readpattern参数实现见 internal/cli/listing.gofabric --readpattern create_story_about_people_interaction4.2 底层加载机制system.md 与 {{input}}从源码看pattern 的加载链路非常清晰。模式存储在data/patterns/模式名/system.md文件系统数据库实体PatternsEntity在 internal/plugins/db/fsdb/patterns.go 中定义了SystemPatternFile: system.md见 internal/plugins/db/fsdb/db.go 第 23 行加载时直接拼接路径读取patternPath : filepath.Join(o.Dir, name, o.SystemPatternFile)也就是说create_story_about_people_interaction对应的物理文件就是data/patterns/create_story_about_people_interaction/system.md与本文开篇引用的文件一一对应。关于用户输入patterns.go中的ensureInput逻辑值得注意如果 system.md 中没有{{input}}占位符加载器会自动在文件末尾追加该占位符再把用户通过管道传入的内容整体替换进去func (o *PatternsEntity) ensureInput(pattern *Pattern) { if !strings.Contains(pattern.Pattern, {{input}}) { if !strings.HasSuffix(pattern.Pattern, \n) { pattern.Pattern \n } pattern.Pattern {{input}} } }本模式create_story_about_people_interaction的 system.md 中虽然描述了输入由三重反引号定界的规则但并未硬编码{{input}}占位符——因此输入会在文件末尾被自动追加。这意味着你在管道中传入的文本连同三重反引号会成为提示词正文的延续模型据此识别数据区。这是理解为什么我的输入会被原样追加到提示词末尾的关键机制。此外加载器还支持变量替换通过-v/--variable参数格式-v#role:expert可为提示词注入模板变量变量处理同样在patterns.go的applyVariables中完成先保护{{input}}为哨兵 token处理其余变量后再恢复。若你的输入中包含类似{{xxx}}的文本而不希望被当作变量处理可考虑使用--no-variable-replacement参数flags.go 第 77 行。4.3 配置文件中预置模式名除了命令行参数模式名也可以写入配置文件。仓库自带的 CLI 配置示例 internal/cli/example.yaml 展示了两种写法# use fabric pattern names pattern: ai # pattern: ~/testpattern.md即pattern字段既可以填仓库内置的模式名如ai、create_story_about_people_interaction也可以填一个自定义的.md文件路径——后者对应loadPattern中对文件路径的分支处理LooksLikePatternFilePath判断以/、~、.等开头的路径式模式名允许你脱离 pattern 数据库直接加载任意本地提示词文件。这对希望微调本模式提示词的用户非常实用复制一份system.md到自定义位置例如~/testpattern.md修改后直接在配置中指向它即可。4.4 模式的安装与更新模式文件由PatternsLoaderinternal/tools/patterns_loader.go负责从远程仓库拉取到本地data/patterns目录。首次使用前需执行设置fabric --setup后续可通过-U/--updatepatterns参数增量更新模式库更新过程会保留自定义模式目录中与官方重名的覆盖项PersistPatterns逻辑。若安装或更新失败可检查本地data/patterns目录下是否生成了loaded标记文件——这是判断模式库是否成功初始化的依据见movePatterns中os.Create(o.loadedFilePath)。五、提示词设计的心理学逻辑为什么它能写出好故事create_story_about_people_interaction的提示词在写作类 pattern 中属于分析前置型设计其方法论可以拆解为三个层次这也是它区别于普通写个故事指令的关键从显性到隐性要求构建综合心理画像且明确点名无意识驱动力、压抑倾向、更深层的心理图景。这迫使模型对输入进行深度归因而非复述表面特质。例如面对Person B 常压抑愤怒模型需要推断其愤怒的来源童年被忽视 → 表达需求从未被回应 → 习得性压抑。从单人到关系张力、吸引力、协同三个词的并置实际上覆盖了人际关系中三种基本动力学——排斥张力、趋近吸引力与互补协同。要求模型预测这些动力学如何体现等于先让人物关系在分析层面发生一次再让故事成为这次预演的具象化。从预测到演绎Step 3 的约束反映最可能的、符合心理学现实的结果与情节由互动驱动把叙事自由度限制在人物心理逻辑的必然性之内。这正是角色驱动character-driven与事件驱动plot-driven的分界线——前者要求结局是可推导的后者允许偶然性。从实现事实看这种分析 → 综合的管道式设计在 Fabric 的模式生态中是有先例的单人的 create_story_about_person/system.md 同样要求先分析画像 → 头脑风暴 3-5 个日常困境 → 设计应对策略 → 编织叙事且对故事长度约 500-700 词和基调共情、现实、避免过度戏剧化有明确约束而 model_as_sherlock_freud/system.md 则代表了仓库中另一条侦探推理 精神分析路线的心理建模思路。本模式可以视为两者的交集用精神分析式的画像精度服务于双人互动叙事的创作目标。六、与其他模式的协同工作流在实际使用中create_story_about_people_interaction往往不是孤立使用的可以与其他模式组成管道Fabric 支持fabric命令的管道串联前置人物信息提取。如果双人资料散落在长文本访谈记录、小说原文中可先用 extract_characters/system.md 提取人物并消解别名与代词获得结构化的人物描述后再组装成本模式的输入前置单人人格分析。先用 analyze_personality/system.md 分别对两人做单点深挖把输出合并成Person A / Person B格式再交给本模式做互动推演后置剧情片段扩展。故事生成后若需要把某一场相遇扩展成完整章节可参考 create_story_about_person/system.md 的日常困境 应对策略框架保持人物一致性后置润色与本地化。产出故事后可交给通用润色类模式统一语言风格。这种分析类模式负责精度、写作类模式负责表现的分工正是 Fabric 模式生态的设计哲学每个 pattern 解决一个窄而深的问题通过管道组合出复杂工作流。七、自定义与扩展打造你自己的双人互动模式Fabric 的 pattern 就是目录 system.md因此基于本模式改造自己的版本非常容易有两种推荐路径拷贝改名将create_story_about_people_interaction目录复制为自定义目录如data/patterns/my_story_pair/修改其中的system.md。可以调整的部分包括故事篇幅要求、文风如黑色幽默书信体、输出结构如增加对话摘录一节、或新增第 4 步后续发展预测。由于模式加载按目录名匹配新目录名即新模式名可直接fabric -p my_story_pair调用。使用变量参数化不改动 system.md 文件而是利用-v变量注入。例如在提示词中加入{{genre}}、{{word_count}}等占位符调用时通过-v#genre:noir -v#word_count:800动态调整。注意变量替换由applyVariables实现且{{input}}会被特殊保护具体行为可查阅 internal/plugins/db/fsdb/patterns.go 的applyVariables方法。自定义 pattern 时可以参考官方对模式结构的约定系统提示词置于system.md、可选用户提示词置于user.md并保持输入定界 输出分段的规范确保与其他工具链如 Web UI、REST API兼容。八、使用注意事项与边界基于模式定义与源码实现使用时有几点值得留意输入质量决定输出上限模式的一切深度分析都建立在输入信息的丰富度上。只给两行标签式描述模型只能产出扁平画像建议至少覆盖性格、动机、恐惧、背景四个维度并尽量提供行为证据如常过度工作回避冲突这类可观察行为而非空泛评价。心理学描述的推定性质模式输出的无意识驱动力属于模型的推断性解读不是临床诊断。若用于分析真实人物应将其视为创作假设而非事实结论尤其不应据此对真人下心理定论。虚构性提示模式第三步明确要求fictional narrative但输出内容本身不会自动标注虚构性。若创作涉及真实人物并可能公开传播建议在最终文本中自行添加虚构声明明确区分分析与虚构。长度与风格的默认值本模式未像create_story_about_person那样限定故事字数后者要求约 500-700 词输出篇幅取决于模型与上下文窗口。如需稳定篇幅建议通过变量或自定义版本文本加以约束。模式更新可能覆盖本地修改若直接在data/patterns下修改官方模式执行--updatepatterns时本地修改可能被官方版本覆盖如需持久自定义务必使用自定义目录或自定义文件路径pattern: ~/xxx.md方案。结语create_story_about_people_interaction是 Fabric 写作类模式中少见的心理学分析 双人关系推演 叙事创作三位一体模板它用严格的画像 → 对比 → 叙事流水线把写出符合人物性格的故事从一个模糊的创作愿望变成了一条可复现、可校验、可扩展的技术路径。理解其提示词结构能让你写出更好的输入理解其加载与调用机制internal/plugins/db/fsdb/patterns.go 的 system.md 读取与{{input}}注入则能让你更自由地定制它。无论是为虚构角色推演关系还是基于真实资料做叙事实验这个模式都值得放进你的 Fabric 工具箱。【免费下载链接】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),仅供参考
返回列表