工作流¶
数据在 Catalog 登记后仍是原始形态——PDF、表格、音视频都还不能被 AI 直接检索。把它们解析、切分、向量化,加工成 AI 可用的数据,这件事由工作流承担。一条工作流,就是一份”如何加工这批数据”的定义:一组算子(算子),加上数据在算子之间流动的顺序。
先分清三个词¶
“工作流”常被混用,先把它和两个近义词分开:
说的是 |
到底指什么 |
|---|---|
工作流 |
一份定义——记录加工步骤与顺序的文件,存放在 Catalog;不启动就只是躺着,不产生任何动作。 |
一次运行 |
这份定义被启动后的一次执行;每启动一次,就多一条工作流作业。 |
画布 |
只是编辑这份定义的方式之一,不是工作流本身。 |
记住这条区分:后面一旦出问题,第一个要问的就是——是这份定义写错了,还是这一次执行坏了。
它在整张图的位置¶
工作流处在数据从”原始”走向”可用”的中间一段:
Catalog 登记的原始数据 → 工作流加工 → 知识库 / 智能体
上游,它按地址从 Catalog 取到要加工的数据;下游,它把产物写回 Catalog 并登记血缘,知识库和智能体再从那里取用。工作流自己不保管数据,它只负责”加工”这一段动作。
同一份定义,三种方式都能搭¶
工作流的门槛之所以低,关键在一点:加工步骤被写成一份数据(定义文件),而不是一段只有工程师能改的程序。于是同一份定义,三种方式都能产出——
业务人员在画布上拖拽算子、连线;
工程师直接编写定义文件;
或用自然语言描述需求,由内置 AI 生成,再接着调。
三种方式产出的是同一种定义文件,跑起来完全一样。这就是工作流把”数据处理”从工程师专属,降到”讲得清需求就能搭”的原因:用自然语言配上平台封装好的算子,拼出处理各类数据的流程——结构化数据交给 SQL 算子,非结构化数据交给解析、切分等算子,特殊需要还可写自定义算子。
能启动,不等于结果对¶
调度引擎严格按定义执行,但它不理解业务意图:定义里接错的线、填错的参数,都会被原样跑完。所以一份能保存、能启动的工作流,不代表它能产出正确结果。结果对不对,要在工作流作业里逐一核对——定位失败的具体方法,见运行与调试。