跳轉到內容

Loop(迴圈)

節點概述

節點英文名: Loop
節點中文名稱: 迴圈
支援場景: Chatflow Agent(支援), Workflow Agent(支援)

功能說明

Loop 節點按設定的迴圈次數或條件反覆執行同一段邏輯,常用於批次處理或多次迭代。它提供了強大的迴圈控制能力,支援條件迴圈和計數迴圈兩種模式。

節點展示內容

迴圈節點在畫布上的展示:容器內為 Home 起點與新增節點入口

1. 基本資訊展示

  • 圖示: 節點專用圖示
  • 名稱: 節點名稱
  • 迴圈內的工作模組:
    • 迴圈內的初始節點為 Home
    • 迴圈內支援新增節點(除了 Start 和 End 外,都可以新增)
    • 迴圈內節點的操作邏輯和迴圈外相同
    • 迴圈中有特殊節點(結束迴圈)
  • 註釋: 使用者新增的說明文字

2. 操作按鈕

  • 更多按鈕: 點選後展示右鍵選單內容
  • 執行按鈕: 點選進入試執行介面

節點編輯區域

迴圈節點編輯面板:迴圈變數、迴圈中止條件、最大迴圈次數 (滑桿) 與下一步

1. 迴圈變數配置

  • 用途: 用於迴圈中止條件的計算
  • 變數管理: 支援新增多個迴圈變數
  • 資料生產: 每個迴圈變數在迴圈的過程中進行資料生產
  • 輸出變數: 在迴圈結束時作為輸出變數

2. 迴圈中止條件

  • 條件配置: 支援多個迴圈條件項,詳細邏輯同條件分支的"條件項"
  • 條件型別: 支援各種條件判斷
  • 邏輯關係: 支援 AND/OR 邏輯關係

3. 最大迴圈次數

  • 範圍: 最小 1 次,最大 100 次
  • 安全控制: 防止無限迴圈
  • 效能考慮: 平衡迴圈次數和效能

4. 下一步配置

  • 支援新增下一個節點

執行邏輯

1. 迴圈執行流程

  1. 執行迴圈: 開始執行迴圈邏輯
  2. 條件判斷: 判斷迴圈是否符合中止條件或者達到次數上限
  3. 繼續/停止: 符合條件就停止,不符合條件就繼續
  4. 日誌記錄: 每個迴圈的過程記錄迴圈的輸出條件到日誌
  5. 輸出結果: 迴圈結束時,迴圈變數的最終狀態作為輸出變數

2. 迴圈控制

  • 條件控制: 基於條件判斷控制迴圈
  • 計數控制: 基於迴圈次數控制迴圈
  • 混合控制: 同時使用條件和計數控制

右鍵操作

右鍵選單包含以下選項:

  1. 更改節點: 修改節點型別
  2. 複製: 複製節點
  3. 複製: 複製節點內容
  4. 刪除: 刪除節點
  5. 幫助連結: 跳轉到幫助文件
  6. 執行節點: 測試運行當前節點

測試執行

  • 支援狀態: 支援測試執行
  • 更改節點: 支援更改節點型別
  • 複製功能: 支援複製、剪貼、刪除操作

使用場景

1. 批次處理

  • 資料處理: 批次處理大量資料
  • 檔案處理: 批次處理多個檔案
  • API 呼叫: 批次呼叫多個 API
  • 任務執行: 批次執行多個任務

2. 迭代計算

  • 數值計算: 迭代計算數值結果
  • 演算法實現: 實現迭代演算法
  • 最佳化問題: 解決最佳化問題
  • 收斂計算: 計算收斂結果

3. 狀態檢查

  • 狀態監控: 監控系統狀態
  • 條件等待: 等待特定條件滿足
  • 輪詢檢查: 輪詢檢查狀態變化
  • 超時處理: 處理超時情況

4. 工作流控制

  • 流程迴圈: 控制流程迴圈執行
  • 重試機制: 實現重試機制
  • 批次操作: 執行批次操作
  • 條件執行: 基於條件執行

迴圈型別

1. 條件迴圈

基於條件判斷的迴圈:

WHILE 條件滿足:
    執行迴圈體
    更新迴圈變數
    檢查中止條件

2. 計數迴圈

基於迴圈次數的迴圈:

FOR i = 1 TO 最大次數:
    執行迴圈體
    更新迴圈變數
    檢查中止條件

3. 混合迴圈

同時使用條件和計數:

FOR i = 1 TO 最大次數:
    IF 條件滿足:
        執行迴圈體
        更新迴圈變數
        檢查中止條件
    ELSE:
        提前退出

最佳實踐

1. 迴圈設計

  • 中止條件: 設計清晰的中止條件
  • 迴圈變數: 合理管理迴圈變數
  • 效能考慮: 考慮迴圈效能影響
  • 錯誤處理: 新增適當的錯誤處理

2. 條件配置

  • 條件清晰: 使用清晰的條件邏輯
  • 覆蓋完整: 確保覆蓋所有情況
  • 效能最佳化: 最佳化條件判斷效能
  • 可維護性: 保持條件易於維護

3. 變數管理

  • 初始化: 正確初始化迴圈變數
  • 更新邏輯: 設計合理的變數更新邏輯
  • 型別安全: 確保變數型別正確
  • 作用域: 合理管理變數作用域

4. 錯誤處理

  • 異常捕獲: 捕獲迴圈中的異常
  • 錯誤恢復: 提供錯誤恢復機制
  • 日誌記錄: 記錄迴圈執行過程
  • 使用者提示: 提供友好的錯誤提示

配置步驟

1. 基礎配置

  1. 配置迴圈變數
  2. 設定迴圈終止條件
  3. 設定最大迴圈次數

2. 迴圈體配置

  1. 在迴圈內新增節點
  2. 配置迴圈邏輯
  3. 設定變數更新

3. 條件配置

  1. 配置終止條件
  2. 設定條件邏輯
  3. 驗證條件正確性

4. 測試驗證

  1. 使用試執行功能測試
  2. 檢查迴圈執行結果
  3. 驗證終止條件

常見問題

Q: 如何設定迴圈終止條件?

A: 可以設定多個條件,使用 AND/OR 邏輯關係,當條件滿足時迴圈終止。

Q: 最大迴圈次數如何確定?

A: 根據業務需求和效能考慮設定,範圍是 1-100 次。

Q: 迴圈變數如何管理?

A: 迴圈變數在迴圈過程中更新,迴圈結束時作為輸出變數。

Q: 如何避免無限迴圈?

A: 設定合理的終止條件和最大迴圈次數,確保迴圈能夠正常結束。

Q: 迴圈效能如何最佳化?

A: 最佳化迴圈體邏輯,減少不必要的操作,合理設定迴圈次數。

注意事項

  1. 終止條件: 確保迴圈有明確的終止條件
  2. 效能考慮: 考慮迴圈對系統性能的影響
  3. 資源管理: 注意迴圈中的資源使用
  4. 錯誤處理: 新增適當的錯誤處理機制
  5. 日誌記錄: 記錄迴圈執行過程便於除錯