某加工厂在一批成品里检出了问题(示意场景),这时第一个要回答的往往不是“为什么”,而是“范围有多大”。全部召回,成本很高,还会波及大量没有问题的产品;只召回同一天出厂的,又怕漏掉用了同一批原料、却在别的日期出厂的产品。能不能把范围缩到“确实可能受影响”的那一部分,取决于手里有没有一张能被查询的关系图。
节点和边怎么定义
供应链关系图里,节点可以是农场或地块、加工厂与产线、分销商与仓库、批发市场、零售门店,也可以是批次、原料批次和检测记录。边描述节点之间发生过的关系,比如“供货给”“加工自”“运输到”“销往”,还可以带上时间、数量、温度记录等属性。
同样的数据,用批次做节点还是用企业做节点,能回答的问题并不相同。
- 企业级的图能看出谁和谁有合作,适合做供应商网络的整体分析。
- 批次级的图才能回答“这一批产品的原料来自哪块地、哪一天送到哪个工厂”。
- 检测记录挂在批次或节点上,成为图中可以被查询的属性,比如某个供应商关联的批次里有多少次异常。
图能回答哪些问题
有了图,至少可以问三类问题。向上追溯:问题批次的原料来自哪些农场和供应商。向下扩散:同一批原料还流向了哪些加工厂、分销商和零售点。相似模式:哪些节点在关系结构上与已经出问题的节点很像,值得优先检查。前两类是图上的遍历,本身不需要机器学习;第三类才会用到图学习。
知识图谱在图的基础上补充关系类型和语义,比如“产品含有原料”“供应商位于产地”“检测检出物质”,让查询和推理更接近业务语言。图神经网络(Graph Neural Network,GNN)则让每个节点吸收邻居的信息,学出一个向量表示,再据此预测这个节点的风险。
图中橙色的那条路径是示意:Farm 2 经加工厂 1 与分销商 2 流向两个下游市场,受影响范围应当是这条路径的沿线与末端,而不是整个网络。把召回范围从“整个网络”缩到“路径上的节点”,就是图带来的直接收益,也是纵横国际官网关注的食品安全问题之一,这类思路同样可用于农残异常批次追踪。
回到开头那批产品
以开头的问题批次为例(示意),缩小范围大致有四步:先从问题批次向上找到它用到的原料批次和对应农场;再从这些原料批次向下找出所有下游批次;接着用时间窗口和运输记录剔除在时间上不可能的路径,比如问题原料到厂之前就已经出厂的产品;最后对下游关键节点安排优先检测,用检测结果验证这个范围是否合理。
- 问题批次
- 原料批次与农场
- 全部下游批次
- 时间与运输记录过滤
- 优先检测验证
每一步都可能因为混批或记录缺失而不得不放宽,所以图给出的是“先查哪里”的顺序,而不是一条不容置疑的边界。
现实里的难点
- 数据共享:各环节属于不同企业,批次记录分散在各自的系统里,谁愿意共享、共享到什么粒度,往往比算法更难。
- ID 对齐:同一个供应商在不同系统里名称与编码写法不同,批次号规则也不统一,图上会出现本该合并却分开的两个节点,或者被误合并的两个节点。
- 缺失:中间某个环节没有记录,路径就断了;混批、分装会让一对一的关系变成多对多,追溯范围随之迅速扩大。
- 隐私与商业敏感:供货关系与价格属于商业信息,往往只能共享脱敏或聚合后的数据。
这些难点决定了:图的质量取决于最薄弱的那个环节,而不是最先进的那个环节。上面提到的检测记录如果没有按批次写回,图上的“异常”标记就是空的,这也是抽检结果回写要坚持做的原因。
一项相关的研究
2026 年发表在 Journal of Visualization 的一项研究,把元路径驱动的异质图学习用于可解释的食品安全风险预测。异质图是指节点和边有多种类型;元路径则是规定一条类型序列,比如“批次—供应商—批次”,表示由同一供应商联系起来的两批产品(此处仅为举例说明概念)。这类方法的吸引力在于,元路径本身有业务含义,模型的判断更容易回溯成“因为哪些关系”。另有 2026 年的综述性论述讨论了知识图谱与大语言模型协同用于食品安全的方向。它们同样属于研究阶段的成果,能否落地,取决于上面那些数据条件。
无论图多完整,它给出的都是“值得优先查”的范围与线索。关联不等于因果,最终确认仍要靠批次记录、现场核查和法定检验。