> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

本文档演示如何搭建一个生成长文本的低代码工作流，其核心是通过循环节点多轮扩写大纲。
## 场景描述 {#338ee7ed}
大语言模型具备强大的自然语言处理能力，可以生成高质量的文本内容，但是其输入输出长度受限，通过一轮简单的交互难以实现长文写作场景。但是从而实现长文生成。
低代码工作流提供了流程定制化的能力，我们可以把长文生成的流程拆分为多个步骤，例如先通过大模型节点生成大纲、再使用循环节点依次扩写各个段落，最后将各个段落组合起来，从而实现长文生成流程。此低代码工作流可适用于学术写作、商业报告、小说创作等多种场景。
## 效果演示 {#29f4cb0d}
![Image=2828x1400](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/7709b99d4f134af5a6d8cd2c9f1acd0d~tplv-goo7wpa0wc-image.image)
## 低代码工作流设计 {#10fe8459}
低代码工作流运行流程如下：

1. 开始节点接收用户输入，确定长文主题。
2. 大模型节点（生成大纲）用于生成文章大纲。
3. 循环节点将大纲中的每个小标题扩写为完整的段落。
4. 文本处理节点将扩写后的段落进行拼接。
5. 结束节点输出完整的长文。

低代码工作流整体结构如下：
![Image=2852x821](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/131dfc40ea2147c49a5f740c48ccef56~tplv-goo7wpa0wc-image.image)
## 核心节点 {#7cae05a9}
低代码工作流核心节点配置如下：
<!-- @cols-width: 167,443,220 -->
| | | | \
|**节点名称** |**说明** |**示例** |
|---|---|---|
| | | | \
|开始节点 |**开始节点**用于接收用户设置的文章标题，也就是长文的主题。 |\
| |在开始节点定义变量 title，并为变量设置描述`文章主题`。 |![Image=359x207](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/a390efa7e19c4b18a1dee7e4c7b24ad5~tplv-goo7wpa0wc-image.image) |
| | | | \
|大模型节点（生成大纲） |**大模型节点**根据用户设置的文章标题生成大纲。 |\
| |我们需要在系统提示词中要求模型输出包含层级结构的文章大纲，且为字符串数组格式，每个数组元素是一个字符串，代表一个子章节主题。这样处理是为了便于循环节点遍历这个数组的每个元素（子章节主题）来生成各个段落。 |\
| |大模型节点设置如下： |\
| | |\
| |* **输入**：定义变量 title，引用开始节点的 title 变量。 |\
| |* **系统提示词**：定义一段系统提示词，你可以直接参考[生成大纲提示词](/tutorial/generate_articles#63361f4a)，或者输入你的需求，让AI帮助你生成提示词。 |\
| |* **用户提示词**：`帮我写个文档大纲，主题是{{title}}`。 |\
| |* **输出**：定义输出变量 output，格式为 Array of String。 |![Image=351x605](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/dff12cc668144d029f0127aa1eb0ea6c~tplv-goo7wpa0wc-image.image) |
| | | | \
|循环节点 |循环节点遍历大纲数组中的每个元素（子章节主题）来生成各个段落。其中包含两个节点： |\
| | |\
| |* 大模型节点：每次执行时，根据子章节主题生成对应的段落。多次循环后生成全部段落。 |\
| |* 设置变量节点：每次执行时，将大模型生成的段落设置为变量，在下一次循环中作为参考信息传递给大模型节点。 |\
| | |\
| |循环节点设置如下： |\
| | |\
| |* **循环类型**：使用数组循环。 |\
| |* **循环数组**：设置变量 outline，引用生成大纲节点的输出变量 outline。 |\
| |* **中间变量**：设置变量 last_paragraph，这个变量用于传递上次已生成的段落内容，会在下次循环中提供给段落扩写节点作为参考 |\
| |   中间变量值设置为一个空格，因为首次循环时没有上个段落，只传递一个空格即可。 |\
| |* **输出**：设置变量 content，引用循环体中段落扩写节点的输出变量 output。格式固定为字符串数组。 |![Image=365x503](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/406548e49ac24a37b4a06e53690cd7b2~tplv-goo7wpa0wc-image.image) |\
| | | |
| | | | \
|循环中的大模型节点（段落扩写） |段落扩写节点根据子章节主题生成对应的段落，写作时会参考用户指定的标题、整体大纲等信息，严格遵循字数要求。 |\
| |段落扩写设置方式如下： |\
| | |\
| |* **输入**：定义以下输入变量，便于提示词引用。 |\
| |   * subtitle：本次要扩写的小标题。引用循环节点输入变量 outline 中的 item(in outline)。 |\
| |   * title：文章的整体标题。引用开始节点变量 title，作为大模型的参考信息。 |\
| |   * last_paragraph：上次循环中已生成的段落内容。引用循环节点中间变量 last_paragraph，作为大模型的参考信息。 |\
| |   * outline：文章的整体大纲。引用生成大纲节点的变量 outline，作为大模型的参考信息。 |\
| |* **系统提示词**：定义一段系统提示词，你可以直接参考[段落扩写提示词](/tutorial/generate_articles#35b7b201)，或者输入你的需求，让AI帮助你生成提示词。 |\
| |   注意提示词中需要指定段落的大致长度等要求，提示词质量会直接影响内容生成质量。 |\
| |* **用户提示词**：你可以直接参考[段落扩写用户提示词](/tutorial/generate_articles#26a34a35)。建议将用户指定的标题、大纲等信息引用到提示词中，提供给大模型参考，以便生成的内容上下文衔接、风格一致。 |\
| |* **输出**：定义输出格式为 Markdown，并定义输出变量 output，格式为 String。每一轮生成的段落会保存为字符串，其中是 Markdown 格式的文本段落。 |![Image=353x677](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/033b796a7ba8494db1c9a69b515ebdcb~tplv-goo7wpa0wc-image.image) |\
| | | |\
| | | |
| | | | \
|循环中的设置变量节点 |**设置变量节点**将大模型生成的段落设置为变量，在下一次循环中作为参考信息传递给**大模型节点**。 |\
| |这里我们将**循环节点**已设置好的中间变量 last_paragraph 设置为**段落扩写节点**的输出变量 output。 |![Image=364x227](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/82d13499058d439587988f7f1ae9b281~tplv-goo7wpa0wc-image.image) |\
| | | |
| | | | \
|文本处理节点 |文本处理节点拼接 Array 中的每一个元素，将循环节点生成的数组格式文章拼接为一个完整的字符串，便于结束节点返回与展示。 |\
| | |\
| |* **选择应用**：选择**字符串拼接**。 |\
| |* **输入**：默认变量 String1，变量值选择引用循环节点的输出变量content。 |\
| |* **字符串拼接**：输入 {{String1}}，表示拼接 String1 中的每个元素。 |\
| | |\
| |注意拼接时数组之间的连接符需要设置为换行符（\n）。 |\
| |![Image=261x127](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/abeba67447e443a09f430ec8f7d4fe47~tplv-goo7wpa0wc-image.image) |![Image=362x466](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/481a41a02e684b1b9e994b17681d8062~tplv-goo7wpa0wc-image.image) |\
| | | |
| | | | \
|结束节点 |结束节点用于输出和展示完整的文章内容。 |\
| | |\
| |* 输出模式：选择返回文本 |\
| |* 输出：定义变量 output，引用文本处理节点的输出变量 output。 |\
| |* 回答内容：设置为 `{{output}}`，表示直接输出完整的文章内容。 |![Image=714x800](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/98895a2fd70e4aa3b8b08b8e1f8f8036~tplv-goo7wpa0wc-image.image) |

编排完成后，可以单击试运行，查看工作流的运行结果，观察各个节点的输入输出是否符合预期。
试运行结束后，可以在输出节点的末行，单击预览，查看完整长文渲染后的效果。

::::cols
@col 50
试运行并预览：
![Image=1806x1146](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/5ef6d1c55f1d409fbb50398898e1f90a~tplv-goo7wpa0wc-image.image)


@col 50
预览效果：
![Image=2828x1400](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/7709b99d4f134af5a6d8cd2c9f1acd0d~tplv-goo7wpa0wc-image.image)


::::

## 相关资源 {#9d01528e}
### 生成大纲系统提示词 {#63361f4a}
大模型节点（生成大纲）的系统提示词如下，你也可以根据具体场景的需求调整，例如设置字数要求、段落数量等。
```Markdown
## 角色
你是一个专业的大纲写作助手，擅长根据各种主题和需求，生成逻辑清晰、结构合理的大纲。无论是小说、论文、报告还是其他类型的写作，你都能提供高质量的大纲框架。
## 技能
### 技能 1: 根据主题生成大纲
- 根据用户提供的主题和要求，生成一份详细的大纲。
- 大纲应包含主章节标题和子章节标题，体现文章逻辑结构。
- 所输出的大纲内容必须逻辑清晰、层次分明，符合一般的写作规范。

## 限制
- 大纲中的标题应简洁清晰，避免过于冗长和复杂的表述。
- 输出格式必须为字符串数组，每个完整的主题及其子主题是一个字符串，是数组中的元素
- 子章节大纲深度不超过3层

## 示例
用户输入：熬夜的危害
你的输出：
"1. 引言\n 1.1 熬夜现象的普遍性\n 1.2 探讨熬夜危害的重要性"，
"2. 身体生理层面危害\n 2.1 免疫系统受损\n 2.1.1 免疫力下降易生病\n 2.1.2 疾病恢复时间延长\n 2.2 心血管问题\n 2.2.1 血压异常波动\n 2.2.2 心律不齐风险增加\n 2.3 内分泌失调\n 2.3.1 激素分泌紊乱\n 2.3.2 对新陈代谢的不良影响”，
"3. 心理健康方面危害\n 3.1 情绪问题\n 3.1.1 焦虑抑郁倾向\n 3.1.2 情绪波动大\n 3.2 认知功能受损\n 3.2.1 记忆力减退\n 3.2.2 注意力不集中”,
"4. 结论\n 4.1 总结熬夜危害要点\n 4.2 倡导健康作息习惯”
```

### 段落扩写系统提示词 {#35b7b201}
大模型节点（段落扩写）的系统提示词如下，你也可以根据具体场景的需求调整，例如设置字数要求、段落数量等。
```Markdown
# 角色
你是一位专业的写作专家，在长文生成领域经验丰富。具备深厚的文字功底和敏锐的逻辑思维，能够根据各种要求创作出高质量的文本。尤其擅长按照指定的标题、大纲生成对应的段落，确保生成内容逻辑连贯、条理清晰，语言表达精准、流畅自然。

## 技能：根据主题扩写段落
- 你负责文章的扩写工作，即根据文章大纲的某一部分，扩写文章，在大纲小标题的基础上补全对应的内容段落。
- 用户会提供文章的主题、文章的整体大纲、你正在写的部分、你已经写好的上一个段落，供你理解和学习。
- 扩写前应仔细分析文章主题和整体大纲，确保理解文章的整体方向和目标。
- 根据用户指定的风格要求，例如正式、活泼、学术、平实等，调整段落的语言风格，保证生成的段落从用词到句式结构都契合用户预期的风格。
- 扩写时保证文章风格与提供给你的参考内容风格一致，和你已经写好的上一个段落保持内容连贯、衔接自然。
- 所输出的段落内容必须结构合理，条理清晰。
## 限制
- 使用 Markdown 格式回复。
- 生成的段落需严格符合用户给定的标题、大纲、风格等要求。 不需要输出与文章内容无关的描述。
- 内容的长度应与大纲层级相适应，通常为300-500字左右，但可以根据主题的复杂程度和重要性进行适当调整。 
```

### 段落扩写用户提示词 {#26a34a35}
```Markdown
请根据 {{subtitle}}这个主题生成一段文章。

以下信息供你参考：
文章的主题：{{title}}
文章的整体大纲：{{outline}}
你正在写的部分： {{subtitle}}
你已经写好的上一个段落：{{last_paragraph}}
```


