很多人对"船在哪里"和"货什么时候到"这两个问题的边界并不清楚,容易默认它们是同一件事——只要看到船舶的AIS轨迹显示它正在向目的港靠近,就以为可以直接换算出集装箱到达仓库的具体时间。但从数据结构的角度看,这中间至少要跨过四层信息,任何一层缺失或滞后,都会让最终答案变得不可靠。
从"船在哪"到"货什么时候到",中间隔着几层
第一层是船舶(Vessel)本身的位置和航行状态,这一层主要依赖AIS信号,能够比较及时地反映船舶的地理坐标、航速和航向。第二层是集装箱(Container)与船舶的绑定关系,也就是这个具体的集装箱是否确实装载在这艘船上、装在哪个航次——这个信息来自订舱和装船记录,而不是AIS。第三层是航次与船期(Voyage / Schedule),说明这艘船本次航行计划挂靠哪些港口、预计的到离港时间。第四层才是目的港的港口与堆场作业安排(Port Call),决定集装箱卸船之后还要经过多久才能提柜。AIS轨迹只覆盖了第一层,如果直接跳过中间两层去回答"货什么时候到",实际上是在用一种数据的确定性,去冒充另一种数据本来不具备的确定性。
这四层数据里,第二层——集装箱与船舶的绑定关系——尤其容易被忽视,因为它不像AIS信号那样有一个直观的地图界面可以看,但恰恰是这一层出问题最容易造成误判。比如一个集装箱原本计划装在某航次上,但因为舱位调整被甩柜(Rolled),改配到下一个航次;或者这批货本身就需要在中转港换船,前一段和后一段实际上是两艘不同的船在承运。这两种情况下,如果只根据最初那艘船的AIS轨迹去反推到达时间,得到的结果会系统性地偏早,因为地图上跟踪的船,已经不是实际承运这批货物的那艘船了。
诚实的"暂不能确认"是什么样子
迪威国际AI在处理这类问题时,倾向于把回答拆成几个可以分别验证的部分。比如,可以确认的部分是:"根据AIS信号,该船舶当前位于目的港以东约120海里的公海区域,航速与航向显示正在朝目的港方向航行";需要谨慎对待的部分是:"该船本航次的船期计划到港时间为本月中旬,但船期本身存在按运营情况调整的可能";而暂时不能确认的部分是:"该集装箱在目的港卸船后进入堆场、完成放行手续的具体时间,需要以港区和货代后续更新为准"。这种拆分方式看起来比直接给出一个具体时间点要"啰嗦",但对于需要安排后续运输、清关或者仓储计划的用户来说,知道"到目前这一步为止能确认什么",比得到一个精确却可能落空的时间点更有实际价值。
为什么不能简单"拼接"多层数据
有一种常见但存在风险的做法,是把AIS轨迹的实时性和船期计划的确定性直接拼接在一起,制造出一种"实时精确到达时间"的错觉。问题在于,AIS反映的是船舶此刻的动态,而船期反映的是计划、并非承诺,把两者叠加计算出的时间,本质上仍然是一个预测值。迪威国际AI在设计上会保留这种区分:模型内部确实会综合AIS、船期、历史航行规律等多种信息生成一个预测区间,但这个预测区间会被清楚标注为"预测",并注明所依据的数据层级和更新时间,而不会以"确认到达时间"的措辞呈现给用户。
用一个具体场景把四层串起来看会更清楚:AIS显示某船目前位于目的港以西约80海里,航速12节,第一层的信息到此为止;查询订舱与装船记录,确认这批货对应的集装箱确实装载在这艘船本航次上,没有被甩柜或改配到其他航次,第二层确认完成;调取该航次船期,得到计划到港时间为本周四上午,第三层给出一个时间区间;最后查询目的港堆场近期同类货物从卸船到可提柜的大致处理节奏,第四层再叠加一段处理时间。只有四层都确认之后,才能把"这个集装箱大概什么时候能提货"这句话回答得站得住脚,任何一层缺席,答案都只能退回到"暂不能确认"。