第13篇:七步工作流引擎:让大模型编排多步组合查询
第13篇:七步工作流引擎:让大模型编排多步组合查询
单个 Skill 只能回答"查所有项目""查某个项目的分卷"这类一步到位的问题。但用户经常问的是组合型需求:“查询预算小于 200 的项目的全部附件”——这需要先查项目、再过滤预算、最后循环查附件。单 Skill 框架无法处理。本文完整拆解 WorkflowEngine 的七种步骤类型(call_skill、filter、sort、aggregate、distinct、loop、extract),以"查询预算小于 200 的项目的全部附件"为贯穿案例,讲解步骤间通过 context 传递数据、
${result_key.field}变量引用语法、MAX_LOOP_ITERATIONS 安全防护,以及引擎在本地执行保证数据不出域的设计。
一、问题提出:单 Skill 的能力边界
智能助手的 Skill 框架能处理大量单步请求:用户说"查看所有项目",大模型输出{"action": "call_skill", "skill_name": "get_all_projects"};用户说"查项目 1 的详情",大模型输出{"action": "call_skill", "skill_name": "get_project_by_id", "params": {"project_id": 1}}。这些请求的共同点是:一步就能完成。
但真实用户的提问往往是组合型的:
- “查询预算小