首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用 Dify 工作流自动生成文章:从搭建到实战

用 Dify 工作流自动生成文章:从搭建到实战

原创
作者头像
闪 学it
发布2026-09-04 14:44:56
发布2026-09-04 14:44:56
840
举报

在 AI 应用开发中,让大模型"写一篇文章"并不难,难的是把输入、大纲、扩写、校验、输出串成一条稳定可复用的流程。Dify 的可视化工作流正好适合解决这类问题:不需要从零写后端服务,也能把文章生成过程编排成一条清晰的自动化流水线。

一、为什么用工作流生成文章?

直接用一句 Prompt 让大模型写文章,通常只能完成简单任务。一旦需求变复杂,就会遇到这些问题:

表格

问题

表现

流程不稳定

每次输出结构不一致,有时有大纲,有时直接写正文

质量难控制

主题、风格、字数、平台要求难以统一约束

难以复用

换个主题或平台,又要重新写 Prompt

扩展困难

想加知识检索、多平台改写、人工审核时不好维护

工作流的价值在于:把文章生成拆成多个节点,每个节点只做一件事。比如一个节点负责生成大纲,一个节点负责扩写正文,一个节点负责格式化输出。这样更容易调试,也更适合长期复用。

二、Dify 中两种常见应用类型

在 Dify 中,文章生成通常可以选择两种应用类型:

1. Workflow:适合单轮任务

Workflow 适合一次性执行、无记忆的任务,比如:

  • 输入主题,生成一篇文章
  • 输入草稿,生成多平台内容
  • 输入文档,生成摘要
  • 批量处理内容模板

它的流程通常是:开始 → 处理节点 → 结束。

2. Chatflow:适合多轮对话

Chatflow 适合需要上下文记忆的场景,比如:

  • 用户先说主题,再补充风格
  • AI 追问目标读者、字数、平台
  • 用户要求修改某一段内容
  • 多轮对话后生成最终文章

如果只是“输入主题 → 生成文章”,优先选 Workflow;如果需要反复沟通和修改,再考虑 Chatflow。

三、文章生成工作流的核心节点

一个文章生成工作流通常由以下几类节点组成。

1. 开始节点:定义输入

开始节点负责接收用户输入,例如:

  • topic:文章主题
  • style:写作风格,如干货、故事、新闻、技术解读
  • target_audience:目标读者
  • word_count:目标字数
  • platform:发布平台,如公众号、知乎、小红书

这些变量后续都会被其他节点引用。

2. LLM 节点:生成大纲

第一个 LLM 节点通常不直接写全文,而是先生成文章大纲。

代码语言:javascript
复制
你是一位专业的内容创作者。
请根据用户输入的主题生成一篇结构清晰的文章大纲。

主题:{{topic}}
风格:{{style}}
目标读者:{{target_audience}}
目标字数:{{word_count}}

要求:
1. 只输出大纲,不输出正文
2. 包含 3-5 个一级标题
3. 每个标题下简要说明写作方向
4. 结构要符合所选风格

这样做的好处是:先让模型确定结构,再分步扩写,文章逻辑会更稳定。

3. LLM 节点:扩写正文

第二个 LLM 节点基于大纲生成正文。

代码语言:javascript
复制
你是一位擅长写作的编辑。
请根据以下大纲撰写完整文章。

主题:{{topic}}
风格:{{style}}
目标读者:{{target_audience}}

大纲:
{{outline}}

要求:
1. 语言自然流畅
2. 逻辑清晰,段落之间有衔接
3. 不随意偏离主题
4. 避免空泛套话
5. 控制整体字数接近 {{word_count}}

这里的关键是:让扩写节点只负责写内容,不负责重新设计结构。结构由大纲节点控制,正文节点负责填充。

4. 条件分支:按平台或风格分流

如果文章需要发布到不同平台,可以用条件分支节点判断输出方向。

代码语言:javascript
复制
如果 platform 等于 "小红书"
则生成短段落、口语化、带标题符号

如果 platform 等于 "公众号"
则生成完整长文,结构更正式

否则
按默认风格输出

这样可以避免每次都手动修改 Prompt。

5. 迭代节点:分段生成长文

如果文章较长,一次性生成容易出现结构松散、后半段质量下降的问题。这时可以用迭代节点,把大纲拆成多个章节,逐段生成。

流程可以是:

代码语言:javascript
复制
开始
→ LLM 生成大纲
→ 参数提取器提取章节列表
→ 迭代节点逐章扩写
→ 模板转换节点拼接全文
→ 结束

迭代节点适合这些场景:

  • 长文章分章节生成
  • 多平台内容批量改写
  • 多段翻译后拼接
  • 多个小标题分别扩写
6. 模板转换:统一输出格式

文章生成完成后,可以用模板节点统一输出格式。

代码语言:javascript
复制
# {{topic}}

{{article_content}}

---
风格:{{style}}
目标读者:{{target_audience}}
字数:约 {{word_count}} 字

这样输出的内容更适合直接复制发布,也方便后续接入 API。

四、一个简单实用的文章生成流程

下面是一个适合新手搭建的基础流程:

代码语言:javascript
复制
开始
→ LLM 生成大纲
→ LLM 扩写正文
→ 模板转换格式化
→ 结束

各节点职责如下:

表格

节点

作用

开始

接收主题、风格、字数等输入

LLM 生成大纲

先确定文章结构

LLM 扩写正文

根据大纲生成完整文章

模板转换

统一标题、正文、元信息格式

结束

输出最终文章内容

这个流程简单,但已经能满足大多数日常写作需求。

五、进阶版:更稳定的长文章生成

如果希望文章质量更高,可以升级为:

代码语言:javascript
复制
开始
→ LLM 生成大纲
→ 参数提取器提取章节
→ 迭代节点逐章扩写
→ 变量聚合拼接内容
→ 模板转换输出
→ 结束

这个版本更适合:

  • 3000 字以上长文
  • 技术文档
  • 行业分析报告
  • 系列内容创作
  • 多章节公众号文章

它的优势是:每一章单独生成,模型压力更小,内容也更不容易跑偏。

六、少量代码场景:用代码节点做轻量处理

Dify 工作流大部分配置不需要写代码,但有些细节用少量代码会更高效。

例如,可以用代码节点把大纲文本解析成结构化数据:

代码语言:javascript
复制
function main({ outline }) {
  const lines = outline.split("\n").filter(line => line.trim());
  return {
    sections: lines
  };
}

这段代码的作用很简单:把大纲按行拆分成数组,方便后续迭代节点逐章扩写。

再比如,可以用模板转换节点拼接最终文章:

代码语言:javascript
复制
# {{topic}}

{{final_content}}

这类处理不需要复杂编程,只是把上游变量整理成最终输出格式。

七、调试工作流的几个实用技巧

搭建完成后,不要直接发布,建议先逐步测试。

1. 先测试单个节点

先看大纲节点是否稳定,再看正文节点是否按大纲扩写。不要一上来就测试整条流程。

2. 固定输入变量

调试时使用固定主题,比如:

代码语言:javascript
复制
主题:远程办公的效率提升方法
风格:干货
目标读者:职场新人
字数:1500

这样可以判断输出波动是来自 Prompt,还是来自变量传递。

3. 查看节点输入输出

每个节点执行后,都应该检查:

  • 上游变量是否正确传入
  • LLM 是否按提示词输出
  • 是否出现多余解释文字
  • 大纲和正文是否一致
  • 最终输出是否完整
4. 约束模型输出格式

如果希望大纲稳定,可以在提示词中明确要求:

代码语言:javascript
复制
只输出大纲内容,不要输出解释、前言或总结。

这样可以减少后续解析出错。

八、发布方式

调试通过后,Dify 工作流可以发布为:

  • Web 应用:直接在页面中输入主题生成文章
  • API 接口:接入内部系统、编辑器、后台工具
  • 嵌入页面:集成到现有网站或运营后台

如果是团队使用,建议把输入字段设计得清晰一些,例如:

代码语言:javascript
复制
主题:必填
风格:下拉选择
目标读者:选填
字数:默认 1500
平台:默认通用

这样非技术人员也能直接使用。

九、适合落地的小场景

Dify 文章生成工作流适合这些实际应用:

  • 公众号文章初稿生成
  • 小红书文案批量改写
  • 技术博客大纲扩写
  • 产品更新说明生成
  • 周报、日报内容整理
  • 行业资料转通俗文章
  • 多平台内容分发
  • 知识库内容自动改写

它更适合作为“初稿生成器”或“内容加工器”,而不是完全替代人工写作。最终发布前,建议再做一次人工校对。

十、搭建建议

做 Dify 文章生成工作流时,可以记住这个原则:

先结构化,再扩写;先单节点稳定,再串联整条流程。

不要一开始就设计太复杂的流程。可以先从“开始 → 大纲 → 正文 → 结束”跑通,再逐步加入条件分支、迭代节点、知识检索和代码处理。这样既能快速验证效果,也方便后续持续优化。

用 Dify 工作流自动生成文章:从搭建到实战

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、为什么用工作流生成文章?
  • 二、Dify 中两种常见应用类型
    • 1. Workflow:适合单轮任务
    • 2. Chatflow:适合多轮对话
  • 三、文章生成工作流的核心节点
    • 1. 开始节点:定义输入
    • 2. LLM 节点:生成大纲
    • 3. LLM 节点:扩写正文
    • 4. 条件分支:按平台或风格分流
    • 5. 迭代节点:分段生成长文
    • 6. 模板转换:统一输出格式
  • 四、一个简单实用的文章生成流程
  • 五、进阶版:更稳定的长文章生成
  • 六、少量代码场景:用代码节点做轻量处理
  • 七、调试工作流的几个实用技巧
    • 1. 先测试单个节点
    • 2. 固定输入变量
    • 3. 查看节点输入输出
    • 4. 约束模型输出格式
  • 八、发布方式
  • 九、适合落地的小场景
  • 十、搭建建议
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档