跳轉到內容

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. 日誌記錄: 記錄迴圈執行過程便於除錯