3.9 流程应用

流程应用把一次对话背后要做的事编排成固定的步骤图:用户问题从「开始」节点进入,经过检索、分类、AI 处理、条件路由等节点,最后由「结束」节点输出结果。与 Agent 的自主决策不同,流程的每一步都是确定的——适合工单分流、审批辅助、报表生成这类步骤可预期的业务。

创建与画布

在「新建应用」中选择类型为流程应用。创建后进入全屏编排画布(设计 / 调试 / 配置三个页签),默认已有「开始 → 结束」两个节点:

流程画布

  • 开始:流程入口,固定接收用户问题 question(对话时自动传入,调试运行时在启动参数中填写);
  • 结束:收集最终输出——把要返回给用户的内容(如 AI 节点的回答字段)绑定到 output。

点击左侧「+」打开节点面板,按类别拖拽或点击添加节点:

节点面板

分组节点用途
控制流条件判断 / 多条件按表达式把流程路由到不同分支
AI 能力AI 对话调用模型处理文本(纯对话;复杂能力交给 Agent 应用节点)
Agent 应用把另一个已发布的 Agent 应用作为节点嵌入,内置循环嵌套防护
知识库检索 / 知识图谱检索按语义检索知识或按关系查图谱
问题分类用模型对输入自动分类,按类目走不同分支
数据处理JavaScript运行 JS 片段做数据加工与格式转换
集成插件调用调用团队插件工具
HTTP 请求调用外部接口(可引用系统变量实现按用户隔离)

节点之间从输出端口连线到输入端口即构成执行路径;画布右上角「保存」提交草稿。

调试与运行历史

「调试运行」从开始节点执行整条流程,对话中实时展示每个节点的执行过程(进入哪个节点、输入输出是什么),失败会停在具体节点并给出原因。发布后每次对话执行都会记入运行历史,可回放每次运行的节点轨迹,是排查线上问题的第一入口。

发布与使用

画布「发布」后,流程应用出现在应用广场,团队成员进入即对话——对话消息自动作为 question 进入流程,运行结果作为回复返回。它还可以作为工具被 Agent 应用调用(见 3.8),形成「Agent 自由决策 + 流程确定执行」的组合。

系统变量

流程内置 sys 系统变量(如当前用户 id),HTTP 请求、脚本等节点可以引用——这是实现「按登录用户隔离数据」的关键:例如 HTTP 节点带着 sys.userId 查询业务系统,用户 A 只能拿到 A 的数据。

案例:工单智能分流

客服团队的工单先自动分类、再按类目给出标准回复,无法处理的转人工:

  1. 设计:开始 → 问题分类(类目:退款 / 功能咨询 / 故障报修)→ 三条分支各接一个 AI 对话节点(提示词分别注入对应类目的处理口径,退款分支再接知识库检索)→ 结束(输出绑定最终回答);
  2. 调试:用三类真实问题各跑一遍调试运行,观察分类是否准确、分支是否走对;
  3. 发布:交付客服团队日常使用;也可以作为工具挂到 3.8 的客服 Agent 上——Agent 判断「这是标准工单」时自动调用流程处理。

常见问题

调试运行卡在某个节点?
看节点的输入输出:AI 对话节点多为模型渠道问题(3.2 常见问题);HTTP 节点检查目标地址可达性与超时;脚本节点看运行报错信息。

条件分支永远走同一边?
检查条件表达式引用的变量名与上游节点输出字段是否一致;用调试运行的节点轨迹看每个节点的实际输出值。

发布后修改了画布,对话还是旧逻辑?
与 Agent 一致:修改保存后需重新「发布」;历史对话仍按当时的版本回放(运行历史中可区分版本)。

流程里能嵌套流程吗?
流程应用节点只支持嵌入已发布的 Agent 应用,Agent 又可以调用流程——通过这种组合实现分层编排,直接嵌套流程是不允许的。