日期:2026-07-13
这个项目的客户是某头部美妆品牌商,他们使用我们自研的 XpShop 全渠道电商系统承载 S2B2B2C 业务,下游连着几百家经销商门店,上游对接品牌方的供应链与仓储履约。补货这件事过去高度依赖采购员的经验:每天看销量、看库存、看在途,凭手感决定给每个门店补多少。问题有三——一是人工判断慢且不一致,资深采购员和刚上岗的新人给出的建议能差出一大截;二是缺货与积压并存,热门品经常断档,长尾品又堆在仓库吃资金;三是采购员大量时间耗在"拉数据"而非"做决策"上。
我们当时想得很清楚:补货是一个多步骤、跨系统、需要判断的流程,不是靠一个提示词、一个模型就能硬扛下来的。销量预测要历史数据建模,库存研判要实时查库,补货建议生成要理解业务规则,最后还得有人拍板。于是我们决定在 XpShop 供应链系统上构建"辅助采购"多智能体,把流程拆成几个职责单一的 Agent,由 AI 网关做编排、路由与计量。这里用的是我们采用的私有化 AI 底座(vLLM 推理 + 向量库 + RAG 知识库 + 算力调度监控分层架构)和 AI 网关协同的方案。
整个补货流程被拆成四个 Agent 串行 + 并行协作:
AI 网关在这个架构里承担两个角色:一是编排层(Orchestration),定义 Agent 间的串行/并行/回退关系;二是路由与计量,把每个 Agent 的请求路由到底座不同模型实例(轻量分类用私有小模型,复杂生成用大模型),并统一计量 token 与成本。底座与网关的协同还体现在:网关的限流信号会反向驱动底座弹性扩缩容,形成算力—流量联动闭环。
① 多 Agent 编排
我们没用某开源社区的重量级编排框架,而是在网关编排层用声明式定义工作流。预测和库存是两个可并行的叶子节点,都完成后再触发分析 Agent;分析 Agent 失败(如模型超时)则回退到"基于安全库存的兜底规则"而非整条链路崩掉。编排定义存为可版本化配置,改流程不需动业务代码。
② Agent 间上下文传递与状态管理
各 Agent 不直接互相调用,而是通过一个共享的"任务上下文对象(TaskContext)"传递状态:预测 Agent 写入 forecast 字段,库存 Agent 写入 inventory 字段,分析 Agent 读取两者生成 suggestion。上下文用带 TTL 的缓存保存,避免一次补货任务跨 Agent 时状态丢失;同时上下文里只放脱敏后的业务数据,不夹带敏感字段(复用网关的脱敏关卡)。
③ 工具调用的权限与重试
Agent 要查数据库、调 ERP 接口,这些工具调用统一收口到网关的工具代理层。每个工具声明所需权限(如"只读库存""写入采购单需人工确认"),Agent 拿不到越权工具。调用失败按指数退避重试,三次失败后标记该工具不可用并走兜底逻辑,不阻塞主流程。ERP 写入类操作强制要求人在回路确认,Agent 本身无落单权限。
④ 人在回路
高风险定义得很具体:单笔补货金额超阈值、或建议量超过历史峰值的 2 倍、或涉及新供应商的,一律转人工。确认 Agent 把建议推到采购员管控台,附上模型给出的依据(销量预测曲线、库存缺口),采购员一键确认或修正。这层是"守最后一关"的保险,而不是流程负担——日常 70% 的低风险建议其实可自动预填,只把异常留给人工。
⑤ 网关对 Agent 高频调用的限流与成本治理
多个 Agent 在短时间内可能并发打满底座 GPU。网关对每个 Agent、每类模型设令牌桶限流,超阈值降级到私有小模型或排队。计量按"部门—应用—Agent—模型"四级维度沉淀,月底能看清"预测 Agent 花了多少、分析 Agent 花了多少",避免多 Agent 协同变成成本黑洞。
案例片段(已脱敏): 一次补货流程的 Agent 编排定义(YAML 示意):
yaml workflow: replenish steps: - id: forecast agent: 预测Agent model: ts-forecast-private parallel_with: [inventory] - id: inventory agent: 库存Agent tool: wms.query_stock parallel_with: [forecast] - id: analyze agent: 分析Agent model: llm-gen-private depends_on: [forecast, inventory] on_fail: fallback_rule_based - id: confirm agent: 确认Agent human_in_loop: true risk_rule: "amount>50000 OR qty>2*peak" depends_on: [analyze]一次补货任务运行日志(脱敏后摘要):[10:02:01] 预测Agent 拉取 SKU-A 90天销量 → 14天预测均值 320/日 [10:02:03] 库存Agent 查 WMS → 可用 180,在途 0,安全库存 200 [10:02:09] 分析Agent 生成建议 → 补货 3,200,优先级 HIGH [10:02:11] 确认Agent 触发人在回路(金额超阈) → 推送采购员 u_203 [10:05:40] 采购员确认 → 落单 ERP PO-20260418-0771
运行约一个季度后,统计脱敏示意数据(均为脱敏示意值,非审计级精确数字):
结语:多智能体协同不是把多个模型拼在一起那么简单,真正落地靠的是清晰的职责切分、可靠的编排与回退、以及对工具调用和成本的可治理。在 XpShop 供应链这个场景里,我们体会到——把复杂流程拆成会协作的 Agent,比训练一个"什么都会"的巨模型,工程上要稳健得多,也更容易让业务方真正用起来。