多智能体协同的仓储盘点与库存差异复盘落地

日期:2026-08-15

一、项目背景

某仓储企业每月大盘点,人工点数慢、错漏多,账面和实物的差异往往要等盘完对不上才暴露,追查谁动过哪批货基本靠猜。我们进场时,这家企业最头疼的不是盘点本身,是复盘。每次盘完出了差异,财务和库管互相扯皮,说不清是哪天、哪批、哪个人出的问题,差异就这么挂着,越积越多。这件事背后是盘点数据和日常作业数据完全割裂,盘点是盘点的,作业是作业的,两套对不上,复盘根本无从下手,最后差异成了糊涂账,谁都不认。

二、落地场景

我们基于 XpShop 的仓储模块,搭了一套多智能体协同的盘点复盘系统。盘点计划 Agent 按库区和品类生成盘点任务和优先级,PDA 扫码采集 Agent 把实点数实时回传,差异识别 Agent 边扫边比账面,当场标出差异批次,复盘定位 Agent 拉取该批次近期的出入库、移库、盘盈盘亏记录,给出最可能的责任环节,库管和财务在协同看板上确认闭环。整个过程从月末突击变成日常边盘边比,盘点不再是一个月最恐怖的那几天,而是分散在日常里悄悄完成。

三、关键技术挑战与解决思路

第一个难点是盘点数据采集噪声。PDA 扫码偶尔漏扫、重复扫,直接进系统会制造假差异,我们加了采集去重和异常值校验,连续两次不一致才标差异,把噪声挡在入库前。第二个难点是差异实时识别,传统是盘完统一算,我们改成边扫边比,当场抓出问题批次,库管能立刻去现场复核,而不是几天后对着报表发呆。第三个难点是差异根因定位,光说差了多少没用,要指出可能是哪次移库漏记还是哪次出库超发,我们靠把批次的全生命周期记录拉出来做时间线比对。第四个难点是容差分品类,贵重件和低值件用同一套容差会淹没真问题,我们按品类设不同阈值。我后来觉得,差异阈值别定太死,不同品类允许不同容差,贵重件严、低值件松,否则海量低值差异会淹没真正要紧的问题,复盘反而找不到重点。

还有一块是盘点任务的优先级编排,不是所有库区都同等重要,我们把高值件和近期动过的库区排前面,先盘易错的重点,再扫全量,避免人力平均使在低风险区。这个排法让差异发现得更早,库管复核也不用等全部盘完,当场就能去现场核对。

另外,盘点数据的实时看板要给库管和财务两边看,但视角不同,库管看自己库区的差异、财务看全局账实,我们做了角色视图,避免一个人盯着全公司数据反而抓不住自己的问题。这层做好,复盘会上不再互相甩锅,因为责任环节系统已经指出来了,大家只对数据。看板不是把数堆出来就行,给什么人看什么数,才是它能不能用起来的关键。

四、效果数据

上线后,月度大盘点耗时从约五天降到约两天,账实差异率从约千分之八降到约千分之二。差异定位时效从盘后平均约三天压到当场(边盘边比),复盘闭环率从约五成提升到约九成。一个季度靠差异定位追回的错发漏记约两百余笔,财务与库管的扯皮工单下降约六成。库管用于解释差异的时间大幅减少,因为系统已经把责任环节指出来了,不用再翻半天记录自证清白。财务侧最满意的是差异不再挂账,当月就能调账闭环。

账实差异率压下来之后,财务终于敢用系统数据做月度经营分析,不再另起一套手工台账,信任是慢慢建立起来的,当初他们可不信这套自动盘点能对得准。

五、可复用经验总结

盘点差异别等盘完再算,边扫边比才能当场抓出问题批次,复盘也才有抓手,这是和人工盘点最大的区别,也是系统真正值钱的地方。容差要分品类,贵重件严查、低值件放宽,否则低值差异的噪声会把真正要紧的问题淹掉,我们一开始不分就吃过这个亏,复盘会开了半天没结论。差异定位必须拉全生命周期时间线,只报差多少等于没说,指出可能是哪次作业出的错,库管和财务才服气,扯皮才止得住。说到底,盘点的目的不是点准那一刻,是让差异再也藏不住、查得清,日常作业才会认真起来,系统装上去半年,仓里的马虎劲儿肉眼可见地少了。

我们交过学费的那个不分容差阶段,复盘会开了半天没结论,低值差异的噪声把真问题淹了。后来分品类设阈值,贵重件严查、低值件放宽,复盘才抓得住重点。系统上线半年,仓里的马虎劲儿肉眼可见少了,这才是盘点真正的价值,也不枉我们折腾这一通。

盘点系统上线半年,最让我们意外的是仓管的态度变了,因为差异清清楚楚,马虎的人自己就绷紧了,这才是系统真正的后遗症。

案例片段(已脱敏): 差异阈值与复盘定位规则:yaml stocktake:  realtime_compare: true          # 边扫边比账面  tolerance_by_category:    valuable: 0.001               # 贵重件严    low_value: 0.01               # 低值件松  dedup:    rescan_conflict: 2            # 两次不一致才标差异  locate:    timeline: [inbound, move, outbound, adj]复盘定位日志节选:[2026-07-28] batch=B_55210 品类=valuable  实点 480 账面 483, 差异 -3  时间线比对: 出库单 O_88120 超发 3 件  责任环节: outbound, 复核人 U_339  闭环: 库管确认, 财务调账