news 2026/9/6 21:38:52

Fabric analyze_debate 模式深度解析:辩论内容分析的提示词工程全拆解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Fabric analyze_debate 模式深度解析:辩论内容分析的提示词工程全拆解

Fabric analyze_debate 模式深度解析:辩论内容分析的提示词工程全拆解

【免费下载链接】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 仓库内置的analyze_debate模式系统提示词 system.md 为核心,逐段拆解它的角色设定、推理步骤、八项结构化输出规范与防幻觉约束;并结合 chatter.go、patterns.go 等源码说明该模式如何被加载与执行,读完你可以完整复现一次辩论分析,并掌握 Fabric 提示词模式(Pattern)的编写范式。

模式定位:把辩论转录稿变成结构化分析

Fabric 将可复用的提示词组织成"模式"(Pattern),每个模式对应data/patterns/下的一个目录,核心文件为system.mdanalyze_debate就是其中一个官方模式,其目录data/patterns/analyze_debate/下仅包含一个 system.md,没有配套的 user 模板文件——这意味着辩论转录稿全文由用户消息直接提供,系统提示词负责定义"怎么分析"。

仓库内的两处元数据也印证了它的定位:

  • pattern_descriptions.json 中的官方描述:"Analyze debates identifying arguments, agreements, and emotional intensity."(分析辩论,识别论点、共识与情绪强度),标签为 ANALYSIS;
  • pattern_explanations.md 第 14 行的解释:"Rate debates on insight, emotionality, and present an unbiased, thorough analysis of arguments, agreements, and disagreements."(对辩论的洞察度与情绪度打分,并客观深入地分析论点、共识与分歧)。

它的目标读者是"时间有限、只愿意消费高质量内容"的人:模式通过量化打分帮助读者快速判断一场辩论值不值得投入时间,再给出论点、共识、分歧、误解、收获与行动建议的完整分析。

提示词骨架逐段拆解

整个系统提示词共 43 行,由四个一级标题组织:IDENTITY and PURPOSESTEPSOUTPUTOUTPUT INSTRUCTIONS,末尾以INPUT:作为转录稿的注入锚点。

IDENTITY and PURPOSE:中立裁判的角色锚定

You are a neutral and objective entity whose sole purpose is to help humans understand debates to broaden their own views.

第一段只定义三件事:身份是"中立、客观的实体",目标是"帮助人类理解辩论、拓宽自身视野",输入是"一段辩论的转录稿"。这种写法是典型的"角色锚定"——在模型输出任何观点之前,先用"neutral and objective"抑制立场倾向,后文所有"客观评估论点真伪"的要求都依赖这个前提。

STEPS:三步思考流程

- Consume the entire debate and think deeply about it. - Map out all the claims and implications on a virtual whiteboard in your mind. - Analyze the claims from a neutral and unbiased perspective.

三步分别对应:完整消费输入(避免遗漏)、在"心智白板"上建立论点-含义的映射(相当于让模型先做结构化梳理再作答)、以中立视角逐条分析。配合前一句 "Take a deep breath and think step by step",这是显式的 Chain-of-Thought 引导——要求模型先全局理解、再局部分析,而不是边读边下结论。

OUTPUT:八项硬性输出规范

这是提示词的核心部分,规定了输出必须包含的 8 个板块。每项都绑定了固定的标题文案、取值范围和词数约束,可整理如下表:

板块固定标题(必须逐字使用)内容要求取值范围/词数约束
洞察度评分INSIGHTFULNESS SCORE (0 = not very interesting and insightful to 10 = very interesting and insightful)对辩论的"有趣且有洞见"程度打分0(无趣无洞见)到 10(极有趣极有洞见)
情绪度评分EMOTIONALITY SCORE (0 (very calm) to 5 (very emotional))整场辩论的情绪激烈程度0(非常平静)到 5(非常情绪化)
参与者列表PARTICIPANTS参与者名单,每人附情绪度分每人 0~5
论点列表ARGUMENTS归因到具体参与者的论点摘要 + 姓名 + 原话引用,尽可能附外部参考来源每条摘要必须恰好 16 个单词
共识列表AGREEMENTS参与者达成的共识,附姓名与引用每条摘要恰好 16 个单词
分歧列表DISAGREEMENTS未能解决的分歧,附姓名与引用说明为何无法解决每条摘要恰好 16 个单词
可能的误解POSSIBLE MISUNDERSTANDINGS可能存在的误解,附姓名与引用说明其成因每条摘要恰好 16 个单词
收获与行动项LEARNINGS / TAKEAWAYSLEARNINGS 为辩论中的学习点;TAKEAWAYS 突出值得思考的想法、值得探索的来源和可执行事项每条恰好 16 个单词

几个细节值得单独说明:

洞察度评分的判分标准。提示词没有让模型自由发挥,而是给出了三条判分因子:参与者是否在做观点交换并试图理解对方;辩论主题是否新颖、未被普遍探讨;参与者是否达成了某种共识。同时要求"对评分保持高标准",面向的是时间有限、只找卓越观点的读者——等于把"从严评分"写进了评分规则,避免模型给出普遍性的高分。

16 个单词的硬约束。ARGUMENTS、AGREEMENTS、DISAGREEMENTS、POSSIBLE MISUNDERSTANDINGS、LEARNINGS、TAKEAWAYS 六个列表的每条摘要都被要求 "EXACTLY 16 words"。这种精确词数约束有两个作用:一是强制摘要高度浓缩,杜绝复述式长句;二是让输出条目长度均匀,便于后续做表格化或程序化处理。这是 Fabric 模式库中反复出现的"结构化压力"技巧,用形式约束换取信息密度。

防幻觉约束。在 ARGUMENTS 部分,提示词用大写反复强调引用外部来源时的三条红线:来源必须可信、可验证、易于访问;来源"BE REAL and NOT MADE UP";如果对论点真伪做客观评估,同样必须附可核查来源,并再次以大写 "DO NOT MAKE UP SOURCES" 收尾。由于模型在无检索能力时最容易在"外部参考"上虚构,这里等于对最易出错的环节做了双保险声明。

OUTPUT INSTRUCTIONS:输出纪律

- Output all sections above. - Do not use any markdown formatting (no asterisks, no bullet points, no headers). - Keep all agreements, arguments, recommendations, learnings, and takeaways to EXACTLY 16 words each. - When providing quotes, these quotes should clearly express the points you are using them for. If necessary, use multiple quotes.

四条纪律中,"不使用任何 markdown 格式(无星号、无列表符、无标题符)"要求模型用固定标题文案 + 纯文本段落组织输出——这与前面"标题必须逐字固定"配合后,整个输出对下游解析极其友好:消费者可以按 8 个固定标题切分文本,无需处理 markdown 语法差异。引用则被要求"清晰表达你要用它证明的观点,必要时可用多条引用",防止断章取义式的单句摘引。

源码视角:这个模式如何被加载与执行

理解了提示词本身,再看 Fabric 如何把它跑起来。

模式发现与读取。db.go 中NewDb初始化PatternsEntity时硬编码了SystemPatternFile: "system.md",即每个模式目录下的system.md就是系统提示词本体;patterns.go 中按filepath.Join(o.Dir, name, o.SystemPatternFile)拼接data/patterns/analyze_debate/system.md的路径来读取内容,自定义模式则从CustomPatternsDir下同名目录读取(db.go 支持通过环境变量CUSTOM_PATTERNS_DIRECTORY配置,且支持~/展开)。

模式下载与自定义模式保护。patterns_loader.go 中的PatternsLoader负责从 Git 仓库拉取模式:默认仓库地址常量DefaultPatternsGitRepoUrl指向上游 Fabric 仓库,默认目录常量DefaultPatternsGitRepoFolder"data/patterns"(即本仓库中模式的存放位置)。PopulateDB()的流程是:创建临时目录 →gitCloneAndCopy()拉取 →movePatterns()移入本地配置目录 →createUniquePatternsFile()生成unique_patterns.txt供命令补全使用。其中PersistPatterns()会在更新时把"新下载中不存在"的目录识别为自定义模式并原样保留,所以本地自建的analyze_debate变体不会被官方模式更新覆盖。此外gitCloneAndCopy()还包含一条路径迁移逻辑:当配置仍指向旧路径patterns时,自动探测并切换到data/patterns,这与本仓库的模式目录位置一致。

执行链路。聊天请求到达后,chatter.go 根据请求携带的变量情况调用o.db.Patterns.GetWithoutVariables(request.PatternName, request.Message.Content)GetApplyVariables(...)取出模式内容:analyze_debate没有{{variable}}占位符,走的是无变量分支,用户消息(即辩论转录稿)作为消息内容传入,提示词末尾的INPUT:标记就是内容的落点。随后系统提示词 + 转录稿一起送入所选 LLM。

测试佐证。patterns_test.go 用SystemPatternFile: "system.md"构造实体验证读写,path_traversal_test.go 则验证了模式名中..等路径穿越请求无法读到模式目录之外的文件,保证了按名取模式的边界安全。

实操:运行 analyze_debate

在已完成fabric初始化(模式已下载到本地配置目录)的前提下,典型用法有两种:

# 交互式:进入聊天后指定模式,粘贴辩论转录稿 fabric chat -p analyze_debate # 管道式:把转录稿直接灌入(仓库 README 中同类示例的写法) cat debate_transcript.txt | fabric -p analyze_debate

仓库 README.md 中的同类示例(fabric -u https://github.com/danielmiessler/fabric/ -p analyze_claimsecho "Analyze this code" | fabric --strategy cot -p analyze_code)说明了两种输入形态:一次性命令式与管道式。由于模式名会写入unique_patterns.txt,shell 补全(见 completions/ 目录下的 bash/fish 脚本)可以直接提示analyze_debate这类模式名。

使用限制:输出遵循提示词约定的 8 段固定标题与纯文本格式;"16 词"约束对英文模型执行较严格,中文输出时模型可能按"字"或"词"的不同切分理解,对词数敏感的下游解析建议以英文输入/输出为准。

可复用的提示词工程要点

analyze_debate可以提炼出 Fabric 模式库反复验证过的几条写法:

  1. 角色先于任务:开头用一句话锁定"中立、客观"身份,为后文的"客观评估真伪"提供立场基础;
  2. 评分规则量化:双量表(洞察度 0-10、情绪度 0-5)各自给出端点定义与判分因子,并要求"从严评分",避免模型趋中给分;
  3. 固定标题 + 禁用 markdown:输出结构以逐字固定的标题串组织、显式禁止 markdown 语法,换取可被稳定切分解析的纯文本;
  4. 词数硬约束:EXACTLY 16 words 的摘要约束强制浓缩,是低成本的信息密度开关;
  5. 针对最脆弱环节的防幻觉条款:外部引用"BE REAL and NOT MADE UP"、"DO NOT MAKE UP SOURCES" 用大写重复强调,直击 LLM 最容易虚构的环节;
  6. CoT 前缀 + 白板隐喻:"Take a deep breath and think step by step" 与 "virtual whiteboard" 引导模型先全局梳理再逐条分析。

若你希望为 Fabric 新增自己的分析模式,可直接参考 official_pattern_template 与create_pattern模式,按data/patterns/<模式名>/system.md的目录约定编写,并通过 patterns_loader.go 描述的机制将其纳入本地模式库使用。

【免费下载链接】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/6 21:35:28

一份看懂 .NET 发布动态的仓库:版本、补丁与支持期全收录

一份看懂 .NET 发布动态的仓库&#xff1a;版本、补丁与支持期全收录 【免费下载链接】core .NET news, announcements, release notes, and more! 项目地址: https://gitcode.com/GitHub_Trending/core82/core 这个仓库是 .NET 官方的发布说明与新闻归档&#xff0c;把…

作者头像 李华
网站建设 2026/9/6 21:30:55

如何15分钟装好IOPaint:零基础跑通AI修图

如何15分钟装好IOPaint&#xff1a;零基础跑通AI修图 【免费下载链接】IOPaint Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pict…

作者头像 李华
网站建设 2026/9/6 21:29:08

GoodbyeDPI 完全上手:Windows 上绕过运营商 DPI 的完整教程

GoodbyeDPI 完全上手&#xff1a;Windows 上绕过运营商 DPI 的完整教程 【免费下载链接】GoodbyeDPI GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows) 项目地址: https://gitcode.com/GitHub_Trending/go/GoodbyeDPI 打开一个网站&#xff0…

作者头像 李华