Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

用 Dify Workflow 自动化日报生成:多节点串联、变量传递与输出格式控制

日报、周报、资讯摘要与项目进展汇总,是企业内部最典型的高频文本生成任务之一。

这类任务具备几个共同特征:

  • 输入来源较多
  • 格式相对稳定
  • 内容需要持续更新
  • 重复劳动成本较高

因此,它们非常适合通过 Dify Workflow 来进行自动化建设。因为这类场景既需要多步骤处理,也需要对结果格式进行明确控制,不适合只依赖单一提示词一次生成完成。

本文将以“自动化日报生成”为例,重点说明三个关键问题:

  • 多节点如何设计与串联
  • 变量如何在节点之间稳定传递
  • 输出格式如何做到可控、可复用

一、为什么日报生成更适合 Workflow

很多团队第一次尝试生成日报,通常会直接向模型发出类似请求:

“请根据今天的数据写一份日报。”

这种方式当然可以生成结果,但在正式业务环境中,通常会很快暴露出以下问题:

  1. 输入信息过于混杂
    模型难以稳定理解来源不同、结构不同的上下文。

  2. 输出格式不稳定
    有时像日报,有时像新闻摘要,有时又变成普通说明文。

  3. 难以调试与优化
    当结果不理想时,很难判断问题究竟出在信息采集、重点提炼还是最终排版。

而 Workflow 的优势,正是在于它可以把“写日报”拆解为一条可设计、可测试、可演进的流程。

二、日报生成通常会接收哪些输入

日报并不一定来自单一数据源。常见输入包括:

  • Web 搜索结果
  • 抓取的新闻正文
  • 内部业务系统数据
  • 销售或客服日报表
  • 项目进展记录
  • 群聊与会议纪要摘要

如果是资讯类日报,输入通常会更接近:

  • 关键词
  • 时间范围
  • 搜索结果链接
  • 页面正文

如果是内部业务类日报,则更可能包括:

  • 当日新增客户数
  • 工单处理量
  • 项目状态变化
  • 异常事件清单
  • 管理层重点关注事项

无论来源如何,核心目标都一致:先把零散信息整理为可处理内容,再进入摘要与生成流程。

三、一个可落地的 Workflow 结构

以“自动收集行业资讯并生成日报”为例,一条典型流程通常如下:

开始
→ 输入主题或日期
→ 搜索新闻
→ 抽取网页正文
→ 汇总原始内容
→ 提炼重点信息
→ 生成日报正文
→ 按模板格式化输出

在 Dify 中,这通常可拆为以下节点:

  1. Start / Input:输入日报主题、日期、关键词
  2. 工具节点或插件节点:执行搜索
  3. 内容抽取节点:抓取正文
  4. LLM 节点 A:筛选重点信息
  5. LLM 节点 B:整理为日报提纲
  6. LLM 节点 C:按模板生成正式日报
  7. Answer:输出 Markdown 或固定格式文本

四、多节点串联的原则:一个节点只做一件事

在 Workflow 设计中,最常见的问题是一个节点承担过多职责。

例如同时负责:

  • 搜索
  • 筛选
  • 摘要
  • 排版

这类设计在初期看起来省事,但会明显增加调试难度,也不利于后续复用。

更推荐的方式是让每个节点职责单一且清晰:

节点 1:搜索

仅负责获取候选链接或原始数据。

节点 2:正文抽取

仅负责把网页或原始内容转化为可分析文本。

节点 3:重点提炼

仅负责回答“今天最值得关注的重点是什么”。

节点 4:日报生成

仅负责把整理后的重点写成日报正文。

节点 5:格式化输出

仅负责按固定模板输出,不再重新理解业务内容。

当节点职责足够清楚时,无论是替换模型、优化提示词,还是增加审批与分发步骤,都会更容易管理。

五、变量传递如何设计更清楚

日报类应用中,变量传递直接决定流程是否可控。因为前一节点的输出,通常正是后一节点的输入。

一个典型变量链可能包括:

  • topic:日报主题
  • date_range:时间范围
  • search_results:搜索结果
  • raw_content:正文抽取结果
  • key_points:重点摘要
  • report_outline:日报提纲
  • final_report:最终日报正文

变量设计建议

1. 变量名必须有语义

避免使用 text1result2 一类命名。变量越清楚,后续越容易维护。

2. 保留关键中间变量

不要在每一步都覆盖前值。保留中间结果,有利于快速排查问题。

3. 后续节点只读取必要变量

如果日报生成节点只需要 key_pointsdate_range,就不应再把全部原始正文一并传入。

4. 提纲与正文应分离

report_outlinefinal_report 最好分别保留。这样可以快速判断问题出在提纲设计还是正文表达。

六、输出格式控制的关键方法

日报场景的重点,不只是“生成内容”,而是“稳定输出企业需要的格式”。

很多团队习惯只写一句:

“请按日报格式输出。”

在实际项目中,这通常远远不够。

更有效的方式

在提示词中直接给出清晰模板,例如:

请按以下格式输出:

# {{date}} 日报

## 一、今日重点
- 重点 1
- 重点 2
- 重点 3

## 二、详细摘要
### 1. 主题一
内容

### 2. 主题二
内容

## 三、风险与关注事项
- 项 1
- 项 2

## 四、建议动作
- 动作 1
- 动作 2

如果日报还需要发送到下游系统,输出格式甚至可以进一步结构化为:

  • Markdown
  • JSON
  • HTML 片段
  • 固定字段格式

这样生成结果不仅可读,还能直接被知识库、邮件系统、企业 IM 或内容管理系统消费。

七、一个更实用的节点设计示例

下面给出一个更贴近企业实际的 Workflow 结构。

节点 A:输入参数

输入内容包括:

  • 日期
  • 关键词
  • 报告对象(如管理层 / 市场部 / 产品部)

节点 B:抓取原始信息

输出内容包括:

  • 新闻标题列表
  • 正文片段
  • 来源链接

节点 C:去重与筛选

作用:

  • 去除重复信息
  • 排除低价值内容
  • 保留核心事件

节点 D:提炼重点

输出:

  • 今日 3 至 5 个重点
  • 每个重点的一句话摘要

节点 E:生成日报提纲

输出:

  • 今日重点
  • 背景说明
  • 风险与建议

节点 F:格式化生成正式日报

输出:

  • 最终 Markdown 日报

节点 G:可选发布

将日报推送至邮箱、知识库、企业微信或其他内部渠道。

八、如何避免“语言流畅但信息空泛”

在日报生成场景中,一个典型问题是内容读起来很顺,但信息量不足。

解决这一问题,通常可以从三方面入手。

1. 先提炼,再写作

不要让模型直接从海量原始文本一步生成日报。

2. 在提炼阶段要求保留事实信息

例如明确要求保留:

  • 数字
  • 时间
  • 公司名称
  • 产品名称
  • 风险点

3. 对写作节点设置明确风格边界

例如:

  • 不写空洞开场
  • 不使用夸张修饰
  • 优先写结论,再写背景
  • 控制每个重点的字数范围

通过这种分层方式,可以让日报更接近正式业务文档,而不是泛化摘要。

九、日报 Workflow 为什么适合持续扩展

一旦日报流程跑通,通常可以很快扩展到更多应用类型,例如:

  • 周报
  • 月报
  • 竞品监控报告
  • 舆情摘要
  • 销售晨报
  • 客服异常日报
  • 项目进展播报

从本质上看,这些场景共享同一条基础链路:

采集 → 清洗 → 提炼 → 生成 → 格式化输出

因此,日报生成不仅是一个单独应用,也经常是企业后续自动化报告体系的起点。

结语

借助 Dify Workflow 自动化日报生成,真正的价值并不只是“让 AI 写一段话”,而是将原本依赖人工汇总、人工整理、人工排版的流程,重构为一条可复用、可调试、可持续优化的工作流。

在这个过程中,最关键的三个点始终是:

  • 多节点串联:保证流程清晰
  • 变量传递:保证上下文稳定
  • 输出格式控制:保证结果可发布、可复用

当这三点被设计清楚后,日报应用就不再只是一个演示案例,而会成为企业内部非常实用的一类自动化能力。