
最近好几个做公众号运营的朋友跑来问我同一个问题扣子Coze上的Bot能不能拿来“批量生产”爆款文章我的回答通常是反问一句——你要的是一篇文章还是一条流水线如果只是让Bot现写一篇那你大概率会得到一篇“看起来还行、发出去没水花”的通用内容。真正能稳定产出、可复用、可调优的路径是把选题、标题、素材、正文、审核、排版这些环节拆开做成一套Skill技能流水线。这篇文章就是来分享我搭建这套【公众号爆款文章流水线】的全过程为什么我不把“写爆款文”直接塞给Bot提示词而是拆成多个Skill每个Skill怎么设计描述、参数和兜底逻辑中间踩过哪些坑以及最后怎么把成稿顺畅接回公众号后台。适合正在用扣子做内容工具的运营、对AI工作流感兴趣的开发者还有想给团队搭一套“半自动内容中台”的人参考。1. 为什么我不直接把“写爆款文”塞给Bot而要做成Skill流水线1.1 一次劝退的尝试一个Prompt全包的下场最早我图省事把网上流传的“爆款文章十大技巧”全部写进一个Bot的系统提示词里开头要制造悬念、每300字一个小高潮、多用短句、结尾引导转发……听起来很全实际跑起来问题一大堆。第一个问题是上下文相互污染。提示词太长之后模型在写后半部分时经常把开头的要求忘掉写着写着变成另一种文风。第二个问题是输出极度不稳定同一批选题上午跑和下午跑出来的文章结构能差出好几层楼。第三个问题最致命你没法往里插数据。热点名单、违禁词表、对标账号的高赞素材这些本该“喂”给模型的东西全部挤在提示词里又乱又占token效果还差。那一刻我意识到问题不在提示词技巧而在容器。你硬要一个Bot同时完成检索、创作、审核、排版四件事它当然会顾此失彼。正确的做法是把这些能力拆出去让专业模块干专业的事。1.2 Skill的真正边界一个自带说明书的能力单元扣子平台的Skill机制说白了就是把一项能力封装成一个“自带说明书的小工具”。它由三部分组成一段描述说明什么时候该用我、一张参数表说明需要哪些输入、一段操作说明说明具体怎么执行。我更喜欢用一个类比来理解Bot是车间主任Skill是工位上的专用机床。车间主任负责听订单、派活但他不亲自拧螺丝每一台机床只干一件事但干得又快又稳。你和Bot说“帮我做今天的公众号选题”Bot听完会发现这属于“爆款选题扫描”这个Skill的职责范围于是自动调用它把结果拿回来继续和你对话。这里容易混淆的是插件、工作流和Skill的关系。我的理解是插件偏重外部API连接工作流偏重多步骤编排而Skill是一种更轻、更聚焦的能力封装它既可以内部对接一个工作流也可以对接插件。你可以把Skill当成“函数”把工作流当成“主程序”。1.3 流水线化的收益换零件比换整机容易拆成Skill流水线之后最大的变化是想换哪个环节只换那个环节。比如我发现标题生成质量不行就单独调试“爆款标题”这个Skill不用动整个Bot公众号平台审核规则变化我只需要更新“敏感词过滤”Skill的词表其它环节原封不动。另一个隐性收益是可复制性。同一套流水线换一个知识库换一组选题种子就能从职场赛道切到情感赛道。Skill是标准化零件换个赛道只是换原料不用重造生产线。这套思路比折腾一个万能Bot要省力太多。2. 爆款文章流水线的整体拆解从热点捕捉到成稿发布2.1 六个环节的分工我把完整的流水线分为六个环节每个环节都是一个独立Skill。刚开始不用六个全做可以先从两三个跑起来再慢慢补全。环节输入Skill动作输出选题扫描领域关键词抓取或检索热点话题评估爆款潜力结构化选题列表标题生成选定的选题基于爆款公式生成多组备选标题标题候选及推荐理由素材检索选题标题方向从知识库检索相关案例、数据、金句素材片段列表正文创作选题标题素材按公众号文章结构成稿Markdown正文质量勘验成稿敏感词过滤、AI味检测、结构检查问题清单修订建议排版发布修订后的成稿转换公众号排版格式、生成摘要和配图建议可直接粘贴的成稿包表里每一行都是一个Skill我在扣子平台里分别创建、分别测试。这样做的坏处是前期配置量稍微大一点好处是后期几乎不需要返工。2.2 数据如何在节点之间流动流水线跑起来之后节点之间传递的是结构化数据也就是JSON。比如“选题扫描”Skill输出的不是一大段聊天文本而是下面这种格式{ topic: 一线城市年轻人租房降级, category: 职场生活, hot_score: 82, evidence: [某租房平台报告显示换租率上升, 社交平台相关讨论近一周增长明显], suggested_angle: 从消费观念转变切入不贩卖焦虑 }为什么要坚持结构化三个原因。第一下一个Skill能直接读取字段不用再从自然语言里二次解析第二中间任何一步你都可以人工介入检查这条数据值不值得继续往下走第三日志可追溯哪条选题火、哪条选题扑街回头能对应到当时的评分字段。我在早期犯过一个错让Skill之间传散文结果后一个Skill经常“理解偏”把前一步的想法改了。后来统一改成字段传递出错率直线下降。2.3 动手前要准备的四类资料正式搭建前我建议先把下面四类资源备好不然搭到一半会卡壳。公众号专属知识库自己的历史高阅读文章、对标账号的高赞内容、行业报告片段这是素材检索的底料。热点数据源或选题种子表不一定非要接官方热点API一张每周人工更新的选题表也能用。违禁词与极限词清单广告法极限词、平台高频拦截词整理成文本或表格备用。配图来源的备选方案先不求自动生成图片至少要能输出“配图搜索关键词”。我的建议是先别追求全自动。把流水线调成“半自动”机器跑前几步人工在关键节点确认跑顺了再逐步放开。3. 把“爆款选题扫描”做成第一个Skill3.1 Skill描述怎么写Bot才愿意请你上班先别急着接接口你要让Bot知道什么时候该调用这个Skill。扣子的Skill描述里除了写清功能更要写清“触发场景”。我首版只写了“扫描爆款选题”结果Bot动不动就在闲聊里调用它把我烦得不行。后来改成了这样name: 爆款选题扫描 description: - 当用户要求生成公众号选题、提供热点话题方向、评估某个话题是否有爆款潜力时 必须调用此Skill。用户输入可以是单一行业关键词如职场也可以是模糊场景如最近写什么容易火。 不要在用户询问无关知识、闲聊情感话题时调用本Skill。重点在于“何时不要调用”。这个负向约束比正向描述更能减少误触。模型先判断用户意图是否落在描述范围内再决定要不要调用所以你写清楚边界它就不容易自作主张。3.2 参数Schema越少越好够用就行Skill的参数表就是告诉Bot要干活需要哪些信息。我只设计了三个字段能用最少的参数尽量最少。{ type: object, properties: { field: { type: string, description: 选题领域例如职场、情感、科技、生活必填 }, num: { type: integer, description: 需要返回的选题数量默认5 }, recency: { type: string, description: 时效性要求可选recent或all默认recent } }, required: [field] }为什么参数越少越好因为Bot要把你的话翻译成参数参数越多它填错、漏填的概率越大。我第一次还加了个“目标人群年龄段”结果Bot经常推断不出来干脆拿默认值顶替反而害得选题方向跑偏。现在这三个字段Bot基本不会填错。3.3 冷启动与兜底没有热点API也能跑起来如果你没有官方热点数据接口也不用卡在这一步。我的冷启动方案是内置一张每周手工维护的“选题种子表”然后让Skill内部按逻辑拆成两个动作。第一个动作是读种子表和热点关键词找出候选话题第二个动作是让大模型结合当前季节、行业新闻、公众情绪把候选话题改写扩充成几个完整选题并给每个选题打一个爆款潜力分。打分维度我一般固定审查三个点有没有情绪张力、有没有认知反差、有没有转发理由。这样即使数据源很朴素产出依然能用。核心逻辑是Skill不等于API调用它完全可以内部封装一段逻辑或一个小型工作流。等以后接上了真正的热点接口只需要替换这个Skill的内部逻辑外层一切不变。4. 用知识库给文章注入“独家素材”RAG Skill的搭建细节4.1 为什么非要用RAG而不是让大模型自由发挥选题定了标题有了接下来最要命的是素材。公众号文章的分水岭就在这里——同一个话题有案例、有数据、有故事的文章阅读完成率和转发率都明显更高没有素材硬写的往往空泛。如果让大模型自由发挥它确实能编出像模像样的案例但那些案例你在网上搜不到出处一旦被读者质疑账号信誉就塌了。RAG检索增强生成解决的就是这个问题模型不直接凭记忆写而是先从知识库里检索相关素材片段再基于这些片段创作。这样写出来的文章至少有一个好处——素材有据可查不是凭空捏造。4.2 知识库建设先收集哪些内容、怎么切分我在扣子平台的知识库里建了一个“公众号素材库”第一批只放三类内容。第一类是自己账号近30篇阅读量靠前的文章这是风格基准后续文章要保持语言风格一致第二类是对标账号的高赞选题和金句用来分析什么表达方式能打动人第三类是公开的行业报告、数据新闻摘要用来给文章提供论据支撑。切分策略我踩过坑。最初一篇文章切成一段几千字塞进去召回时模型读起来又长又乱。后来改成每500字左右切一段并在元数据里标记来源、日期、内容板块召回时就可以按板块过滤。4.3 Skill接口与召回逻辑不是查得越多越好“素材检索”这个Skill的接口我设计得很简单只有三个参数query核心主题、top_k返回片段数量默认5、板块过滤可选。经验是top_k不要贪多。我试过返回10条以上素材结果模型写出来像“素材拼盘”结构松散主线不清晰。现在固定5到8条每条控制在三四百字对模型来说刚好是“有料但不抢戏”的状态。Skill返回的素材也做成了结构化格式每条包含片段内容、来源标题、发布时间、可引用性建议。后续正文创作Skill看到这些字段就知道哪段可以直接引用、哪段只能参考思路。这一步做细了正文创作的质量会明显上一个台阶。5. 发布级质量关卡敏感词过滤与原创自查的落地姿势5.1 敏感词为什么是爆款文翻车的重灾区很多做号的朋友只关心“写得好不好”却忽略了“发得出去发不出去”。一条涉嫌违规的表述轻则限流重则删文账号权重掉得很厉害比文章平庸要伤得多。敏感词不只是“听起来不礼貌的词”更包括广告法里的极限词像“最”“第一”“国家级”“顶级”这类表述在公众号生态里很容易触发审核。还有夸大功效、绝对化承诺的表达。最麻烦的是变体词——错别字、谐音、特殊符号插入纯词表匹配经常抓不到。所以我做了双重过滤。第一层用词表匹配速度快能拦截大部分明文违规词第二层用大模型做语义审核专门识别那些“词表里没有但语境上很危险”的变体表达。比如把“最便宜”写成“zui便宜”或者用近音词绕过的模型都能识别出来。5.2 双重过滤的Skill设计“质量勘验”Skill内部调用了一个简单工作流读取成稿正文按段落拆分成待检单元第一层词表匹配命中即标记“高风险词”并给出所在段落第二层大模型语义审核输入整篇文章输出风险清单和违规类型判断汇总两份结果去重合并生成修订建议。这里有个细节不要只输出“有风险”还要输出“为什么有风险”和“怎么改”。比如识别出极限词建议同时给出替换词候选。我见过很多过滤器只会喊狼来了不给解决方案运营还得自己查半天到底哪里违规体验非常差。5.3 原创度与“AI味”自查让文章更像真人写的除了合规还要解决“一眼AI”的问题。我把判断标准写进了同一个Skill的第二阶段让模型检查三件事固定连接词占比、段落长度是否过于均匀、是否大量使用排比句堆砌。给它的提示词大概是这么写的请检查下面的文章是否存在AI写作痕迹重点关注 1. 是否高频出现首先/其次/最后/总的来说/值得注意的是等结构性连词 2. 段落长度是否几乎一致缺少错落感 3. 是否连续出现三段以上相似结构的排比句。 针对每处疑似痕迹给出替换思路。输出格式问题位置 | 判断依据 | 修改建议。比起让模型“改写得更像人”给它明确检查项的效果更好。因为它一旦“自由发挥”去模仿人类口吻反而容易用力过猛变得矫揉造作。按清单检查、定向修改更可控也更可复现。6. 从文章到公众号排版适配和发布链路的顺滑衔接6.1 Markdown到公众号的坑编辑器不认标准格式写到这一步你会得到一篇漂亮的Markdown正文。别高兴太早公众号后台编辑器不认标准Markdown直接粘过去标题层级、列表、引用块全都乱掉。我的做法是加一个“公众号成稿Skill”专门负责格式转换。转换规则我调过好几轮现在固定的方式是一级二级标题太占版面正文里只保留三级标题引用块转成浅色底纹的强调段落适合放在开头点题或文末总结有序列表、无序列表保留但每条不超过两行代码块在正文中基本不用技术类内容单独做截图所有图片位用占位符标注方便后续插入配图自动生成一句摘要和三个话题标签一并输出。这里有个经验排版Skill不要只给转换规则最好把输出格式做成示例模板给模型看一遍。大模型对“示例”的理解力远高于“规则描述”给一个三段式的正文样例转换效果立刻稳定很多。6.2 配图与卡片推荐不生成图只给选图线索自动生成配图在公众号场景里还不太实用主流做法是编辑自行选图。所以我把配图环节做成“给线索”而不是“给成品”。“成稿Skill”会把正文拆成若干段落然后针对每段提取三个配图关键词同时给一个整体封面建议包括风格方向、主体元素、文字叠加强调内容。输出格式长这样{ cover_suggestion: { scene: 城市夜景下的出租屋窗口, style: 真实摄影风格低饱和色调, text_overlay: 降级不是认输是换一种活法 }, inline_images: [ {position: 第三段后, keywords: [合租改造, 收纳前后对比, 年轻人的小空间]} ] }运营拿到这份提示去图库搜图基本五分钟内能定稿比从前一篇篇翻图库高效得多。6.3 测试后的最终节点编排所有Skill都建好后我在扣子平台里把它们编排成一条完整流水线选题扫描 → 标题生成 → 素材检索 → 正文创作 → 质量勘验 → 公众号成稿。关键一步是给每个节点留“人工确认”的开关。前期我全程开着每个节点输出都先过一遍肉眼发现问题立刻回炉跑了两周稳定之后我才把前两个节点选题、标题放开为自动后面的正文、审核仍保留人工复核。测试中我发现一个高频坑正文创作Skill偶尔会把素材检索返回的内容原样复制大段导致查重风险。后来我在正文创作的输入说明里加了一句话——“引用素材时只提炼观点和信息不要连续照搬原句”这个问题基本消失。这种细节不实际跑一遍很难发现。最后说两句大实话这套流水线我从搭建到跑稳前后改了四版。最大的体会是搭Bot真正难的不是把问题丢给大模型而是把一个“模糊写文章”的需求拆成一个个边界清晰、可独立测试的Skill。你拆得越细每个环节就越容易调优整体输出就越稳定。最后分享一个小技巧在每个Skill的描述里除了写清“何时调用”一定要写清“何时不要调用”。负向描述能大幅减少误触这比反复调整系统提示词管用得多。内容创作这件事没有一劳永逸的万能Prompt但一条能不断换零件的流水线会越跑越顺手。