
# 反思精炼循环
#### 介绍
反思精炼循环是一种闭环**自我优化**的搭建范式：工作流不满足于大模型的第一次输出，而是引入一个独立的评估环节对结果进行审查，若结果未达标则触发修订，如此循环，直到输出质量满足要求或达到最大迭代次数为止。
这种范式**解决了单次大模型调用不够可靠的问题**，特别适用于：
- 输出需要满足明确可检验标准的场景（格式、字数、关键信息完整性）。
- 对输出质量有较高要求、需要反复打磨的场景（正式文书、营销标语）。
- 希望系统自主完成质量把关、减少人工审核的场景。
 
#### 原理
```
[初始输入]
    ↓
[生成节点：初次生成内容] → draft（草稿）
    ↓
[循环节点（指定最大轮次）]
    ├── 中间变量：current_draft（当前草稿）、is_passed（布尔值，初始 false）
    ├── 终止条件：is_passed 为 true
    ├── 循环体：
    │     [大模型节点A：评估当前草稿]
    │             ↓ pass（Boolean）+ feedback（String）
    │     [判断节点：是否通过？]
    │     ├──→ 通过 → [变量赋值：is_passed = true] → 循环输出（提前终止）
    │     └──→ 不通过 → [大模型节点B：依据反馈修订] → [变量赋值：更新 current_draft] → 循环输出
    └── 输出参数：final_draft（引用中间变量 current_draft）
    ↓
[下游节点 / 结束节点]
```
表1关键机制 
| 机制                     | 说明                    |
|:---|:---|
| 循环最大次数                 | 防止无限迭代，保证工作流必然终止。     |
| 中间变量 current_draft     | 每轮修订都基于上一轮的草稿，而非重新生成。 |
| 终止条件 is_passed == true | 质量达标后立即退出，不必跑满所有轮次。   |
   
#### 操作示例：产品宣传语打磨工作流
**场景描述：**用户输入产品名称和核心卖点，工作流先生成一条宣传标语草稿，再由评估节点检查是否满足三项标准（字数在20字以内/包含核心卖点/朗朗上口），不满足则自动根据评估意见修改，最多迭代3轮，输出最终版标语。
这个示例用户只需输入产品名称和一两个卖点即可运行，每轮迭代都能看到草稿如何在评估反馈下逐步改进，直观体现了反思精炼的过程。
**工作流结构：**
```
[开始节点]
    ↓ product（产品名）、selling_points（核心卖点）
[大模型节点：初稿生成]
    ↓ draft（第一版标语）
[循环节点（指定3次，终止条件：is_passed 为 true）]
    ├── 中间变量：current_draft（当前标语），is_passed（是否通过，初始 false）
    ├── 循环体：
    │     [大模型节点A：评估标语质量] → pass + feedback
    │     [判断节点]
    │     ├──→ 通过 → [变量赋值：is_passed = true] → 循环输出
    │     └──→ 不通过 → [大模型节点B：依据反馈修订标语] → [变量赋值：更新 current_draft] → 循环输出
    └── 输出参数：final_slogan（引用 current_draft）
    ↓
[结束节点]
```
**创建工作流：**
在AgentArts左侧导航栏中选择"开发中心 \> 智能体管理"，在"工作流"页签，单击"创建工作流"。
图1任务型工作流   
![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717389895.png "点击放大")
**节点配置说明：**
图2产品宣传语打磨工作流   
![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687950126.png "点击放大")
表2工作流各节点配置说明 
| 节点                                                                           | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|
| 开始节点                                                                         | 新增2个参数。 - 参数一： - 参数名称：product  - 参数类型：String  - 描述：产品名称，例如空气净化器  - 必填：勾选    - 参数二： - 参数名称：selling_points  - 参数类型：String  - 描述：产品的1-3个核心卖点，例如净化效率高、静音、一键操控  - 必填：勾选     ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687790268.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 大模型节点                                                                        | 用于生成初稿。 - 模型：DeepSeek-V4-Flash，输出格式：JSON，关闭流式输出  - 输入参数： - product：引用开始节点的 product  - selling_points：引用开始节点的 selling_points    - 输出参数：draft（String，描述：生成的第一版宣传标语）  - 系统提示词： ``` 你是一位品牌文案专家。 请为产品"{{product}}"生成一条宣传标语。 产品核心卖点：{{selling_points}} 要求：字数不超过20个汉字，突出核心卖点，简洁有力，易于记忆。 仅输出原始JSON，示例：{"draft": "标语内容"} ```   - 用户提示词：不填，删除原有内容   ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717389877.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 循环节点      | - 循环类型：指定循环次数，设置为 3次  - 中间变量： - current_draft，类型String，初始值引用大模型节点（初稿生成）的 draft。  - is_passed，类型Boolean，初始值输入固定值 false。    - 输出参数：final_slogan，引用中间变量 current_draft  - 终止条件：is_passed 等于 true   ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687790276.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 循环节点      | **循环体 - 大模型节点A（评估标语质量）** 连接循环输入 → 此节点。 - 模型：DeepSeek-V4-Flash，生成随机性设为 0  - 输入参数： - current_draft：引用循环节点中间变量 current_draft  - selling_points：引用开始节点的 selling_points    - 输出格式：JSON，关闭流式输出  - 输出参数： - pass，类型Boolean，描述为"是否通过质量检查，true=通过，false=不通过"  - feedback，类型String，描述为"未通过时指出具体问题，30字以内；通过时输出标语达标"      - 系统提示词： ``` 你是一位严格的广告审核专家，请按三项标准检查以下宣传标语： 1. 字数：不超过20个汉字 2. 卖点：必须体现以下卖点之一：{{selling_points}} 3. 朗朗上口：读起来顺口，有节奏感 三项全部满足：pass = true，feedback = "标语达标" 有任意一项不满足：pass = false，feedback中具体说明哪项不达标及原因（30字以内） 仅输出原始JSON，不包含Markdown代码块。 ```   - 用户提示词：待评估标语：{{current_draft}}   ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717549771.png "点击放大") |
| 循环节点      | **循环体 - 判断节点** - IF 分支：大模型节点A的 pass 等于 true  - ELSE 分支：pass 为 false   ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717389881.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 循环节点      | **循环体 - IF 分支（通过）：变量赋值节点** - 变量名：中间变量 is_passed  - 类型：引用  - 值：引用大模型节点A的 pass（此时为 true）   此节点连接到**循环输出**。 ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687950120.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 循环节点      | **循环体 - ELSE 分支（不通过）：大模型节点B（依据反馈修订）** - 模型：DeepSeek-V4-Flash，输出格式：JSON，关闭流式输出  - 输入参数： - current_draft：引用循环节点中间变量 current_draft  - feedback：引用大模型节点A的 feedback  - selling_points：引用开始节点的 selling_points    - 输出参数：revised（String，描述：根据反馈修订后的新版标语）  - 系统提示词： ``` 你是一位品牌文案专家，请根据评审反馈修改宣传标语。 当前标语：{{current_draft}} 评审意见：{{feedback}} 产品核心卖点：{{selling_points}} 请严格针对反馈问题进行修改，不要改变产品定位，字数控制在20字以内。 仅输出原始JSON，示例：{"revised": "修订后的标语"} ```   - 用户提示词：不填，删除原有内容   ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717389887.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                      |
| 循环节点      | **循环体 - ELSE 分支（不通过）：变量赋值节点**，放在大模型节点B后面 - 变量名：中间变量 current_draft  - 类型：引用  - 值：引用大模型节点B的 revised   此节点连接到**循环输出**。 ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687950132.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 结束节点                                                                         | - 输入参数： - product：引用开始节点的 product  - slogan：引用循环节点的 final_slogan    - 指定回复： ``` 【{{product}}】 最终宣传标语：{{slogan}} ```    ![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002687950124.png "点击放大")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
**试运行：**
在开始节点的product中输入"蓝牙耳机"，selling_points 输入"主动降噪、续航40小时、轻盈佩戴"，观察工作流如何在最多3轮迭代中将初稿标语打磨至达标。在调试视图中可以看到每轮的草稿、评估结论和修订过程。
图3试运行   
![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717389885.png "点击放大")
图4查看运行结果   
![](https://support.huaweicloud.com/lowcode-agentarts/zh-cn_image_0000002717549757.png "点击放大")
