⌂ 门户
✓ A值校准 · 规格书① ✓ 蝴蝶效应 · 规格书②
🍣 推单Omakase · 规格书③
Agent规格说明书 · 第③张 · 共3张 · 最终张
无菜单推单 Agent
Omakase Replenishment Agent
Layer 3.0 · 自主决策
每日推单 · 闭环
这个Agent存在的理由:经销商不应该猜该订多少货。猜测产生的误差,要么是压货(A类失真),要么是断货(消费者体验受损)。

Omakase的意思是「师傅决定,你来吃」。系统已经知道每个SKU在每个节点的真实动销速率(r值)、当前库存水位、下次补货窗口。系统直接告诉经销商:你该订什么、订多少、什么时候送到。不需要人猜。
⚠️ 关键前提:这是三个Agent中执行层级最高的。 它直接产生补货订单,影响真实资金流动。因此它对前两个Agent的依赖是硬依赖——A值校准Agent必须完成本周校准,蝴蝶效应Agent必须确认目标节点无A类失真,Omakase才能为该节点生成推单。任何一个前置条件不满足,推单暂停。
0三Agent协作关系 · 顺序不可倒置
每周执行顺序(固定,不可并行)
🎯
A值校准
周一 06:00
清洁r值
干净r值输出
🦋
蝴蝶效应
周一 07:00
失真检测
健康节点名单
🍣
Omakase
周一 08:00
生成推单
推单→经销商
📦
经销商接单
24小时确认
补货执行
节点门控(Gate):Omakase在运行前检查每个目标节点的门控状态。只有同时满足「A值校准已完成本周校准」且「蝴蝶效应确认该节点无A类失真」的节点,才会生成推单。被蝴蝶效应暂停的节点自动跳过,不生成推单。
1业务合约
输入承诺 来自A值校准的干净r值 + 来自蝴蝶效应的节点健康状态 + 当前库存水位 + 经销商的账期和信用状态
输出承诺 精确的SKU×数量×时间的补货推单,发给经销商确认。不是建议范围,是具体的订单草稿。
对谁负责 经销商负责(推单要准确,不能造成压货)· 对门店负责(不能因为推单不及时导致断货)· 对公司现金流负责(推单量直接影响回款节奏)
成功标准 推单后28天内经销商消化率保持 >70% · 门店断货率 <5% · 推单量误差 <15%(实际补货量 vs 推荐量)
失败标准 推单后经销商出现A类压货(消化率下降到60%以下)· 或推单后28天内有门店出现断货超过3天
2触发条件
上游触发
蝴蝶效应扫描完成后 · 主触发
每周一蝴蝶效应Agent完成全量扫描后,Omakase接收健康节点名单,为所有通过门控的节点生成本周推单。这是主触发,覆盖所有正常经销商节点。
TRIGGER: inf_events.event_type = 'BUTTERFLY_SCAN_COMPLETE' · 周一 08:00
条件触发
水位低于1a · 紧急补货
当任何节点库存水位跌破1a(预警线),不等下周定时窗口,立即生成紧急补货推单。这是断货预防的最后防线。优先级高于常规推单。
TRIGGER: inf_heartbeat.water_level = 'WARN' OR 'LOW' → 即时触发
阻断条件
以下情况自动跳过,不生成推单
① 蝴蝶效应标记A类失真(OMAKASE_PAUSE事件存在)· ② 经销商信用评级D级(账期超期)· ③ A值校准本周未完成(数据不可信)· ④ 经销商主动申请暂停
BLOCK: 任一条件满足 → 跳过该节点 · 写入跳过原因日志
3数据读取
数据源表名关键字段用途重要性
A值校准Agent inf_node_targets r_target, confidence, calibrated_at 计算补货量的基准动销速率。confidence必须≥MED才使用。 核心·门控
蝴蝶效应Agent inf_events event_type='OMAKASE_PAUSE', node_id, sku_id 门控检查。有PAUSE事件则跳过该节点。 核心·门控
Dcloud/SAP inf_heartbeat inventory_units, water_level, inflow_units 当前库存水位,计算距离满仓还差多少,即补货量。 核心
年级系统 inf_node_targets grade, target_water_level 不同年级的目标水位不同(年级1高水位保障,年级3-4适当精简库存) 核心
经销商信用 inf_nodes credit_grade, overdue_days, overdue_amount 账期超期的经销商暂停推单,防止信用风险扩大 门控
历史推单 inf_actions action_type='REPLENISHMENT', quantity, actual_received, outcome 对比历史推单量和实际接单量,校准推单准确率 参考·学习
季节/大促日历 inf_events event_type='CAMPAIGN', multiplier, sku_ids 大促前按倍数放大推单量,大促后按消化情况缩减 参考
4决策逻辑 · 五步推单计算
1
门控检查(Gate Check)
对每个目标节点×SKU组合,检查三个门控条件。任一不满足则跳过,不进入计算。
FOR each node × sku in target_list: GATE_1: inf_node_targets.calibrated_at >= THIS_WEEK_MONDAY → A值校准本周已完成 GATE_2: NOT EXISTS OMAKASE_PAUSE event(node, sku, active) → 蝴蝶效应未标记失真 GATE_3: inf_nodes.credit_grade != 'D' → 经销商信用正常 IF all gates pass → CONTINUE to step 2 IF any gate fails → SKIP, log reason, notify DOM
2
计算目标库存量
根据年级和节点类型,确定目标水位(满仓应该是多少)。
-- 目标水位规则(按经销商层级) 经销商满仓目标: 年级1-2(成长期): 2a ← 需要充足库存支撑铺货 年级3(成熟期): 2a ← 维持正常 年级4-5(特殊): 1.5a ← 谨慎,避免压货 -- a值计算 a = r_target × T (T=经销商补货周期,通常30天) target_inventory = target_water_level × a -- 案例:遵循自然500ml · 宝仓贸易 r_target = 4.82件/天, T = 30天 a = 4.82 × 30 = 144.6件 ≈ 145件 target_inventory = 2a = 290件(满仓目标)
3
计算补货量
用目标库存减去当前库存,再加上补货到达前预计消耗的量(在途消耗保护)。
-- 基础补货量 replenishment_base = target_inventory - current_inventory -- 在途消耗保护(物流时间 × r值) lead_time_days = 3 -- 从推单到到货的天数 lead_time_consumption = r_target × lead_time_days -- 最终推荐补货量 replenishment_qty = replenishment_base + lead_time_consumption -- 案例:遵循自然500ml · 宝仓贸易 current_inventory = 180件(当前库存) replenishment_base = 290 - 180 = 110件 lead_time_consumption = 4.82 × 3 = 14.5 ≈ 15件 replenishment_qty = 110 + 15 = 125件 -- 最小推单保护(避免小额频繁推单) IF replenishment_qty < 0.3a → 延迟到下次推单合并
4
季节和大促调整
根据日历事件,对推单量进行系数调整。大促前加量,大促后减量。
大促前14天 推单量 × 大促系数(通常1.3-1.5)。系数由管理层通过C1规则设定。
季节性月份 如有历史同期数据,应用seasonal_coeff(第一年无数据则coeff=1.0)
大促后2周 如消化率还在75%以上,正常推单。如消化率下降,减量50%,防止大促后二次压货。
正常周期 无调整,使用步骤3的计算结果。
5
SKU组合优先级排序
对同一经销商的所有SKU推单,按优先级排序生成推单清单。帮助经销商在资金有限时决定先订哪个SKU。
优先级评分 = 水位紧急度(40%) + 年级战略价值(30%) + 利润贡献(30%) -- 水位紧急度 EMPTY/LOW = 100分,WARN = 70分,FULL = 0分 -- 年级战略价值(公司设定权重) 年级1遵循自然 = 90分(战略新品,优先铺货) 年级3红烧系列 = 80分(现金奶牛,保障供应) 年级4特级酱油 = 50分(谨慎推进) -- 利润贡献(经销商视角) 进货利差最大的SKU优先
+推单样例 · 宝仓贸易(浦东)
🍣 本周补货推单
宝仓贸易 · 浦东 · 2026-W15 · 周一生成
年级2
遵循自然 500ml
水位1.4a→目标2a · r=4.82件/天 · 在途3天消耗15件
🔴 优先
125件
建议补货量
年级3
红烧酱油系列
水位1.8a→目标2a · 正常补货 · r=8.4件/天
🟡 正常
68件
建议补货量
年级3
红烧酱油大装
水位1.9a→目标2a · 接近满仓 · 小量补充
🟢 补充
24件
建议补货量
年级1
遵循自然 1L
水位1.2a→目标2a · 需要补充 · r=3.1件/天
🔴 优先
96件
建议补货量
年级5
特级酱油 885ml
⚠️ 蝴蝶效应暂停 · 消化率61% · 本周跳过
⏸ 已暂停
本周不推单
5输出规格
📱 企微推单通知 · 经销商接收 企业微信
推送给经销商的推单卡片,包含完整SKU清单、数量、建议原因、总货款。24小时内确认,超时视为接受。经销商可以修改数量,但修改超过±30%需要DOM确认。
【🍣 本周补货推单】宝仓贸易 ────────────────────── 📦 遵循自然500ml → 125件 🔴 📦 遵循自然1L → 96件 🔴 📦 红烧酱油系列 → 68件 🟡 📦 红烧酱油大装 → 24件 🟢 ⏸ 特级酱油885ml → 本周暂停 合计:313件 / ¥28,400 建议到货日:2026-04-17(周四) [确认接单] [修改数量] [本周跳过] ────────────────────── 24小时内未回复 = 默认确认
🗄️ 写入推单记录 inf_actions
每笔推单写入inf_actions,后续跟踪实际接单量、到货量、结果,形成学习闭环。
INSERT INTO inf_actions VALUES ( action_type: 'REPLENISHMENT', node_id: 'DIST-BC', sku_breakdown: [ {sku:'ZR5', qty:125, priority:'HIGH', reason:'water_level_1.4a'}, {sku:'ZR1', qty:96, priority:'HIGH', reason:'water_level_1.2a'}, {sku:'HS', qty:68, priority:'MED', reason:'normal_replenishment'}, {sku:'HSL', qty:24, priority:'LOW', reason:'top_up'}, {sku:'TJ', qty:0, priority:'SKIP', reason:'OMAKASE_PAUSE'}, ], total_qty: 313, total_value: 28400, status: 'PENDING_CONFIRMATION', created_at: NOW() )
📊 推单结果跟踪 · 28天后 INFINITY OS界面
推单28天后,系统自动回顾:实际消化率是否达标?是否出现断货?推单量误差多大?结果写入学习日志,提高下次推单准确率。
推单结果回顾 2026-W15 · 宝仓贸易 ────────────────────── 遵循自然500ml: 推单125件 → 实际接收122件 → 28天消化率81% ✅ 推单准确率: 97.6% 结论: 推单量合理 遵循自然1L: 推单96件 → 实际接收96件 → 28天消化率69% ⚠️ 消化率略低,下次推单减量10% 整体评分: 4.2/5.0 ────────────────────── 学习更新: ZR1节点r值可能略高估,下周校准时参考
6自主边界
✅ Agent可以自动执行
门控检查和跳过(Gate Check)
补货量计算(全公式,无人工干预)
生成推单草稿并推送给经销商
24小时超时后默认确认
紧急补货(水位LOW)即时触发
28天后自动回顾并写入学习日志
❌ 必须人工确认
经销商修改推单量超过±30%
单笔推单金额超过¥100,000
新经销商首次推单(无历史数据)
大促前推单系数调整
连续两周推单被拒绝(需调查原因)
A值置信度为LOW时的任何推单
+依赖关系
⚠️ 硬依赖:A值校准本周完成
⚠️ 硬依赖:蝴蝶效应扫描完成
⚠️ 需要:Dcloud库存数据实时接入
⚠️ 需要:企微发送权限配置
✅ 输出给:经销商(推单卡片)
✅ 输出给:一本账(推单量影响薪酬计算基数)
✅ 输出给:DOM(被跳过节点的通知)
📊 反馈给:A值校准(28天结果用于下次校准参考)
+核心SQL · Java团队实现参考
-- ① 门控检查:查询可以推单的节点 SELECT DISTINCT h.node_id, h.sku_id FROM inf_heartbeat h JOIN inf_node_targets t ON h.node_id=t.node_id AND h.sku_id=t.sku_id JOIN inf_nodes n ON h.node_id=n.node_id WHERE h.date = CURDATE() -- Gate 1: A值校准本周已完成 AND t.calibrated_at >= DATE_SUB(NOW(), INTERVAL 7 DAY) AND t.confidence IN ('HIGH','MED') -- Gate 2: 蝴蝶效应未暂停 AND NOT EXISTS ( SELECT 1 FROM inf_events e WHERE e.node_id=h.node_id AND e.sku_id=h.sku_id AND e.event_type='OMAKASE_PAUSE' AND e.created_at > DATE_SUB(NOW(), INTERVAL 7 DAY) ) -- Gate 3: 信用正常 AND n.credit_grade != 'D'; -- ② 计算补货量(核心公式) SELECT h.node_id, h.sku_id, t.r_target, t.grade, h.inventory_units AS current_inventory, -- a值 ROUND(t.r_target * 30) AS a_value, -- 目标水位(年级1-3为2a,年级4-5为1.5a) ROUND(t.r_target * 30 * IF(t.grade <= 3, 2.0, 1.5)) AS target_inventory, -- 基础补货量 GREATEST(0, ROUND(t.r_target * 30 * IF(t.grade <= 3, 2.0, 1.5)) - h.inventory_units + ROUND(t.r_target * 3) -- 在途消耗保护(3天) ) AS replenishment_qty FROM inf_heartbeat h JOIN inf_node_targets t ON h.node_id=t.node_id AND h.sku_id=t.sku_id WHERE h.date = CURDATE() AND h.node_id IN (/* 步骤①的结果 */); -- ③ 写入推单记录 INSERT INTO inf_actions ( action_type, node_id, sku_id, quantity, priority, reason, status, created_at ) VALUES ( 'REPLENISHMENT', ?, ?, ?, ?, ?, 'PENDING_CONFIRMATION', NOW() );
🍣 Omakase推单 Agent · 问答
经销商拒绝推单
低置信度下如何推单
大促后库存积压
三Agent完整闭环
你好,我是Omakase推单 Agent 规格说明书。三张规格说明书的最后一张。问我任何关于推单逻辑、门控机制、闭环设计的问题。
三张Agent规格说明书完成
A值校准 → 蝴蝶效应 → Omakase推单
顺序固定 · 依赖关系明确 · 自主边界清晰 · 学习闭环建立
🎯 规格书① 🦋 规格书② ⌂ 返回门户