← Gimbo's Universe/ AI Builder/ MetisMetis
Supply Chain · v1.0 framework 供应链 · v1.0 框架

Metis.

Metis.

Your supply pilot in the AI era.

AI 时代的供应链副驾。

Metis is a procurement AI — a v1.0 framework, built solo and run locally, at the scale of a typical mid-size distributor (all synthetic): 10 vendors, 2,000 SKUs, ~200 purchase-order lines a week. It reads vendor confirmation emails, drives every PO line from its MRP qty through ordered → confirmed → received, chases what goes quiet, and re-orders what runs low. The routine clears itself; only the exceptions reach a planner. The whole thing runs against a deterministic world simulator, so the one number that matters can be measured: how high does the touchless rate go.

Metis 是一个采购 AI —— 一个独立搭建、本地运行的 v1.0 框架,按一家典型中型分销商的规模建模(全为合成数据):10 家供应商、2,000 个 SKU、每周约 200 条采购订单行。它读供应商的确认邮件,把每一条 PO 行从 MRP qty 一路推过 下单 → 确认 → 收货,对沉默的订单自动跟催,对见底的库存自动补货。日常的活儿自己清掉,只有例外才送到计划员手里。整套系统跑在一个确定性的世界模拟器上,于是那个唯一重要的数字可以被测量:touchless rate 到底能到多高。

~85%
Touchless rate at steady state
稳态零接触处理率
10
Vendors, each its own behaviour profile
家供应商,各有行为档案
2,000
SKUs across 3 stock policies
个 SKU,3 种库存策略
~200
PO lines flowing per week
条 PO 行 / 周流量
The closed loop
闭环

One loop, advanced by a world clock.

一个闭环,由世界时钟推进。

Nothing here is a one-shot demo. A world simulator owns a clock you can fast-forward a day or a week at a time. Demand draws stock down, the replenishment scan cuts new POs, vendors reply in character — clean, rescheduled, split, short-shipped, wrong part number — the AI inbox processes each reply, chases the silent ones, and receipts close the line. Then the clock ticks again. Seeded and deterministic, so every run reproduces.

这里没有一次性演示。一个世界模拟器掌管时钟,可以一天、一周地快进。需求把库存拉低,补货扫描切出新 PO,供应商按各自性格回信 —— 干净确认、改期、分批、短供、物料号对不上 —— AI 收件箱逐封处理,对沉默的订单跟催,收货关闭订单行。然后时钟再走一格。种子确定、可复现,每次跑结果一致。

Demand draws stock down需求消耗库存 Replenish补货扫描 Min-Max · FCST · BTO gap → MRP qty缺口 → MRP qty Vendor reply供应商回信 in character按各自性格 reschedule · split · short改期 · 分批 · 短供 AI inboxAI 收件箱 parse · resolve part #解析 · 实体解析 auto-apply / queue自治 / 排队 Receive收货 close the line关闭订单行 + lead-time drift+ 交期漂移 Chase跟催 silent → 3x沉默→三催 → escalate→ 升级 World simulator advances the clock · +1 day / +1 week · seeded, reproducible世界模拟器推进时钟 · +1 天 / +1 周 · 种子确定、可复现
The unit of work
工作的最小单位

Every PO line is a small state machine.

每一条 PO 行,都是一个小状态机。

Not the order — the line. A line opens with an MRP qty, and that number isn't a guess: it's the gap between the line's target level — set by its stock policy (a Min-Max ceiling, forecast coverage, or a one-off build order) — and what's physically on hand, netted of what's already on order. Demand draws on-hand down; when the gap opens past the trigger, that gap is the qty to buy. From there the line walks three yes/no checkpoints: ordered?vendor confirmed?warehouse received? — carrying its promised dates, confirmed/received quantities, and a chase counter the whole way. Every agent reads and writes this one table; that's what makes the touchless rate measurable: a line either cleared its checkpoints itself, or it didn't.

不是订单 —— 是。一条行从 MRP qty 起步,而这个数不是拍脑袋:它是该行目标量(由库存策略决定 —— Min-Max 上限、预测覆盖、或一次性按单备货)与现实库存之间的缺口,再扣掉已在途/在订的量。需求把库存拉低,当缺口跌破触发点,这个缺口就是该采购的量。之后行走三道是/否检查点:下单与否供应商确认与否仓库收到与否 —— 一路带着承诺日期、确认/收货数量、跟催计数。所有 agent 读写同一张表;正因如此 touchless rate 才可度量:一条行,要么自己清掉了检查点,要么没有。

MRP qty target − on-hand目标量 − 现实库存 net of on-order · e.g. 240 ea再扣在途 · 例 240 件 the gap demand opens up需求拉开的缺口 ordered PO cut已下单 ✓ placed confirmed qty + date locked数量 + 日期已锁 ✓ vendor received warehouse, closed仓库收货,关闭 ○ pending order?下单与否 vendor confirms?确认与否 received?收货与否 silent → chase++沉默 → 跟催++ reschedule → new date改期 → 刷新承诺日
Where the line is drawn
线划在哪

It acts where there's no judgement. It stops where there is.

没有判断的地方它自己做,有判断的地方它停手。

The whole design lives in this split — an L2 autonomy tier that writes back only zero-judgement lines, and routes anything that touches demand, quantity, or an unknown part to a human queue. Think autopilot: Metis flies the routine legs; you stay pilot-in-command for the exceptions. The touchless rate is the size of the left column.

整套设计就活在这条分界上 —— 一个 L2 自治分级,只让"零判断"的行自己写回,任何触碰需求、数量、或未知物料号的,统统送进人工队列。把它想成自动驾驶:Metis 飞日常航段,你在例外处接管为机长(pilot-in-command)。touchless rate 就是左栏的大小。

Acts alone · L2自治执行 · L2

The line writes itself back

行自己写回

zero judgement — no human in the loop
零判断 —— 无需人介入
  • Full-order confirmation — vendor confirms qty and date as ordered
  • 整单确认 —— 数量与日期均按下单确认
  • Original date held — promised date unchanged
  • 原日期确认 —— 承诺日期未变
  • Small reschedule — ≤3 days late with no open-order impact
  • 小幅改期 —— ≤3 天且不影响在手需求
  • Standard reorder — within the routine reorder threshold
  • 标准补货 —— 在常规补货阈值内
  • Known part number — resolves exact, or via the learned cross-ref
  • 已知物料号 —— 精确匹配,或经已学习的交叉引用解析
Escalates · human queue升级 · 人工队列

A planner decides

由计划员定夺

judgement required — the exceptions
需要判断 —— 例外在这里
  • Touches demand — a vendor change breaches an open sales order or pushes net availability below the reorder point
  • 触碰需求侧 —— 供应商的变更打穿在手销售订单,或把净可用量压到再订货点以下
  • Quantity mismatch — confirmed qty ≠ ordered qty
  • 数量不符 —— 确认数量 ≠ 下单数量
  • Split shipment — line fractures into multiple deliveries
  • 分批交付 —— 一行裂成多次交货
  • Unknown part number — no resolve; learned once, then permanent
  • 未知物料号 —— 无法解析;人工解一次,永久学习
  • Three chases, no reply — escalates out of the loop
  • 三催无回应 —— 升级出循环
The one number
那唯一的数字

Run the weeks. Watch touchless climb, then plateau.

把周数跑下去,看零接触率爬升,然后到顶。

Fast-forward week after week and the cross-reference learning, vendor profiles, and drift detection compound — touchless creeps from the high-50s toward a ~85% plateau. The interesting part isn't the 85%; it's the stubborn 15%: which vendors and which exception classes keep eating the human queue.

一周一周快进,交叉引用学习、供应商档案、漂移侦测彼此叠加 —— 零接触率从 50 多爬向 ~85% 的平台。有意思的不是那 85%,而是顽固的 15%:哪些供应商、哪类例外,在持续吃掉人工队列。

90% 80% 70% 60% wk1 wk6 wk12 ~85% design target
~85%
touchless at steady state
稳态零接触处理率
~15%
to the human queue — the interesting part
进人工队列 —— 有意思的部分
≥5 days
drift triggers a master-data update proposal
漂移触发主数据更新提议
3
chases before a line escalates out
次跟催后订单行升级出循环
What's inside
里面有什么

Six working views over one engine.

一个引擎,六个工作视图。

📊

Overview

总览

Touchless trend, KPIs, and the auto-processing feed scrolling day by day as the clock advances.

零接触趋势、KPI,以及随时钟推进逐天滚动的自动处理流水。

Action Center

行动中心

The exceptions Metis won't decide alone: approve & execute, hold, or ignore — clear the reorder queue in one click.

agent 不敢做主的例外:批准并执行 / 搁置 / 忽略 —— 一键清空补货队列。

📋

PO Line Board

PO 行看板

Every in-flight line — state, reschedule trail, chase count. The planner's workbench.

在途每一行:状态、改期痕迹、跟催计数。计划员的工作台。

🏷️

Vendors

供应商

Ten scorecards — response speed, OTIF, promise accuracy, measured lead time vs master data (drift flagged red).

十张记分卡:响应速度、OTIF、承诺准确率、实测交期 vs 主数据(漂移标红)。

📬

Inbox

收件箱

Vendor mail and how Metis handled each; chase mail; paste one in by hand to test the parser.

供应商来信与 agent 的处理;跟催件;手工粘贴一封即可测解析器。

🔍

Audit

审计

AI extract → autonomy rule → your approval → AI execute, every step kept on the record.

AI 提取 → 自治规则 → 你审批 → AI 执行,全程留痕。

What this is — and isn't
它是什么 —— 不是什么

Metis is a research simulation on fully synthetic data — ten fictional vendors, two thousand generated SKUs, a deterministic world simulator. No live business data, no real company, no real vendor or person is involved or named. It's how I think about supply-chain planning with the tools off-hours: not "can AI do procurement," but "exactly which lines, and what's left over."

Metis 是一个跑在完全合成数据上的研究模拟 —— 十家虚构供应商、两千个生成的 SKU、一个确定性世界模拟器。没有任何真实业务数据、不涉及也不指名任何真实公司、供应商或个人。它是我用业余的工具去想供应链计划这件事的方式:不是"AI 能不能做采购",而是"到底是哪些行,以及剩下的是什么"。

And it's v1.0 — a framework model, deliberately coarse. The bones are in place: the line-level state machine, the autonomy split, the closed loop, the simulator. The fine grain isn't yet — richer per-vendor behaviour, more exception classes, real-mail ingestion. This is the skeleton you reason on, not the finished system.

而且它是 v1.0 —— 一个框架模型,刻意还粗。骨架已就位:行级状态机、自治分界、闭环、模拟器。细处还没补 —— 更丰富的逐供应商行为、更多例外类别、真实邮件接入。这是用来推演的骨架,不是成品系统。

Built solo, runs locally, reproduces from a seed. The point was never a finished product — it was a measurable question: where does autonomy stop, and why.

独立搭建,本地运行,种子可复现。目的从来不是一个成品 —— 而是一个可度量的问题:自治在哪里停下,以及为什么。

Node ≥ 22node:sqliteExpressStructured outputsLine-level state machineDeterministic simulatorWise Dark Dashboard