更新说明(2026年9月23日):本文保留 MapleBridge Open 的历史技术示例,不代表当前网站提供供应商搜索、工厂核验或自动匹配。当前 MapleBridge 采购工作区用于整理询价、邀请买家已有的供应商联系人及比较报价。示例中的产品与资料不构成核验结论,采购条件仍需买卖双方确认。
最近在整理 MapleBridge Open 里的采购匹配逻辑时,我发现一个很基础但容易被跳过的问题:
买家的需求,通常不是结构化数据。
他不会一开始就把品类、数量、市场、认证、包装、交期都填好。更多时候只会写一段很普通的话:
我想找一个能做 USB-C 充电器的中国工厂,先小批量试单,主要卖到加拿大,最好能先打样。
人看这句话不难。
但如果要让系统去匹配供应商,这句话还不能直接用。
因为里面有些信息已经明确,有些信息只是模糊表达,还有一些关键字段完全没说。
我现在会先做一个很小的 Intent Parser,不急着推荐供应商,而是先把这段话拆成一个可以继续处理的结构。
比如先定义一个结果格式:
intent = { "product": None, "target_market": None, "order_stage": None, "quantity": None, "supplier_type": None, "certification": [], "packaging": None, "sample_required": None, "missing_fields": [] }
然后用最简单的规则先跑一版。
def parse_buyer_intent(text: str) -> dict: intent = { "product": None, "target_market": None, "order_stage": None, "quantity": None, "supplier_type": None, "certification": [], "packaging": None, "sample_required": None, "missing_fields": [] } if "USB-C" in text or "充电器" in text: intent["product"] = "USB-C charger" if "加拿大" in text: intent["target_market"] = "Canada" elif "美国" in text: intent["target_market"] = "United States" if "工厂" in text: intent["supplier_type"] = "factory" if "小批量" in text or "试单" in text: intent["order_stage"] = "trial order" intent["quantity"] = "small batch" if "打样" in text or "样品" in text: intent["sample_required"] = True for cert in ["FCC", "CE", "UL"]: if cert in text: intent["certification"].append(cert) required_fields = [ "product", "target_market", "quantity", "supplier_type", "sample_required" ] for field in required_fields: if not intent[field]: intent["missing_fields"].append(field) if not intent["certification"]: intent["missing_fields"].append("certification") if not intent["packaging"]: intent["missing_fields"].append("packaging") return intent
测试一下:
text = "我想找一个能做 USB-C 充电器的中国工厂,先小批量试单,主要卖到加拿大,最好能先打样。" result = parse_buyer_intent(text) for key, value in result.items(): print(key, ":", value)
输出大概是:
product : USB-C charger target_market : Canada order_stage : trial order quantity : small batch supplier_type : factory certification : [] packaging : None sample_required : True missing_fields : ['certification', 'packaging']
这个结果看起来很简单,但已经比原始文本更有用。
系统至少知道了几件事:
买家要找的是 USB-C 充电器;
目标市场是加拿大;
当前不是大货阶段,而是小批量试单;
买家倾向找工厂;
需要先打样;
认证和包装信息还没说清楚。
这时候系统不应该马上去推荐供应商,而是应该先追问:
这个产品卖到加拿大,是否需要 FCC、UL 或其他认证? 包装是否需要英文/法文标签? 预计试单数量是多少? 是否有功率、接口、颜色或外壳定制要求?
我觉得这一步很关键。
很多匹配失败,不是因为没有供应商,而是因为买家的 brief 太模糊。
如果系统拿着模糊需求直接去匹配,结果只是把“人工搜索供应商”换成了“自动搜索供应商”。看起来更快,但本质上还是在猜。
所以我更愿意先把 Buyer Intent Parser 做扎实。
它不需要一开始就很复杂。
第一版甚至可以只是规则、关键词和字段缺失检查。
等字段稳定之后,再考虑用模型做更灵活的语义解析。
一个比较实际的流程是:
原始采购需求 → Intent Parser → 结构化采购 brief → 缺失字段追问 → 供应商能力匹配 → 匹配解释
这里的重点不是让 AI 直接给答案。
重点是让系统先知道:哪些信息已经明确,哪些信息还不能拿来匹配。
在 B2B 采购里,这个步骤比推荐算法更靠前。
因为供应商匹配不是只看“产品关键词相似”。
还要看 MOQ、认证、目标市场、样品周期、包装要求、出口经验,以及哪些地方必须人工确认。
我现在做 MapleBridge Open 时,就是先从这些小字段开始拆。
不是因为这部分技术最炫,而是因为它最接近真实采购沟通里的问题。