03接入真实业务数据 · 第 8 章
总进度 8 / 13

07|把分支结果整理成同一种输出

同一条流程里,有的分支返回模板文字,有的返回代码结果。最后的出口要拿哪一个?这一节用一个不需要模型的小实验,把条件分支、模板、聚合器和代码串在一起。

2026-09-28约 6 分钟15 行代码难度 ★★

如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。

同一条流程里,有的分支返回模板文字,有的返回代码结果。最后的出口要拿哪一个?这一节用一个不需要模型的小实验,把条件分支、模板、聚合器和代码串在一起。

我们将输入按是否包含“物流”分流,加上不同前缀,汇合后清理首尾空白。你会亲眼看到节点里的变量名和上游来源是两回事。

1. 做出两条可预测的分支

新建 Bread-07-统一格式。输入添加必填短文本 query,后接条件节点“检查物流”:变量选 输入 → query,运算符“包含”,比较值“物流”。

IF 后加模板“物流格式”,ELSE 后加模板“普通格式”。两者都新增本地输入 query,来源绑定 输入 → query。分别填:

【物流咨询】
问题:{{ query }}
【普通咨询】
问题:{{ query }}

此处用字符串包含判断,只为把分支行为变得可预测。“快递到哪了”没有“物流”二字,会走普通路线;它不能代替自然语言意图分类。

三个节点各做一件擅长的小事

模板负责排版,比如给文本加标题;代码负责明确的数据处理,比如去掉空白或计算长度;聚合器负责接住互斥分支中的实际结果。把这三件事分开,出了问题就知道该看哪个位置。

如果只是把问题前面加“物流咨询”,没必要每次调用模型生成一句同义话。需要复杂语言理解时再用模型,固定格式则可以由模板稳定完成。

反过来,判断“快递怎么还没来”是不是物流问题,就超出了本节简单的“包含物流二字”。你可以先用这个规则学习变量流转,再根据业务需要换成分类器,但不要把示例的规则范围说得比实际更大。

2. 让聚合器接收本次实际产生的文字

添加“变量聚合器”,命名“统一文本”,输出类型选择 String,候选变量依次加入 物流格式 → output、普通格式 → output。把两条模板连到聚合器。

聚合器适合这样的互斥分支:本次只产生其中一份结果。如果两个来源同时都有值,需要先明确你要拼接、排序还是选取,不能假设聚合器会替你合并所有信息。

两种模板经聚合器汇合,再由代码统一清理

这张图用来梳理关系,是教学示意图。请把图里的每条箭头与刚才的数据交接对应起来。

用两次运行看聚合器怎么选结果

试读到这里 · 后续内容已封存

关注公众号,继续把这章学完

在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。