1. 从零开始:为什么你需要一个公众号AI创作智能体

如果你和我一样,曾经为了运营一个公众号而绞尽脑汁,那你一定懂那种痛苦:选题想到头秃,标题改了又改,大纲写了又删,好不容易憋出几百字,还得四处找配图。一天下来,一篇像样的文章都产不出,更别提保持日更了。这还不是最糟的,当你费尽心思写完,发布后阅读量却寥寥无几,那种挫败感,真的会让人想放弃。

但时代真的变了。以前这些让我们抓狂的“创作体力活”,现在完全可以交给AI来搞定。我说的不是简单地让AI帮你写一段话,而是构建一个全自动的、高质量的内容生产线。你只需要提供一个核心主题,剩下的——从策划爆款标题、生成逻辑严谨的大纲,到撰写每一部分的正文、生成风格匹配的配图,最后整合成一篇可以直接发布的公众号图文——全部由AI智能体自动完成。这听起来是不是像天方夜谭?但这就是我今天要跟你分享的,基于扣子平台打造公众号图文自动化工作流的实战经验。

我花了差不多一个月的时间,反复调试和优化这个工作流,踩了不少坑,也总结了很多实用的技巧。现在,我的好几个垂直领域公众号,日常更新已经完全依赖这个智能体。它帮我节省了至少80%的创作时间,让我能把精力集中在更重要的运营和策略思考上。更重要的是,由于工作流融入了爆款内容的方法论,文章的打开率和传播效果比我自己拍脑袋写的还要好。

所以,无论你是一个想尝试自媒体副业的上班族,还是一个苦于内容产能不足的小团队运营者,这个从零到一的自动化创作方案,都值得你花时间深入了解。它不是一个遥不可及的概念,而是一套可以立刻上手、效果立竿见影的实战工具。接下来,我就带你一步步拆解这个“爆款制造机”是如何搭建起来的。

2. 核心设计:模块化与“分而治之”的工程思维

在动手搭建之前,我们必须先理解设计这个自动化工作流的核心思想。很多人一上来就想让AI直接写一篇3000字的长文,结果往往得到的是结构松散、车轱辘话来回说的内容。这是因为当前的大语言模型在生成长文本时,存在注意力分散和逻辑连贯性不足的天然短板。直接让它“一口吃成个胖子”,效果肯定不会好。

我的解决方案是 “分而治之” 。这其实是一个经典的计算机算法思想,用在这里恰到好处。我们把一篇完整的文章创作,拆解成多个独立的、边界清晰的小任务。比如,先解决“标题”,再解决“大纲”,然后把大纲拆成五个部分,分别生成内容。每个任务都由一个专门的“小专家”(即工作流中的一个节点)来处理,最后再把所有成果像拼积木一样组装起来。这样做有几个巨大的好处:

第一,质量可控。 每个节点都可以被精心设计和优化。比如,生成标题的节点,我可以给它灌输一整套爆款标题公式;生成大纲的节点,我可以要求它必须遵循“金字塔原理”或“SCQA”结构。每个环节都专注做好一件事,整体质量自然就上去了。

第二,灵活可调。 如果我觉得文章开头部分写得不够吸引人,我不用推翻重写整篇文章,只需要调整“第一部分内容生成”这个节点的指令,或者替换一个更擅长写引言的模型。这种模块化的设计,让后续的迭代优化变得非常轻松。

第三,流程稳定。 一个复杂的长任务被拆分成多个短任务后,每个任务的执行成功率都更高,不容易因为中间某个步骤的意外错误导致全盘皆输。工作流引擎可以清晰地管理每个节点的输入输出,整个流程就像一条精密的流水线。

基于这个思想,我设计的公众号自动化工作流,主要包含了以下几个核心模块:

  1. 信息收集与确认模块:负责与用户交互,收集文章主题、作者等必要信息。
  2. 爆款标题生成模块:基于主题,批量生产多种风格的候选标题。
  3. 文章大纲规划模块:根据选定标题,生成结构清晰、部分均衡的文章大纲。
  4. 分段内容生成模块:并行或串行地根据大纲的每一部分,生成详细的正文内容。
  5. 智能配图生成模块:为每一部分内容生成对应的封面插图。
  6. 内容整合与发布模块:将文字和图片组装成公众号格式,并调用接口上传至草稿箱。

整个流程的数据像流水一样,从一个模块传递到下一个模块。而实现这种数据流转的关键,就在于扣子平台提供的代码节点。它就像流水线上的机械臂,负责把上一个环节的产出(比如一段JSON文本)抓取过来,拆解、处理,然后转换成下一个环节需要的形式。没有它,各个AI节点之间就是信息孤岛。接下来,我们就进入实战环节,看看每个模块具体是怎么搭建的。

3. 实战搭建:一步步构建你的自动化流水线

3.1 智能体的人设与交互设计

在扣子上创建一个新的智能体,第一步不是急着画工作流,而是想好它的“人设”。这决定了它如何与用户对话,直接影响用户体验。我的设定是“一个专业且严谨的自媒体写作助手”。为什么这么设?因为涉及到后续的公众号发布,需要获取AppID和AppSecret这样的敏感信息,必须给用户一种可靠、严谨的感觉。

在“基础信息”里,我会这样填写:

  • 名称:公众号图文创作助手
  • 描述:专注于高效、高质量地完成公众号图文从选题到发布草稿的全流程自动化创作。
  • 系统指令(角色设定)
    你是一个专业且严谨的自媒体写作助手,能够高效引导用户完整、准确地填写文章所需信息。你的核心任务是收集四项关键信息:AppID、AppSecret、文章主题、文章作者。你必须严格按照流程操作,一项一项地询问,确保用户填写无误。在用户确认所有信息前,不执行任何其他操作。
    

接下来是关键:技能配置。这里我配置了两个核心技能,模拟了一个简单的对话状态机。

技能一:文章信息收集。 这个技能被设置为“默认开启”。当用户说“写一篇公众号文章”或任何触发意图时,智能体就会启动这个技能。它的逻辑是线性的:

  1. 首先询问:“请输入您的微信公众号AppID。”
  2. 用户输入后,接着问:“请输入您的微信公众号AppSecret。”
  3. 然后问:“请输入本次的文章主题。”
  4. 最后问:“请输入文章作者署名。”
  5. 每步都检查,如果用户输入为空,就友好地提醒补全。

当所有信息收集完毕后,智能体会将信息汇总成一条清晰的消息反馈给用户,并等待确认。这一步至关重要,是防止误操作的保险栓。

技能二:处理确认信息。 这个技能监听用户的“确认”指令。当用户回复“确认”后,技能被触发。它要做的事情很简单:将收集到的四个参数(AppID, AppSecret, 主题, 作者)打包,然后调用我们即将构建的核心工作流。如果用户回复其他任何内容,则自动跳转回技能一,重新开始信息收集流程。

这个人设和技能设计,确保了整个流程的入口是清晰、友好且安全的。用户感觉是在和一个有章法的助手对话,而不是面对一个冷冰冰的自动化脚本。

3.2 工作流骨架:从开始节点到标题工厂

信息确认后,就进入了核心的“auto_post_article_to_wechat”工作流。在工作流编辑界面,我们首先添加一个开始节点。这个节点定义了工作流启动所需的全部输入参数,也就是从智能体对话中传过来的那四个:app_id, app_secret, theme, author。配置好后,这些变量就可以在工作流后续的所有节点中被引用了。

紧接着,我们放置第一个重量级节点:爆款标题生成大模型节点。这是内容的“第一印象”,决定文章打开率的生死线。我在这里下的功夫最多。你不能只对AI说“生成一个好标题”,那太模糊了。你必须把爆款标题的“套路”教给它。

我的提示词(Prompt)扮演了一个“微信公众号爆款标题创作专家”的角色。我赋予了它10项技能,对应9种经过市场验证的标题类型:

  1. 关键词吸睛式:融入人群标签、升维词汇、名人热点。
  2. 冲突反差式:利用数字对比、认知矛盾制造张力。
  3. 提问式:直击读者痛点,引发好奇。
  4. 悬念式:用省略号或场景描述,吊足胃口。
  5. 场景式:描绘具体、共鸣感强的场景。
  6. 经验分享式:直接承诺干货、技巧、经验。
  7. 情绪式:煽动焦虑、共鸣、自豪等情绪。
  8. 强调式:使用“千万”、“必须”、“刚刚”等强调词。
  9. 直言式:清晰明了,直指核心。

对于每一种类型,我都给出了明确的创作步骤和严格的JSON输出格式示例。例如,对于“冲突反差式”,我会要求AI先“分析主题中可形成数字对比或认知矛盾的点”,再基于此创作标题,并输出思路说明。最后,我强制要求AI以包含9个对象的JSON数组格式输出,每个对象都有title_type, title, idea三个字段。

这样设计后,这个节点一次性能产出9个风格迥异、思路清晰的标题选项,相当于一个“标题工厂”。在实际使用中,我常常会被AI生成的某些标题惊艳到,它们确实抓住了我没想到的切入点。

3.3 数据流转的中枢:代码节点的妙用

标题工厂生产出了一堆“产品”(JSON数组),但下一个节点——比如生成封面图的插件——它只需要一个标题字符串作为输入。怎么把数组里的第一个标题拿出来呢?这就需要代码节点出场了。

我在标题生成节点后,立刻添加了一个Python代码节点。它的任务非常专一:解析上游传来的JSON数组,提取出第一个标题(及其思路),并输出为独立的变量。代码如下:

import json

async def main(args: Args) -> Output:
    params = args.params
    # 上游大模型节点的输出,通常是一个字符串,需要先解析成JSON
    data_array = json.loads(params["input"])
    # 为了简化演示,这里直接选取第一个标题。你可以在这里添加更复杂的逻辑,比如让用户选择,或者根据“思路”评分自动选择最好的一个。
    selected_data = data_array[0]

    ret: Output = {
        "title": selected_data.get("title"),  # 提取标题文本
        "idea": selected_data.get("idea")     # 提取创作思路
    }
    return ret

这个简单的节点是整个工作流的第一个数据转换枢纽。它把AI生成的、对人类友好但不利于程序处理的复杂结构化数据,拆解成了干净、独立的变量(titleidea)。后续的所有节点,都可以直接引用{{title}}{{idea}},而不用再去处理那坨复杂的JSON。这就是模块化设计的精髓所在:每个节点只关心自己的输入和输出,接口清晰。

3.4 内容骨架:让AI成为你的大纲策划师

有了一个吸睛的标题,接下来就要规划文章的“骨架”——大纲。我添加了一个大模型节点,专门负责这件事。它的提示词角色是“文章大纲创作专家”。

我要求它做几件事:首先,根据我们提供的{{theme}}(主题)、{{title}}(选定标题)和{{idea}}(思路),判断文章所属的专业领域,以便调用更准确的知识。然后,将文章平均划分为5个部分。请注意“平均”这个词,这能有效避免AI把大部分篇幅都花在开头,导致虎头蛇尾。

最关键的是,我要求它为每个部分不仅生成一个小标题(如“一、痛点分析:你为什么总是效率低下?”),还要生成具体的编写要求。这个编写要求会详细描述这部分该写什么重点、采用什么风格、字数大概多少。例如:“第一部分编写要求:从日常办公场景切入,列举3-4个常见的效率低下表现,引发读者共鸣。语言口语化,略带焦虑感,字数控制在300字左右。”

最后,我同样强制它以特定的JSON格式输出。这个格式包含了5组“大纲标题”和“编写要求”的键值对。输出之后,你猜到了,我们又需要一个代码节点来把这个JSON拆开。这个节点的代码和上一个类似,就是把t1, r1, t2, r2...一直到t5, r5这10个变量分别提取出来,方便后面5个内容生成节点各自领取自己的任务。

通过这两个节点(大纲生成+代码解析),我们得到的不再是一个模糊的“写一篇关于XXX的文章”指令,而是5份清晰、具体的“写作任务书”。接下来,就可以让AI“开工”了。

3.5 并行创作:分段生成与智能配图

这是工作流中最体现“自动化”威力的一环。我们有了5份任务书(t1, r1 ... t5, r5),就可以并行地生成内容。在扣子工作流中,我添加了5个大模型节点,分别对应文章的第一到第五部分。

每个节点的提示词模板是相同的,但输入变量不同。以“第一部分内容生成”节点为例,它的提示词大致如下:

你是一个专业的文章创作智能体。这是文章的完整大纲:{{full_outline}}。你的任务是专门负责创作 **{{t1}}** 这一部分。请严格遵循以下要求进行创作:{{r1}}。请确保你的内容与大纲中其他部分协调一致。

这里有个技巧:我把完整的大纲(full_outline)也作为上下文输入了。这能帮助AI在写自己这部分时,心里装着整篇文章的结构,保证逻辑连贯,避免重复或跑题。t1r1则给了它最具体的指令。

配置好一个节点后,直接复制粘贴出另外四个,然后分别修改它们的输入变量引用为t2/r2t3/r3...即可。这样,当工作流执行时,这五个节点理论上可以并行运行,大大缩短了整体生成时间。

文章不能光有文字,配图同样重要。我为每一个内容部分都搭配了一个文生图插件节点(例如ByteArtist)。图片的提示词(Prompt)就直接使用对应部分的大纲标题t1t5。比如,如果t1是“人工智能的三大核心驱动力”,那么配图的提示词就可以是“{{t1}},科技感,抽象,蓝色调,简洁”。你还可以固定图片的宽高比(如公众号封面常用的900*383),确保生成图片的尺寸合适。

于是,我们通过5个内容节点和5个配图节点,并行产出了文章的5段正文和5张配图。所有原材料都已准备就绪,就差最后一步:组装。

3.6 最终组装:一键生成与发布准备

最后的汇总结点,我再次使用了一个代码节点。它的任务是把前面10个节点(5段文字+5张图片)的产出,按照公众号图文的Markdown格式,严丝合缝地拼接起来。

代码如下:

async def main(args: Args) -> Output:
    params = args.params
    # 接收所有上游输入的变量
    t1 = params["t1"]
    t2 = params["t2"]
    ... # 省略t3-t5
    content1 = params["t1_output"]  # 第一部分生成的正文
    content2 = params["t2_output"]
    ... # 省略content3-content5
    img1_url = params["t1_img"]  # 第一部分的图片URL
    img2_url = params["t2_img"]
    ... # 省略img3-img5

    # 按照公众号常见的图文格式进行组装:一级标题 + 正文 + 图片
    final_content = f"""
# {t1}

{content1}

![]({img1_url})

# {t2}

{content2}

![]({img2_url})

...(后续部分格式相同)
"""
    ret: Output = {
        "article_content": final_content,
        "author": params["author"]  # 把作者信息也传下去
    }
    return ret

这个节点输出的,就是一篇格式完整、图文并茂的公众号文章草稿。你可以直接把这个内容复制到公众号编辑器里。但我们的目标是全自动,所以还可以在最后接上一个微信公众号插件节点(需要你在扣子平台配置好你的公众号开发者信息)。将app_id, app_secret, article_content, author等信息传入插件,它就能自动将这篇草稿上传到你的公众号后台素材库。

至此,一个完整的、端到端的公众号图文自动化创作流水线就搭建完成了。从用户输入一个主题开始,到一篇待发布的文章出现在公众号草稿箱,全程无需人工干预。

4. 优化与进阶:让你的智能体更聪明可靠

搭建出基础版本只是第一步,要让这个工作流真正成为你的“爆款助手”,还需要持续的优化和迭代。这里分享几个我实践中总结的进阶技巧。

第一,标题选择策略的优化。 基础版中,我们简单地选择了第一个标题。这显然不够智能。一个更好的方案是引入一个标题评分节点。你可以再添加一个大模型节点,角色设定为“标题评分师”,让它根据爆款潜力、与主题的相关度、新颖度等维度,给9个标题分别打分。然后,在代码节点中,不再写死选择第一个,而是编写逻辑,自动选取分数最高的那个标题。甚至,你可以把前三个高分的标题都输出,让用户在对话中做一个快速选择,增加交互性和可控性。

第二,内容质量的精细调控。 五个内容生成节点使用相同的提示词模板可能不够。你可以针对文章不同部分的特点进行微调。例如,对于“引言”部分(通常是第一部分),提示词可以强调“吸引眼球、抛出问题、引发共鸣”;对于“核心论点”部分,强调“逻辑严谨、数据支撑、案例详实”;对于“结尾”部分,强调“总结升华、呼吁行动、留下思考”。通过给不同节点“因材施教”,整篇文章的节奏感和专业性会更强。

第三,配图风格的统一与美化。 直接用大纲标题作为文生图提示词,有时生成的图片风格差异很大。你可以在提示词中加入风格锚定词。比如,在所有图片节点的提示词开头都加上“简约扁平插画风格,明亮色调,商业感”,这样生成的5张图片就会有一致的视觉风格,文章质感瞬间提升。你还可以利用代码节点,将上一段生成的文章内容进行摘要,用摘要作为配图提示词,让图片与内容关联更紧密。

第四,引入人工审核环节。 全自动并不意味着完全放任。你可以在工作流的最终输出之前,插入一个条件判断节点。例如,将整合好的文章内容先发送到一个“预览”频道,或者通过钉钉/飞书机器人推送给你。你快速浏览后,回复“通过”,工作流才继续执行发布到草稿箱的操作;如果回复“修改”,则可以让智能体根据你的简短反馈(如“开头不够吸引人”)进行某一局部的重写。这个“人机回环”能有效把控最终内容的质量底线。

第五,处理异常和长文本。 在实际运行中,可能会遇到网络超时、AI生成内容不合规等问题。扣子工作流支持设置节点的重试机制和失败处理。对于长文章,如果每个部分超过模型单次响应限制,可以在内容生成节点的提示词里明确要求“输出约500字”,并通过代码节点在汇总结点时自动拼接。更复杂的,你可以让大纲节点决定将文章分成更多部分(如7-8部分),然后动态创建对应数量的生成节点,但这需要更高级的流程控制逻辑。

持续优化这个工作流的过程,本身就像在打磨一个产品。每一次调整,你都能看到内容质量的提升。当它最终能稳定产出让你自己都感到满意的文章时,那种成就感和解放感是无与伦比的。技术不再是冷冰冰的工具,而是真正成为了你创作能力的延伸和放大器。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐