調用與結果合并機制)
第15篇:loop 步驟的循環(huán)調用與結果合并機制工作流引擎的七種步驟類型中,loop是最復雜也最強大的一個。它能遍歷一個列表,對每個元素調用不同的 Skill,把所有結果合并成一個扁平列表?!安樵冾A算小于 200 的項目的全部附件”——這個需求需要先查所有項目、過濾預算、再對每個滿足條件的項目循環(huán)查附件,最后把所有附件合并到一個列表。沒有 loop 步驟,這類"一對多"的組合查詢就無法實現(xiàn)。本文深入拆解_exec_loop()的實現(xiàn):item_key變量注入機制、merge合并策略的展平邏輯、MAX_LOOP_ITERATIONS性能防護、循環(huán)內 Skill 調用失敗的容忍策略,以及l(fā)oop_context上下文隔離設計。一、問題提出:一對多查詢的困境用戶問智能助手:“查詢預算小于 200 的項目的全部附件?!辈鸾膺@個需求的執(zhí)行步驟:查詢所有項目 → 得到項目列表過濾預算小于 200 的項目 → 得到篩選后的項目列表對每個篩選后的項目查詢其附件 → 得到多個附件列表把所有附件列表合并成一個 → 得到最終的附件列表步驟 1 和 2 可以用call_skill和filter步驟完成。但步驟 3 和 4 面臨