「给几分钟,我帮你查一下。」——这句话背后,是促销品行业销售代表的日常噩梦。

当客户在电话里问「10美元以下的藏青色polo衫,东海岸仓库能发货的有哪些」,销售代表的真实操作是:逐个登录供应商系统,把「Polos」「Knits」「Apparel > Tops > Sport Shirts」「POLO/SPORT」「Performance Polos」这些五花八门的分类名在脑子里翻译一遍,再把结果手动拼起来。同一个产品,12种分类字符串。

打开网易新闻 查看精彩图片

PromoStandards(促销品行业标准协议)从未统一过分类。Product Data服务原封不动返回供应商填写的ProductCategory和ProductSubcategory,每家供应商各自为政。单看一家没问题,跨供应商搜索直接崩盘。

两层分类树:够用就好,别搞复杂

PSRESTful团队给出的解决方案是一个人工策划的两级分类体系,11个一级类目、约50个二级子类目,刻意保持精简:

服装下面挂T恤、Polo衫、圆领卫衣连帽衫、抓绒、四分之一拉链、半拉链、夹克、马甲、长裤、短裤、运动服、围巾;

帽子分棒球帽、针织帽、空顶帽、渔夫帽;

包袋拆背包、托特包、行李袋、冷藏包、抽绳袋;

drinkware(饮具)归保温杯、马克杯、水瓶、高脚杯;

科技类塞充电宝、充电器、音频设备、线缆适配器、手机配件、投影仪;

办公书写区放笔、笔记本、桌面配件、日历;

户外生活类铺毯子、伞、露营装备、毛巾、太阳镜;

新奇小玩意单列减压玩具、指尖玩具、毛绒玩具;

奖项认可区摆奖杯、牌匾、水晶、奖牌、绶带、地球仪;

展会 signage(标识)收横幅、旗帜、三角旗、桌布、标牌;

个人护理留洗手液、防晒霜、唇膏、口罩。

两个设计取舍值得细品。

第一,两层,不是五层。电话销售没空在十级决策树里钻来钻去,类目→子类目就是搜索过滤的极限深度。

第二,slug(URL友好标识符)才是契约,名称不是。每个类目和子类目都有稳定的slug(如polos、power-banks)和后台可编辑的name。API过滤用id,URL用slug。明天把「Tech」改名「Electronics」,下游系统无感知。

LLM填坑:历史产品的分类回填

策划分类树是简单活。真正的麻烦是:几十万存量产品,原来没有normalized_subcategory_id字段,现在得填上。

团队的做法是跑一遍大语言模型(LLM)分类器。输入产品名称、描述、供应商原始分类,输出归一化子类目。不是手工标注,也不是规则引擎硬编码,而是让模型去读文本、做判断。

这里有个隐性成本:LLM会犯错。产品名写得模糊、描述复制粘贴、供应商分类本身就乱,都会导致误判。团队需要抽样验证、置信度阈值、人工复核流程——这些原文没展开,但做产品的都懂。

最终交付形态:API里多了个normalized_category_id过滤条件。PSRESTful Product Search和PromoSync Product Search已经上线支持。

为什么这事值得技术人盯着看

这不是什么颠覆性创新,是一个典型的「协议层缺失→应用层补课」案例。

PromoStandards作为行业标准,在分类这件事上选择了放任——只传原始字符串,不做语义约束。结果全行业重复造轮子:每个分销商、每个搜索界面、每个销售工具,都要自己解决「polo衫到底叫啥」的问题。

PSRESTful的解法很务实:不试图说服几十家供应商改造系统,也不等标准组织出新版协议,直接用AI+人工策展在应用层抹平差异。分类树是开源的(YAML fixture),slug是稳定的,API是现成的。

这种「中间层标准化」的思路,在其他行业同样适用。当上游数据源碎片化、协议演进缓慢时,与其等待完美方案,不如先做一个够用的翻译层。

当然,隐患也有。分类树的边界在哪?「Performance Polos」算Polo衫还是独立子类目?供应商发明新品类(比如「 pickleball 专用服」)时,谁来决定往哪挂?原文没提这些运营细节,但长期维护一个活的标准,比建它难十倍。

以及,LLM分类的准确率到底多少?误判的产品会不会在搜索结果里彻底消失?这些才是分销商敢不敢依赖这套系统的关键。

但无论如何,销售代表终于可以在电话里直接说「我帮你搜」,而不是「给我几分钟」——这几分钟省下来,一年能多做多少单?

你们行业里,有什么「同一个东西N种叫法」的离谱案例?最后是怎么解决的,还是至今还在人肉翻译?